├── .gitattributes ├── MySSRF ├── WebContent │ ├── META-INF │ │ └── MANIFEST.MF │ ├── WEB-INF │ │ └── web.xml │ └── index.html └── src │ └── ssrf │ ├── MySSRF1.java │ ├── MySSRF12.java │ ├── MySSRF2.java │ └── MySSRF3.java ├── MyXXE ├── WebContent │ ├── META-INF │ │ └── MANIFEST.MF │ ├── WEB-INF │ │ ├── lib │ │ │ ├── dom4j-2.0.2.jar │ │ │ └── jdom-2.0.6.jar │ │ └── web.xml │ ├── css │ │ ├── bootstrap.min.css │ │ ├── demo.css │ │ ├── font.css │ │ ├── icon.css │ │ └── material-bootstrap-wizard.css │ ├── index.html │ ├── js │ │ ├── bootstrap.min.js │ │ ├── jquery-2.2.4.min.js │ │ ├── jquery.bootstrap.js │ │ ├── jquery.validate.min.js │ │ └── material-bootstrap-wizard.js │ ├── xxe0.html │ ├── xxe1.html │ ├── xxe12.html │ ├── xxe2.html │ ├── xxe22.html │ ├── xxe3.html │ ├── xxe32.html │ ├── xxe4.html │ └── xxe42.html └── src │ └── xxe │ ├── LoginServlet1.java │ ├── LoginServlet12.java │ ├── LoginServlet2.java │ ├── LoginServlet22.java │ ├── LoginServlet3.java │ ├── LoginServlet32.java │ ├── LoginServlet4.java │ └── LoginServlet42.java └── README.md /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=java 2 | *.css linguist-language=java 3 | *.html linguist-language=java 4 | -------------------------------------------------------------------------------- /MySSRF/WebContent/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Class-Path: 3 | 4 | -------------------------------------------------------------------------------- /MySSRF/WebContent/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | MySSRF 4 | 5 | index.html 6 | 7 | 8 | 9 | 10 | SSRFDemo1 11 | ssrf.MySSRF1 12 | 13 | 14 | SSRFDemo1 15 | /lltest/ssrf1 16 | 17 | 18 | 19 | 20 | SSRFDemo12 21 | ssrf.MySSRF12 22 | 23 | 24 | SSRFDemo12 25 | /lltest/ssrf12 26 | 27 | 28 | 29 | SSRFDemo2 30 | ssrf.MySSRF2 31 | 32 | 33 | SSRFDemo2 34 | /lltest/ssrf2 35 | 36 | 37 | 38 | 39 | SSRFDemo3 40 | ssrf.MySSRF3 41 | 42 | 43 | SSRFDemo3 44 | /lltest/ssrf3 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /MySSRF/WebContent/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ssrf test 5 | 6 | 7 | 1 ssrf HttpURLConnection
8 | 1.2 ssrf HttpURLConnection - sec
9 | 2 ssrf urlConnection
10 | 3 ssrf ImageIO
11 | 12 | 13 | -------------------------------------------------------------------------------- /MySSRF/src/ssrf/MySSRF1.java: -------------------------------------------------------------------------------- 1 | package ssrf; 2 | 3 | import javax.servlet.ServletException; 4 | import javax.servlet.http.HttpServlet; 5 | import javax.servlet.http.HttpServletRequest; 6 | import javax.servlet.http.HttpServletResponse; 7 | import java.io.*; 8 | import java.net.URL; 9 | import java.net.URLConnection; 10 | import java.net.HttpURLConnection; 11 | import java.io.PrintWriter; 12 | 13 | 14 | public class MySSRF1 extends HttpServlet{ 15 | 16 | //https://github.com/JoyChou93/java-sec-code/blob/master/src/main/java/org/joychou/controller/SSRF.java 17 | //urlConnection 18 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 19 | { 20 | try { 21 | //HttpURLConnection ssrf vul 22 | System.out.println("HttpURLConnection test"); 23 | String url = request.getParameter("url"); 24 | System.out.println("url:" + url); 25 | URL u = new URL(url); 26 | URLConnection urlConnection = u.openConnection(); 27 | HttpURLConnection httpUrl = (HttpURLConnection)urlConnection; //HttpURLConnection 28 | BufferedReader in = new BufferedReader(new InputStreamReader(httpUrl.getInputStream())); //send request 29 | String inputLine; 30 | StringBuffer html = new StringBuffer(); 31 | 32 | 33 | 34 | while ((inputLine = in.readLine()) != null) { 35 | html.append(inputLine); 36 | } 37 | System.out.println("html:" + html.toString()); 38 | in.close(); 39 | 40 | 41 | PrintWriter myout = response.getWriter(); 42 | myout.println("HttpURLConnection test"); 43 | myout.println("url:" + url ); 44 | myout.println("len:" + html.toString().length()); 45 | myout.println("text:" + html.toString()); 46 | myout.flush(); 47 | 48 | 49 | }catch(Exception e) { 50 | e.printStackTrace(); 51 | System.out.println("fail"); 52 | 53 | PrintWriter myout = response.getWriter(); 54 | myout.println("something is wrong"); 55 | myout.flush(); 56 | 57 | } 58 | } 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /MySSRF/src/ssrf/MySSRF12.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pplsec/JavaVul/580639f4a930434748eab3b99d95fc81b726029e/MySSRF/src/ssrf/MySSRF12.java -------------------------------------------------------------------------------- /MySSRF/src/ssrf/MySSRF2.java: -------------------------------------------------------------------------------- 1 | package ssrf; 2 | 3 | import javax.servlet.ServletException; 4 | import javax.servlet.http.HttpServlet; 5 | import javax.servlet.http.HttpServletRequest; 6 | import javax.servlet.http.HttpServletResponse; 7 | import java.io.*; 8 | import java.net.URL; 9 | import java.net.URLConnection; 10 | import java.io.PrintWriter; 11 | 12 | 13 | public class MySSRF2 extends HttpServlet{ 14 | 15 | //urlConnection 16 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 17 | { 18 | try { 19 | //urlConnection ssrf vul 20 | System.out.println("urlConnection test"); 21 | String url = request.getParameter("url"); 22 | System.out.println("url:" + url); 23 | URL u = new URL(url); 24 | URLConnection urlConnection = u.openConnection(); 25 | BufferedReader in = new BufferedReader(new InputStreamReader(urlConnection.getInputStream())); //send request 26 | String inputLine; 27 | StringBuffer html = new StringBuffer(); 28 | 29 | while ((inputLine = in.readLine()) != null) { 30 | html.append(inputLine); 31 | } 32 | System.out.println("html:" + html.toString()); 33 | in.close(); 34 | 35 | 36 | PrintWriter myout = response.getWriter(); 37 | myout.println("urlConnection test"); 38 | myout.println("url:" + url ); 39 | myout.println("len:" + html.toString().length()); 40 | myout.println("text:" + html.toString()); 41 | myout.flush(); 42 | 43 | 44 | }catch(Exception e) { 45 | e.printStackTrace(); 46 | System.out.println("fail"); 47 | 48 | PrintWriter myout = response.getWriter(); 49 | myout.println("something is wrong"); 50 | myout.flush(); 51 | 52 | } 53 | } 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /MySSRF/src/ssrf/MySSRF3.java: -------------------------------------------------------------------------------- 1 | package ssrf; 2 | 3 | import javax.imageio.ImageIO; 4 | import javax.servlet.ServletException; 5 | import javax.servlet.http.HttpServlet; 6 | import javax.servlet.http.HttpServletRequest; 7 | import javax.servlet.http.HttpServletResponse; 8 | 9 | import java.awt.image.BufferedImage; 10 | import java.io.*; 11 | import java.net.URL; 12 | import java.io.PrintWriter; 13 | 14 | 15 | public class MySSRF3 extends HttpServlet{ 16 | 17 | //urlConnection 18 | protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 19 | { 20 | try { 21 | // ImageIO ssrf vul 22 | System.out.println("ImageIO test"); 23 | String url = request.getParameter("url"); 24 | URL u = new URL(url); 25 | BufferedImage img = ImageIO.read(u); // send request 26 | System.out.println("Height:" + img.getHeight()); 27 | 28 | PrintWriter myout = response.getWriter(); 29 | myout.println("ImageIO test"); 30 | myout.println("url:" + url ); 31 | myout.println("Height:" + img.getHeight()); 32 | myout.println("Width:" + img.getWidth()); 33 | myout.flush(); 34 | 35 | 36 | 37 | }catch(Exception e) { 38 | e.printStackTrace(); 39 | System.out.println("fail"); 40 | 41 | PrintWriter myout = response.getWriter(); 42 | myout.println("something is wrong"); 43 | myout.flush(); 44 | 45 | } 46 | } 47 | } 48 | } 49 | -------------------------------------------------------------------------------- /MyXXE/WebContent/META-INF/MANIFEST.MF: -------------------------------------------------------------------------------- 1 | Manifest-Version: 1.0 2 | Class-Path: 3 | 4 | -------------------------------------------------------------------------------- /MyXXE/WebContent/WEB-INF/lib/dom4j-2.0.2.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pplsec/JavaVul/580639f4a930434748eab3b99d95fc81b726029e/MyXXE/WebContent/WEB-INF/lib/dom4j-2.0.2.jar -------------------------------------------------------------------------------- /MyXXE/WebContent/WEB-INF/lib/jdom-2.0.6.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pplsec/JavaVul/580639f4a930434748eab3b99d95fc81b726029e/MyXXE/WebContent/WEB-INF/lib/jdom-2.0.6.jar -------------------------------------------------------------------------------- /MyXXE/WebContent/WEB-INF/web.xml: -------------------------------------------------------------------------------- 1 | 2 | 6 | 7 | doLogin1 8 | xxe.LoginServlet1 9 | 10 | 11 | doLogin1 12 | /doLogin1 13 | 14 | 15 | 16 | 17 | doLogin12 18 | xxe.LoginServlet12 19 | 20 | 21 | doLogin12 22 | /doLogin12 23 | 24 | 25 | 26 | 27 | doLogin2 28 | xxe.LoginServlet2 29 | 30 | 31 | doLogin2 32 | /doLogin2 33 | 34 | 35 | 36 | doLogin22 37 | xxe.LoginServlet22 38 | 39 | 40 | doLogin22 41 | /doLogin22 42 | 43 | 44 | 45 | 46 | doLogin3 47 | xxe.LoginServlet3 48 | 49 | 50 | doLogin3 51 | /doLogin3 52 | 53 | 54 | 55 | doLogin32 56 | xxe.LoginServlet32 57 | 58 | 59 | doLogin32 60 | /doLogin32 61 | 62 | 63 | 64 | 65 | doLogin4 66 | xxe.LoginServlet4 67 | 68 | 69 | doLogin4 70 | /doLogin4 71 | 72 | 73 | 74 | doLogin42 75 | xxe.LoginServlet42 76 | 77 | 78 | doLogin42 79 | /doLogin42 80 | 81 | 82 | -------------------------------------------------------------------------------- /MyXXE/WebContent/css/demo.css: -------------------------------------------------------------------------------- 1 | .logo-container{ 2 | left: 50px; 3 | position: absolute; 4 | top: 20px; 5 | z-index: 3; 6 | } 7 | .logo-container .logo{ 8 | overflow: hidden; 9 | border-radius: 50%; 10 | border: 1px solid #333333; 11 | width: 60px; 12 | float: left; 13 | } 14 | .logo-container .brand{ 15 | font-size: 18px; 16 | color: #FFF; 17 | line-height: 20px; 18 | float: left; 19 | margin-left: 10px; 20 | margin-top: 10px; 21 | width: 60px 22 | } 23 | 24 | body{ 25 | background-color: #CCCCCC; 26 | } 27 | 28 | .section .wizard-card{ 29 | min-height: inherit; 30 | } 31 | 32 | .tim-row{ 33 | margin-bottom: 20px; 34 | } 35 | 36 | .tim-white-buttons { 37 | background-color: #777777; 38 | } 39 | .title{ 40 | margin-top: 30px; 41 | margin-bottom: 25px; 42 | min-height: 32px; 43 | font-weight: 500; 44 | } 45 | 46 | 47 | 48 | .title.text-center{ 49 | margin-bottom: 50px; 50 | } 51 | .tim-typo{ 52 | padding-left: 25%; 53 | margin-bottom: 40px; 54 | position: relative; 55 | } 56 | .tim-typo .tim-note{ 57 | bottom: 10px; 58 | color: #c0c1c2; 59 | display: block; 60 | font-weight: 400; 61 | font-size: 13px; 62 | line-height: 13px; 63 | left: 0; 64 | margin-left: 20px; 65 | position: absolute; 66 | width: 260px; 67 | } 68 | .tim-row{ 69 | padding-top: 50px; 70 | } 71 | .tim-row h3{ 72 | margin-top: 0; 73 | } 74 | .switch{ 75 | margin-right: 20px; 76 | } 77 | .copyrights{ 78 | text-indent:-9999px; 79 | height:0; 80 | line-height:0; 81 | font-size:0; 82 | overflow:hidden; 83 | } 84 | #navbar-full .navbar{ 85 | border-radius: 0 !important; 86 | margin-bottom: 15px; 87 | z-index: 2; 88 | } 89 | .space{ 90 | height: 130px; 91 | display: block; 92 | } 93 | .space-110{ 94 | height: 110px; 95 | display: block; 96 | } 97 | .space-50{ 98 | height: 50px; 99 | display: block; 100 | } 101 | .space-70{ 102 | height: 70px; 103 | display: block; 104 | } 105 | .navigation-example .img-src{ 106 | background-attachment: scroll; 107 | } 108 | 109 | .navigation-example{ 110 | background-image: url('../img/bg.jpg'); 111 | background-position: center center; 112 | background-size: cover; 113 | margin-top:0; 114 | min-height: 740px; 115 | } 116 | #notifications{ 117 | background-color: #FFFFFF; 118 | display: block; 119 | width: 100%; 120 | position: relative; 121 | } 122 | #notifications .alert-danger{ 123 | margin-bottom: 0px; 124 | } 125 | .tim-note{ 126 | text-transform: capitalize; 127 | } 128 | 129 | #buttons .btn{ 130 | margin: 0 0px 15px; 131 | } 132 | .space-100{ 133 | height: 100px; 134 | display: block; 135 | width: 100%; 136 | } 137 | 138 | .be-social{ 139 | padding-bottom: 20px; 140 | /* border-bottom: 1px solid #aaa; */ 141 | margin: 0 auto 40px; 142 | } 143 | .txt-white{ 144 | color: #FFFFFF; 145 | } 146 | .txt-gray{ 147 | color: #ddd !important; 148 | } 149 | 150 | 151 | .parallax{ 152 | width:100%; 153 | height:570px; 154 | 155 | display: block; 156 | background-attachment: fixed; 157 | background-repeat:no-repeat; 158 | background-size:cover; 159 | background-position: center center; 160 | 161 | } 162 | 163 | .logo-container.logo-documentation{ 164 | position: relative; 165 | top: 0; 166 | left: 0; 167 | } 168 | 169 | .logo-container .logo{ 170 | overflow: hidden; 171 | border-radius: 50%; 172 | border: 1px solid #333333; 173 | width: 50px; 174 | float: left; 175 | } 176 | 177 | .logo-container .brand{ 178 | font-size: 16px; 179 | line-height: 18px; 180 | float: left; 181 | margin-left: 10px; 182 | margin-top: 7px; 183 | width: 70px; 184 | height: 40px; 185 | text-align: left; 186 | } 187 | 188 | 189 | .navbar-default .logo-container .brand{ 190 | color: #999999; 191 | } 192 | .navbar-transparent .logo-container .brand{ 193 | color: #FFFFFF; 194 | } 195 | 196 | .logo-container .brand-material{ 197 | font-size: 18px; 198 | margin-top: 15px; 199 | height: 25px; 200 | width: auto; 201 | } 202 | 203 | .logo-container .logo img{ 204 | width: 100%; 205 | } 206 | .navbar-small .logo-container .brand{ 207 | color: #333333; 208 | } 209 | 210 | .fixed-section{ 211 | top: 90px; 212 | max-height: 80vh; 213 | overflow: scroll; 214 | } 215 | .fixed-section ul li{ 216 | list-style: none; 217 | } 218 | .fixed-section li a{ 219 | font-size: 14px; 220 | padding: 2px; 221 | display: block; 222 | color: #666666; 223 | } 224 | .fixed-section li a.active{ 225 | color: #00bbff; 226 | } 227 | .fixed-section.float{ 228 | position: fixed; 229 | top: 100px; 230 | width: 200px; 231 | margin-top: 0; 232 | } 233 | 234 | 235 | .parallax .parallax-image{ 236 | width: 100%; 237 | overflow: hidden; 238 | position: absolute; 239 | } 240 | .parallax .parallax-image img{ 241 | width: 100%; 242 | } 243 | 244 | @media (max-width: 768px){ 245 | .parallax .parallax-image{ 246 | width: 100%; 247 | height: 640px; 248 | overflow: hidden; 249 | } 250 | .parallax .parallax-image img{ 251 | height: 100%; 252 | width: auto; 253 | } 254 | } 255 | 256 | .separator{ 257 | content: "Separator"; 258 | color: #FFFFFF; 259 | display: block; 260 | width: 100%; 261 | padding: 20px; 262 | } 263 | .separator-line{ 264 | background-color: #EEE; 265 | height: 1px; 266 | width: 100%; 267 | display: block; 268 | } 269 | .separator.separator-gray{ 270 | background-color: #EEEEEE; 271 | } 272 | .social-buttons-demo .btn{ 273 | margin-right: 5px; 274 | margin-bottom: 7px; 275 | } 276 | 277 | .img-container{ 278 | width: 100%; 279 | overflow: hidden; 280 | } 281 | .img-container img{ 282 | width: 100%; 283 | } 284 | 285 | .lightbox img{ 286 | width: 100%; 287 | } 288 | .lightbox .modal-content{ 289 | overflow: hidden; 290 | } 291 | .lightbox .modal-body{ 292 | padding: 0; 293 | } 294 | @media screen and (min-width: 991px){ 295 | .lightbox .modal-dialog{ 296 | width: 960px; 297 | } 298 | } 299 | 300 | @media (max-width: 768px){ 301 | .btn, .btn-morphing{ 302 | margin-bottom: 10px; 303 | } 304 | .parallax .motto{ 305 | top: 170px; 306 | margin-top: 0; 307 | font-size: 60px; 308 | width: 270px; 309 | } 310 | } 311 | 312 | /* Loading dots */ 313 | 314 | /* transitions */ 315 | .presentation .front, .presentation .front:after, .presentation .front .btn, .logo-container .logo, .logo-container .brand{ 316 | -webkit-transition: all .2s; 317 | -moz-transition: all .2s; 318 | -o-transition: all .2s; 319 | transition: all .2s; 320 | } 321 | 322 | 323 | #images h4{ 324 | margin-bottom: 30px; 325 | } 326 | #javascriptComponents{ 327 | padding-bottom: 0; 328 | } 329 | #javascriptComponents .btn-raised{ 330 | margin: 10px 5px; 331 | } 332 | 333 | 334 | /* layer animation */ 335 | 336 | .layers-container{ 337 | display: block; 338 | margin-top: 50px; 339 | position: relative; 340 | } 341 | .layers-container img { 342 | position: absolute; 343 | width: 100%; 344 | height: auto; 345 | top: 0; 346 | left: 0; 347 | text-align: center; 348 | } 349 | 350 | .section-black { 351 | background-color: #333; 352 | } 353 | 354 | .animate { 355 | transition: 1.5s ease-in-out; 356 | -moz-transition: 1.5s ease-in-out; 357 | -webkit-transition: 1.5s ease-in-out; 358 | } 359 | 360 | .navbar-default.navbar-small .logo-container .brand{ 361 | color: #333333; 362 | } 363 | .navbar-transparent.navbar-small .logo-container .brand{ 364 | color: #FFFFFF; 365 | } 366 | .navbar-default.navbar-small .logo-container .brand{ 367 | color: #333333; 368 | } 369 | 370 | .sharing-area{ 371 | margin-top: 80px; 372 | } 373 | .sharing-area .btn{ 374 | margin: 15px 4px 0; 375 | color: #FFFFFF; 376 | } 377 | .sharing-area .btn i{ 378 | font-size: 18px; 379 | position: relative; 380 | top: 2px; 381 | margin-right: 5px; 382 | } 383 | .sharing-area .btn-twitter{ 384 | background-color: #55acee; 385 | } 386 | .sharing-area .btn-facebook{ 387 | background-color: #3b5998; 388 | } 389 | .sharing-area .btn-google-plus{ 390 | background-color: #dd4b39; 391 | } 392 | .sharing-area .btn-github{ 393 | background-color: #333333; 394 | } 395 | .section-thin, 396 | .section-notifications{ 397 | padding: 0; 398 | } 399 | .section-navbars{ 400 | padding-top: 0; 401 | } 402 | #navbar .navbar{ 403 | border-radius: 0; 404 | } 405 | .section-tabs{ 406 | background: #EEEEEE; 407 | } 408 | .section-pagination{ 409 | padding-bottom: 0; 410 | } 411 | .section-download h4{ 412 | margin-bottom: 50px; 413 | } 414 | .section-examples a{ 415 | text-decoration: none; 416 | } 417 | .section-examples h5{ 418 | margin-top: 30px; 419 | } 420 | .components-page .wrapper > .header, 421 | .tutorial-page .wrapper > .header{ 422 | height: 400px; 423 | padding-top: 100px; 424 | background-size: cover; 425 | background-position: center center; 426 | } 427 | .components-page .title, 428 | .tutorial-page .title{ 429 | color: #FFFFFF; 430 | } 431 | 432 | .main { 433 | background: #FFFFFF; 434 | position: relative; 435 | z-index: 3; 436 | } 437 | 438 | .main-raised { 439 | margin: -60px 30px 0px; 440 | border-radius: 6px; 441 | box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); 442 | } 443 | 444 | .header-filter { 445 | position: relative; 446 | } 447 | .header-filter:before, .header-filter:after { 448 | position: absolute; 449 | z-index: 1; 450 | width: 100%; 451 | height: 100%; 452 | display: block; 453 | left: 0; 454 | top: 0; 455 | content: ""; 456 | } 457 | .header-filter::before { 458 | background-color: rgba(0, 0, 0, 0.4); 459 | } 460 | .header-filter .container { 461 | z-index: 2; 462 | position: relative; 463 | } 464 | 465 | .section { 466 | padding: 70px 0; 467 | background-position: center center; 468 | background-size: cover; 469 | } 470 | 471 | 472 | 473 | .navbar { 474 | border: 0; 475 | border-radius: 3px; 476 | box-shadow: 0 10px 20px -12px rgba(0, 0, 0, 0.42), 0 3px 20px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); 477 | padding: 10px 0; 478 | 479 | -webkit-transition: all 150ms ease 0s; 480 | -moz-transition: all 150ms ease 0s; 481 | -o-transition: all 150ms ease 0s; 482 | -ms-transition: all 150ms ease 0s; 483 | transition: all 150ms ease 0s; 484 | } 485 | .navbar .navbar-brand { 486 | position: relative; 487 | height: 50px; 488 | line-height: 30px; 489 | color: inherit; 490 | padding: 10px 15px; 491 | } 492 | .navbar .navbar-brand:hover, .navbar .navbar-brand:focus { 493 | color: inherit; 494 | background-color: transparent; 495 | } 496 | 497 | .navbar.navbar-transparent { 498 | background-color: transparent; 499 | box-shadow: none; 500 | color: #fff; 501 | padding-top: 25px; 502 | } 503 | 504 | .navbar-fixed-top { 505 | border-radius: 0; 506 | } 507 | 508 | .navbar .navbar-nav > li > a .material-icons, 509 | .navbar .navbar-nav > li > a .fa { 510 | font-size: 20px; 511 | max-width: 20px; 512 | } 513 | .navbar .navbar-nav > li > a:hover, 514 | .navbar .navbar-nav > li > a:focus { 515 | color: inherit; 516 | background-color: transparent; 517 | } 518 | 519 | .navbar .navbar-nav > li > a:not(.btn) .material-icons { 520 | margin-top: -3px; 521 | top: 0px; 522 | position: relative; 523 | margin-right: 3px; 524 | } 525 | 526 | .navbar, .navbar.navbar-default { 527 | background-color: #9c27b0; 528 | color: #FFFFFF; 529 | } 530 | 531 | .navbar .navbar-nav > li > a { 532 | color: inherit; 533 | padding-top: 15px; 534 | padding-bottom: 15px; 535 | font-weight: 400; 536 | font-size: 12px; 537 | text-transform: uppercase; 538 | border-radius: 3px; 539 | } 540 | @media (max-width: 1199px) { 541 | 542 | .navbar .navbar-brand { 543 | height: 50px; 544 | padding: 10px 15px; 545 | } 546 | .navbar .navbar-nav > li > a { 547 | padding-top: 15px; 548 | padding-bottom: 15px; 549 | } 550 | } 551 | 552 | footer { 553 | padding: 15px 0; 554 | text-align: center; 555 | 556 | } 557 | .footer a{ 558 | font-weight: bold; 559 | } 560 | 561 | footer.footer-documentation{ 562 | margin-top: 0; 563 | bottom: 0; 564 | text-shadow: none; 565 | color: inherit; 566 | } 567 | 568 | footer.footer-documentation li a{ 569 | color: inherit; 570 | } 571 | 572 | footer.footer-documentation li a:hover, 573 | footer.footer-documentation li a:focus{ 574 | color: #89229b; 575 | } 576 | 577 | footer ul { 578 | margin-bottom: 0; 579 | padding: 0; 580 | list-style: none; 581 | } 582 | footer ul li { 583 | display: inline-block; 584 | } 585 | footer ul li a { 586 | color: inherit; 587 | padding: 15px; 588 | font-weight: 500; 589 | font-size: 12px; 590 | text-transform: uppercase; 591 | border-radius: 3px; 592 | text-decoration: none; 593 | position: relative; 594 | display: block; 595 | } 596 | footer ul li a:hover { 597 | text-decoration: none; 598 | } 599 | footer ul li .btn { 600 | margin: 0; 601 | } 602 | footer ul.links-horizontal:first-child a { 603 | padding-left: 0; 604 | } 605 | footer ul.links-horizontal:last-child a { 606 | padding-right: 0; 607 | } 608 | footer ul.links-vertical li { 609 | display: block; 610 | } 611 | footer ul.links-vertical li a { 612 | padding: 5px 0; 613 | } 614 | footer .social-buttons a, 615 | footer .social-buttons .btn { 616 | margin-top: 5px; 617 | margin-bottom: 5px; 618 | } 619 | footer .footer-brand { 620 | float: left; 621 | height: 50px; 622 | padding: 15px 15px; 623 | font-size: 18px; 624 | line-height: 20px; 625 | margin-left: -15px; 626 | } 627 | footer .footer-brand:hover, footer .footer-brand:focus { 628 | color: #3C4858; 629 | } 630 | footer .copyright { 631 | padding: 15px 0; 632 | text-align: center; 633 | } 634 | footer .copyright .material-icons { 635 | font-size: 18px; 636 | position: relative; 637 | top: 3px; 638 | } 639 | footer .pull-center { 640 | display: inline-block; 641 | float: none; 642 | } 643 | 644 | @media (max-width: 768px) { 645 | .footer .copyright { 646 | display: inline-block; 647 | text-align: center; 648 | padding: 10px 0; 649 | float: none !important; 650 | width: 100%; 651 | } 652 | 653 | .navbar.navbar-transparent { 654 | background-color: rgba(0, 0, 0, 0.4); 655 | padding-top: 10px; 656 | border-radius: 0; 657 | } 658 | 659 | .main-raised { 660 | margin-left: 10px; 661 | margin-right: 10px; 662 | } 663 | } 664 | -------------------------------------------------------------------------------- /MyXXE/WebContent/css/font.css: -------------------------------------------------------------------------------- 1 | 2 | @font-face {font-family: "iconfont"; 3 | src: url('//at.alicdn.com/t/font_566036_189jqg1gbohfflxr.eot?t=1517926461910'); /* IE9*/ 4 | src: url('//at.alicdn.com/t/font_566036_189jqg1gbohfflxr.eot?t=1517926461910#iefix') format('embedded-opentype'), /* IE6-IE8 */ 5 | url('data:application/x-font-woff;charset=utf-8;base64,d09GRgABAAAAAAXUAAsAAAAACFwAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABHU1VCAAABCAAAADMAAABCsP6z7U9TLzIAAAE8AAAARAAAAFZW7kggY21hcAAAAYAAAABlAAABnM8LapNnbHlmAAAB6AAAAe8AAAIkfsWBm2hlYWQAAAPYAAAALwAAADYQXvaJaGhlYQAABAgAAAAcAAAAJAfeA4VobXR4AAAEJAAAABAAAAAQD+kAAGxvY2EAAAQ0AAAACgAAAAoBiADEbWF4cAAABEAAAAAfAAAAIAETAF1uYW1lAAAEYAAAAUUAAAJtPlT+fXBvc3QAAAWoAAAAKgAAADtO+ggHeJxjYGRgYOBikGPQYWB0cfMJYeBgYGGAAJAMY05meiJQDMoDyrGAaQ4gZoOIAgCKIwNPAHicY2Bk/sU4gYGVgYOpk+kMAwNDP4RmfM1gxMjBwMDEwMrMgBUEpLmmMDgwVDwzYW7438AQw9zA0AAUZgTJAQAn3gyieJzFkMENwCAMA51CK1R1Ct59og7UV0dg4qxBncCHCTC6kFiWggCwAwjkJhGQDwLTS1fcDzjdj3g4J56Nd9WspbWpM4knknfBknJgmWTd6lmX1zIm++864BM1d8zX0sH2A991EMsAAAB4nDXQT2sTQRgG8Hlmsn8Sk93uTjabbLpJNrG70bVR003ipiS9eLFYiJQexFNP4kERPBRUNCCCiAdzFwQb8OjRS5UI+hlM0IOin8FbVycUZ15434H38HuGSIT8/cmOWJFw0iQXyWUyIgRyiLpGXXhB1KIhLE+y7LzGgkbgKY16iw1g1+V8od2NfFtWZB0aKtjw2t2gRQN0oiHdRLvgAqWys2uurZrsJTLFoPI02aZvYFUbq/pwPblybivfrnH1IGuaJdN8ocqSpFKa0jXctgtpKZ2Rk6mkO9ZR9QytIlsKnKvXc7Wyuf8suuOu2WlgPAYv17S3W4ZjiHroFLhZUlZyatHJNU7ncfD7VJFnXf8XESclsh6zxzQhKjGIS9ZF0rxc96NuuyD9H5gGpQJ7iF4LrIWg07OD5a2KjHjCXS4Kg5P+aTqXpPn0cJFKLQ4nM7Z7/+xn67v/GqkZ+s0oGkVR86ThldiYLvfE9vEFNptknm/feHRrf3RXn8yEjQrbB3aT7QnXeeHy/G6vAsXu0kCm9oZAGULlCZYhXNZSO4DgDcU/ixdDci+1Mn5QVfYym++/1GQ17AP9EPMwBuI/AqubgB8HJhaXfhjpjxo4KHeTrx3EYfIujCmNQ1wL4+Tbjsa5tpOucNf3XV75B4awZxYAeJxjYGRgYABipxW+C+P5bb4ycLMwgMC1+TdtEfT/vSwMzKFALgcDE0gUADKhCsEAeJxjYGRgYG7438AQw8IAAkCSkQEVsAAARwoCbQQAAAAD6QAABAAAAAQAAAAAAAAAAHYAxAESAAB4nGNgZGBgYGEIZGBlAAEmIOYCQgaG/2A+AwAREgFxAHicZY9NTsMwEIVf+gekEqqoYIfkBWIBKP0Rq25YVGr3XXTfpk6bKokjx63UA3AejsAJOALcgDvwSCebNpbH37x5Y08A3OAHHo7fLfeRPVwyO3INF7gXrlN/EG6QX4SbaONVuEX9TdjHM6bCbXRheYPXuGL2hHdhDx18CNdwjU/hOvUv4Qb5W7iJO/wKt9Dx6sI+5l5XuI1HL/bHVi+cXqnlQcWhySKTOb+CmV7vkoWt0uqca1vEJlODoF9JU51pW91T7NdD5yIVWZOqCas6SYzKrdnq0AUb5/JRrxeJHoQm5Vhj/rbGAo5xBYUlDowxQhhkiMro6DtVZvSvsUPCXntWPc3ndFsU1P9zhQEC9M9cU7qy0nk6T4E9XxtSdXQrbsuelDSRXs1JErJCXta2VELqATZlV44RelzRiT8oZ0j/AAlabsgAAAB4nGNgYoAALgbsgIWRiZGZkYWRlYGxgi0zOT/P2IAlNzM3kYEBACnOBFYAAA==') format('woff'), 6 | url('//at.alicdn.com/t/font_566036_189jqg1gbohfflxr.ttf?t=1517926461910') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/ 7 | url('//at.alicdn.com/t/font_566036_189jqg1gbohfflxr.svg?t=1517926461910#iconfont') format('svg'); /* iOS 4.1- */ 8 | } 9 | 10 | .iconfont { 11 | font-family:"iconfont" !important; 12 | font-size:16px; 13 | font-style:normal; 14 | -webkit-font-smoothing: antialiased; 15 | -moz-osx-font-smoothing: grayscale; 16 | } 17 | 18 | .icon-icon30:before { content: "\e634"; } 19 | 20 | .icon-mima:before { content: "\e622"; } 21 | 22 | -------------------------------------------------------------------------------- /MyXXE/WebContent/css/icon.css: -------------------------------------------------------------------------------- 1 | @font-face { 2 | font-family: 'Material Icons'; 3 | font-style: normal; 4 | font-weight: 400; 5 | src: url(https://fonts.gstatic.com/s/materialicons/v36/2fcrYFNaTjcS6g4U3t-Y5SQZRqoBW5Q4K_a7BOZJO20.eot); 6 | } 7 | @font-face { 8 | font-family: 'Roboto'; 9 | font-style: normal; 10 | font-weight: 400; 11 | src: url(https://fonts.gstatic.com/s/roboto/v18/5YB-ifwqHP20Yn46l_BDhA.eot); 12 | } 13 | @font-face { 14 | font-family: 'Roboto Slab'; 15 | font-style: normal; 16 | font-weight: 400; 17 | src: url(https://fonts.gstatic.com/s/robotoslab/v7/y7lebkjgREBJK96VQi37ZmfQcKutQXcIrRfyR5jdjY8.eot); 18 | } 19 | 20 | .material-icons { 21 | font-family: 'Material Icons'; 22 | font-weight: normal; 23 | font-style: normal; 24 | font-size: 24px; 25 | line-height: 1; 26 | letter-spacing: normal; 27 | text-transform: none; 28 | display: inline-block; 29 | white-space: nowrap; 30 | word-wrap: normal; 31 | direction: ltr; 32 | } 33 | -------------------------------------------------------------------------------- /MyXXE/WebContent/css/material-bootstrap-wizard.css: -------------------------------------------------------------------------------- 1 | /*! 2 | 3 | ========================================================= 4 | * Material Bootstrap Wizard - v1.0.2 5 | ========================================================= 6 | 7 | * Product Page: https://www.creative-tim.com/product/material-bootstrap-wizard 8 | * Copyright 2017 Creative Tim (#) 9 | * Licensed under MIT (https://github.com/creativetimofficial/material-bootstrap-wizard/blob/master/LICENSE.md) 10 | 11 | ========================================================= 12 | 13 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 14 | */ 15 | 16 | 17 | body { 18 | background-color: #E5E5E5; 19 | color: #3C4858; 20 | } 21 | body.inverse { 22 | background: #333333; 23 | } 24 | body.inverse, body.inverse .form-control { 25 | color: #ffffff; 26 | } 27 | body.inverse .modal, 28 | body.inverse .modal .form-control, 29 | body.inverse .panel-default, 30 | body.inverse .panel-default .form-control, 31 | body.inverse .card, 32 | body.inverse .card .form-control { 33 | background-color: initial; 34 | color: initial; 35 | } 36 | 37 | blockquote p { 38 | font-style: italic; 39 | } 40 | 41 | .life-of-material-kit { 42 | background: #FFFFFF; 43 | } 44 | 45 | body, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 { 46 | font-family: "Roboto", "Helvetica", "Arial", sans-serif; 47 | font-weight: 300; 48 | line-height: 1.5em; 49 | } 50 | 51 | .serif-font { 52 | font-family: "Roboto Slab", "Times New Roman", serif; 53 | } 54 | 55 | a { 56 | color: #9c27b0; 57 | } 58 | a:hover, a:focus { 59 | color: #89229b; 60 | text-decoration: none; 61 | } 62 | a.text-info:hover, a.text-info:focus { 63 | color: #00a5bb; 64 | } 65 | a .material-icons { 66 | vertical-align: middle; 67 | } 68 | 69 | legend { 70 | border-bottom: 0; 71 | } 72 | 73 | * { 74 | -webkit-tap-highlight-color: rgba(255, 255, 255, 0); 75 | -webkit-tap-highlight-color: transparent; 76 | } 77 | *:focus { 78 | outline: 0; 79 | } 80 | 81 | a:focus, a:active, 82 | button:active, button:focus, button:hover, 83 | button::-moz-focus-inner, 84 | input[type="reset"]::-moz-focus-inner, 85 | input[type="button"]::-moz-focus-inner, 86 | input[type="submit"]::-moz-focus-inner, 87 | select::-moz-focus-inner, 88 | input[type="file"] > input[type="button"]::-moz-focus-inner { 89 | outline: 0 !important; 90 | } 91 | 92 | .image-container { 93 | min-height: 100vh; 94 | background-position: center center; 95 | background-size: cover; 96 | position: relative; 97 | } 98 | .image-container:before { 99 | content: ""; 100 | display: block; 101 | position: absolute; 102 | left: 0; 103 | top: 0; 104 | width: 100%; 105 | height: 100%; 106 | background: #000000; 107 | opacity: .3; 108 | } 109 | 110 | .made-with-mk { 111 | width: 50px; 112 | height: 50px; 113 | display: block; 114 | position: fixed; 115 | z-index: 555; 116 | bottom: 40px; 117 | right: 40px; 118 | border-radius: 30px; 119 | background-color: rgba(16, 16, 16, 0.35); 120 | border: 1px solid rgba(255, 255, 255, 0.15); 121 | color: #FFFFFF; 122 | cursor: pointer; 123 | padding: 10px 12px; 124 | white-space: nowrap; 125 | overflow: hidden; 126 | -webkit-transition: 0.55s cubic-bezier(0.6, 0, 0.4, 1); 127 | -moz-transition: 0.55s cubic-bezier(0.6, 0, 0.4, 1); 128 | -o-transition: 0.55s cubic-bezier(0.6, 0, 0.4, 1); 129 | transition: 0.55s cubic-bezier(0.6, 0, 0.4, 1); 130 | } 131 | .made-with-mk:hover, .made-with-mk:active, .made-with-mk:focus { 132 | width: 218px; 133 | color: #FFFFFF; 134 | transition-duration: .55s; 135 | padding: 10px 19px; 136 | } 137 | .made-with-mk:hover .made-with, .made-with-mk:active .made-with, .made-with-mk:focus .made-with { 138 | opacity: 1; 139 | } 140 | .made-with-mk:hover .brand, .made-with-mk:active .brand, .made-with-mk:focus .brand { 141 | left: 0; 142 | } 143 | .made-with-mk .brand, 144 | .made-with-mk .made-with { 145 | float: left; 146 | } 147 | .made-with-mk .brand { 148 | position: relative; 149 | top: 4px; 150 | left: -1px; 151 | letter-spacing: 1px; 152 | vertical-align: middle; 153 | font-size: 16px; 154 | font-weight: 600; 155 | } 156 | .made-with-mk .made-with { 157 | color: rgba(255, 255, 255, 0.6); 158 | position: absolute; 159 | left: 58px; 160 | top: 14px; 161 | opacity: 0; 162 | margin: 0; 163 | -webkit-transition: 0.55s cubic-bezier(0.6, 0, 0.4, 1); 164 | -moz-transition: 0.55s cubic-bezier(0.6, 0, 0.4, 1); 165 | -o-transition: 0.55s cubic-bezier(0.6, 0, 0.4, 1); 166 | transition: 0.55s cubic-bezier(0.6, 0, 0.4, 1); 167 | } 168 | .made-with-mk .made-with strong { 169 | font-weight: 400; 170 | color: rgba(255, 255, 255, 0.9); 171 | } 172 | 173 | .wizard-container { 174 | padding-top: 100px; 175 | z-index: 3; 176 | } 177 | .wizard-container .wizard-navigation { 178 | position: relative; 179 | } 180 | 181 | h1, .h1 { 182 | font-size: 3.8em; 183 | line-height: 1.15em; 184 | } 185 | 186 | h2, .h2 { 187 | font-size: 2.6em; 188 | } 189 | 190 | h3, .h3 { 191 | font-size: 1.825em; 192 | line-height: 1.4em; 193 | margin: 20px 0 10px; 194 | } 195 | 196 | h4, .h4 { 197 | font-size: 1.3em; 198 | line-height: 1.4em; 199 | } 200 | 201 | h5, .h5 { 202 | font-size: 1.25em; 203 | line-height: 1.4em; 204 | margin-bottom: 15px; 205 | } 206 | 207 | h6, .h6 { 208 | font-size: 0.9em; 209 | text-transform: uppercase; 210 | } 211 | 212 | .title, 213 | .card-title, 214 | .wizard-title { 215 | font-weight: 700; 216 | } 217 | .title, 218 | .title a, 219 | .card-title, 220 | .card-title a, 221 | .wizard-title, 222 | .wizard-title a { 223 | color: #3C4858; 224 | text-decoration: none; 225 | } 226 | 227 | h2.title { 228 | margin-bottom: 30px; 229 | } 230 | 231 | .description, 232 | .card-description, 233 | .footer-big p { 234 | color: #999999; 235 | } 236 | 237 | .text-warning { 238 | color: #ff9800; 239 | } 240 | 241 | .text-primary { 242 | color: #9c27b0; 243 | } 244 | 245 | .text-danger { 246 | color: #f44336; 247 | } 248 | 249 | .text-success { 250 | color: #4caf50; 251 | } 252 | 253 | .text-info { 254 | color: #00bcd4; 255 | } 256 | 257 | .card { 258 | background-color: #FFFFFF; 259 | padding: 10px 0; 260 | width: 100%; 261 | border-radius: 6px; 262 | color: rgba(0,0,0, 0.87); 263 | background: #fff; 264 | } 265 | 266 | .wizard-card { 267 | min-height: 410px; 268 | box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); 269 | } 270 | .wizard-card .picture-container { 271 | position: relative; 272 | cursor: pointer; 273 | text-align: center; 274 | } 275 | .wizard-card .picture { 276 | width: 106px; 277 | height: 106px; 278 | background-color: #999999; 279 | border: 4px solid #CCCCCC; 280 | color: #FFFFFF; 281 | border-radius: 50%; 282 | margin: 5px auto; 283 | overflow: hidden; 284 | transition: all 0.2s; 285 | -webkit-transition: all 0.2s; 286 | } 287 | .wizard-card .picture:hover { 288 | border-color: #2ca8ff; 289 | } 290 | .wizard-card .moving-tab { 291 | position: absolute; 292 | text-align: center; 293 | padding: 12px; 294 | font-size: 12px; 295 | text-transform: uppercase; 296 | -webkit-font-smoothing: subpixel-antialiased; 297 | top: -4px; 298 | left: 0px; 299 | border-radius: 4px; 300 | color: #FFFFFF; 301 | cursor: pointer; 302 | font-weight: 500; 303 | } 304 | .wizard-card[data-color="purple"] .moving-tab { 305 | background-color: #9c27b0; 306 | box-shadow: 0 16px 26px -10px rgba(156, 39, 176, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(156, 39, 176, 0.2); 307 | } 308 | .wizard-card[data-color="purple"] .picture:hover { 309 | border-color: #9c27b0; 310 | } 311 | .wizard-card[data-color="purple"] .choice:hover .icon, .wizard-card[data-color="purple"] .choice.active .icon { 312 | border-color: #9c27b0; 313 | color: #9c27b0; 314 | } 315 | .wizard-card[data-color="purple"] .form-group .form-control { 316 | background-image: linear-gradient(#9c27b0, #9c27b0), linear-gradient(#D2D2D2, #D2D2D2); 317 | } 318 | .wizard-card[data-color="purple"] .checkbox input[type=checkbox]:checked + .checkbox-material .check { 319 | background-color: #9c27b0; 320 | } 321 | .wizard-card[data-color="purple"] .radio input[type=radio]:checked ~ .check { 322 | background-color: #9c27b0; 323 | } 324 | .wizard-card[data-color="purple"] .radio input[type=radio]:checked ~ .circle { 325 | border-color: #9c27b0; 326 | } 327 | .wizard-card[data-color="green"] .moving-tab { 328 | background-color: #4caf50; 329 | box-shadow: 0 16px 26px -10px rgba(76, 175, 80, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(76, 175, 80, 0.2); 330 | } 331 | .wizard-card[data-color="green"] .picture:hover { 332 | border-color: #4caf50; 333 | } 334 | .wizard-card[data-color="green"] .choice:hover .icon, .wizard-card[data-color="green"] .choice.active .icon { 335 | border-color: #4caf50; 336 | color: #4caf50; 337 | } 338 | .wizard-card[data-color="green"] .form-group .form-control { 339 | background-image: linear-gradient(#4caf50, #4caf50), linear-gradient(#D2D2D2, #D2D2D2); 340 | } 341 | .wizard-card[data-color="green"] .checkbox input[type=checkbox]:checked + .checkbox-material .check { 342 | background-color: #4caf50; 343 | } 344 | .wizard-card[data-color="green"] .radio input[type=radio]:checked ~ .check { 345 | background-color: #4caf50; 346 | } 347 | .wizard-card[data-color="green"] .radio input[type=radio]:checked ~ .circle { 348 | border-color: #4caf50; 349 | } 350 | .wizard-card[data-color="blue"] .moving-tab { 351 | background-color: #00bcd4; 352 | box-shadow: 0 16px 26px -10px rgba(0, 188, 212, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 188, 212, 0.2); 353 | } 354 | .wizard-card[data-color="blue"] .picture:hover { 355 | border-color: #00bcd4; 356 | } 357 | .wizard-card[data-color="blue"] .choice:hover .icon, .wizard-card[data-color="blue"] .choice.active .icon { 358 | border-color: #00bcd4; 359 | color: #00bcd4; 360 | } 361 | .wizard-card[data-color="blue"] .form-group .form-control { 362 | background-image: linear-gradient(#00bcd4, #00bcd4), linear-gradient(#D2D2D2, #D2D2D2); 363 | } 364 | .wizard-card[data-color="blue"] .checkbox input[type=checkbox]:checked + .checkbox-material .check { 365 | background-color: #00bcd4; 366 | } 367 | .wizard-card[data-color="blue"] .radio input[type=radio]:checked ~ .check { 368 | background-color: #00bcd4; 369 | } 370 | .wizard-card[data-color="blue"] .radio input[type=radio]:checked ~ .circle { 371 | border-color: #00bcd4; 372 | } 373 | .wizard-card[data-color="orange"] .moving-tab { 374 | background-color: #ff9800; 375 | box-shadow: 0 16px 26px -10px rgba(255, 152, 0, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 152, 0, 0.2); 376 | } 377 | .wizard-card[data-color="orange"] .picture:hover { 378 | border-color: #ff9800; 379 | } 380 | .wizard-card[data-color="orange"] .choice:hover .icon, .wizard-card[data-color="orange"] .choice.active .icon { 381 | border-color: #ff9800; 382 | color: #ff9800; 383 | } 384 | .wizard-card[data-color="orange"] .form-group .form-control { 385 | background-image: linear-gradient(#ff9800, #ff9800), linear-gradient(#D2D2D2, #D2D2D2); 386 | } 387 | .wizard-card[data-color="orange"] .checkbox input[type=checkbox]:checked + .checkbox-material .check { 388 | background-color: #ff9800; 389 | } 390 | .wizard-card[data-color="orange"] .radio input[type=radio]:checked ~ .check { 391 | background-color: #ff9800; 392 | } 393 | .wizard-card[data-color="orange"] .radio input[type=radio]:checked ~ .circle { 394 | border-color: #ff9800; 395 | } 396 | .wizard-card[data-color="red"] .moving-tab { 397 | background-color: #f44336; 398 | box-shadow: 0 16px 26px -10px rgba(244, 67, 54, 0.56), 0 4px 25px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(244, 67, 54, 0.2); 399 | } 400 | .wizard-card[data-color="red"] .picture:hover { 401 | border-color: #f44336; 402 | } 403 | .wizard-card[data-color="red"] .choice:hover .icon, .wizard-card[data-color="red"] .choice.active .icon { 404 | border-color: #f44336; 405 | color: #f44336; 406 | } 407 | .wizard-card[data-color="red"] .form-group .form-control { 408 | background-image: linear-gradient(#f44336, #f44336), linear-gradient(#D2D2D2, #D2D2D2); 409 | } 410 | .wizard-card[data-color="red"] .checkbox input[type=checkbox]:checked + .checkbox-material .check { 411 | background-color: #f44336; 412 | } 413 | .wizard-card[data-color="red"] .radio input[type=radio]:checked ~ .check { 414 | background-color: #f44336; 415 | } 416 | .wizard-card[data-color="red"] .radio input[type=radio]:checked ~ .circle { 417 | border-color: #f44336; 418 | } 419 | .wizard-card .picture input[type="file"] { 420 | cursor: pointer; 421 | display: block; 422 | height: 100%; 423 | left: 0; 424 | opacity: 0 !important; 425 | position: absolute; 426 | top: 0; 427 | width: 100%; 428 | } 429 | .wizard-card .picture-src { 430 | width: 100%; 431 | } 432 | .wizard-card .tab-content { 433 | /*min-height: 340px;*/ 434 | padding: 20px 15px; 435 | } 436 | .wizard-card .wizard-footer { 437 | padding: 0 15px; 438 | } 439 | .wizard-card .wizard-footer .checkbox { 440 | margin-top: 16px; 441 | } 442 | .wizard-card .disabled { 443 | display: none; 444 | } 445 | .wizard-card .wizard-header { 446 | text-align: center; 447 | padding: 25px 0 35px; 448 | } 449 | .wizard-card .wizard-header h5 { 450 | margin: 5px 0 0; 451 | } 452 | .wizard-card .nav-pills > li { 453 | text-align: center; 454 | } 455 | .wizard-card .btn { 456 | text-transform: uppercase; 457 | } 458 | .wizard-card .info-text { 459 | text-align: center; 460 | font-weight: 300; 461 | margin: 10px 0 30px; 462 | } 463 | .wizard-card .choice { 464 | text-align: center; 465 | cursor: pointer; 466 | margin-top: 20px; 467 | } 468 | .wizard-card .choice .icon { 469 | text-align: center; 470 | vertical-align: middle; 471 | height: 116px; 472 | width: 116px; 473 | border-radius: 50%; 474 | color: #999999; 475 | margin: 0 auto 20px; 476 | border: 4px solid #CCCCCC; 477 | transition: all 0.2s; 478 | -webkit-transition: all 0.2s; 479 | } 480 | .wizard-card .choice i { 481 | font-size: 40px; 482 | line-height: 111px; 483 | } 484 | .wizard-card .choice:hover .icon, .wizard-card .choice.active .icon { 485 | border-color: #2ca8ff; 486 | } 487 | .wizard-card .choice input[type="radio"], 488 | .wizard-card .choice input[type="checkbox"] { 489 | position: absolute; 490 | left: -10000px; 491 | z-index: -1; 492 | } 493 | .wizard-card .btn-finish { 494 | display: none; 495 | } 496 | .wizard-card .description { 497 | color: #999999; 498 | font-size: 14px; 499 | } 500 | .wizard-card .wizard-title { 501 | margin: 0; 502 | } 503 | 504 | legend { 505 | margin-bottom: 20px; 506 | font-size: 21px; 507 | } 508 | 509 | output { 510 | padding-top: 8px; 511 | font-size: 14px; 512 | line-height: 1.42857; 513 | } 514 | 515 | .form-control { 516 | height: 36px; 517 | padding: 7px 0; 518 | font-size: 14px; 519 | line-height: 1.42857; 520 | } 521 | 522 | @media screen and (-webkit-min-device-pixel-ratio: 0) { 523 | input[type="date"].form-control, 524 | input[type="time"].form-control, 525 | input[type="datetime-local"].form-control, 526 | input[type="month"].form-control { 527 | line-height: 36px; 528 | } 529 | input[type="date"].input-sm, .input-group-sm input[type="date"], 530 | input[type="time"].input-sm, .input-group-sm 531 | input[type="time"], 532 | input[type="datetime-local"].input-sm, .input-group-sm 533 | input[type="datetime-local"], 534 | input[type="month"].input-sm, .input-group-sm 535 | input[type="month"] { 536 | line-height: 24px; 537 | } 538 | input[type="date"].input-lg, .input-group-lg input[type="date"], 539 | input[type="time"].input-lg, .input-group-lg 540 | input[type="time"], 541 | input[type="datetime-local"].input-lg, .input-group-lg 542 | input[type="datetime-local"], 543 | input[type="month"].input-lg, .input-group-lg 544 | input[type="month"] { 545 | line-height: 44px; 546 | } 547 | } 548 | .radio label, 549 | .checkbox label { 550 | min-height: 20px; 551 | } 552 | 553 | .form-control-static { 554 | padding-top: 8px; 555 | padding-bottom: 8px; 556 | min-height: 34px; 557 | } 558 | 559 | .input-sm .input-sm { 560 | height: 24px; 561 | padding: 3px 0; 562 | font-size: 11px; 563 | line-height: 1.5; 564 | border-radius: 0; 565 | } 566 | .input-sm select.input-sm { 567 | height: 24px; 568 | line-height: 24px; 569 | } 570 | .input-sm textarea.input-sm, 571 | .input-sm select[multiple].input-sm { 572 | height: auto; 573 | } 574 | 575 | .form-group-sm .form-control { 576 | height: 24px; 577 | padding: 3px 0; 578 | font-size: 11px; 579 | line-height: 1.5; 580 | } 581 | .form-group-sm select.form-control { 582 | height: 24px; 583 | line-height: 24px; 584 | } 585 | .form-group-sm textarea.form-control, 586 | .form-group-sm select[multiple].form-control { 587 | height: auto; 588 | } 589 | .form-group-sm .form-control-static { 590 | height: 24px; 591 | min-height: 31px; 592 | padding: 4px 0; 593 | font-size: 11px; 594 | line-height: 1.5; 595 | } 596 | 597 | .input-lg .input-lg { 598 | height: 44px; 599 | padding: 9px 0; 600 | font-size: 18px; 601 | line-height: 1.33333; 602 | border-radius: 0; 603 | } 604 | .input-lg select.input-lg { 605 | height: 44px; 606 | line-height: 44px; 607 | } 608 | .input-lg textarea.input-lg, 609 | .input-lg select[multiple].input-lg { 610 | height: auto; 611 | } 612 | 613 | .form-group-lg .form-control { 614 | height: 44px; 615 | padding: 9px 0; 616 | font-size: 18px; 617 | line-height: 1.33333; 618 | } 619 | .form-group-lg select.form-control { 620 | height: 44px; 621 | line-height: 44px; 622 | } 623 | .form-group-lg textarea.form-control, 624 | .form-group-lg select[multiple].form-control { 625 | height: auto; 626 | } 627 | .form-group-lg .form-control-static { 628 | height: 44px; 629 | min-height: 38px; 630 | padding: 10px 0; 631 | font-size: 18px; 632 | line-height: 1.33333; 633 | } 634 | 635 | .form-horizontal .radio, 636 | .form-horizontal .checkbox, 637 | .form-horizontal .radio-inline, 638 | .form-horizontal .checkbox-inline { 639 | padding-top: 8px; 640 | } 641 | .form-horizontal .radio, 642 | .form-horizontal .checkbox { 643 | min-height: 28px; 644 | } 645 | @media (min-width: 768px) { 646 | .form-horizontal .control-label { 647 | padding-top: 8px; 648 | } 649 | } 650 | @media (min-width: 768px) { 651 | .form-horizontal .form-group-lg .control-label { 652 | padding-top: 13.0px; 653 | font-size: 18px; 654 | } 655 | } 656 | @media (min-width: 768px) { 657 | .form-horizontal .form-group-sm .control-label { 658 | padding-top: 4px; 659 | font-size: 11px; 660 | } 661 | } 662 | 663 | .label { 664 | border-radius: 3px; 665 | } 666 | .label, .label.label-default { 667 | background-color: #FFFFFF; 668 | } 669 | .label.label-inverse { 670 | background-color: #212121; 671 | } 672 | .label.label-primary { 673 | background-color: #9c27b0; 674 | } 675 | .label.label-success { 676 | background-color: #4caf50; 677 | } 678 | .label.label-info { 679 | background-color: #00bcd4; 680 | } 681 | .label.label-warning { 682 | background-color: #ff9800; 683 | } 684 | .label.label-danger { 685 | background-color: #f44336; 686 | } 687 | .label.label-rose { 688 | background-color: #e91e63; 689 | } 690 | 691 | .form-control, 692 | .form-group .form-control { 693 | border: 0; 694 | background-image: linear-gradient(#9c27b0, #9c27b0), linear-gradient(#D2D2D2, #D2D2D2); 695 | background-size: 0 2px, 100% 1px; 696 | background-repeat: no-repeat; 697 | background-position: center bottom, center calc(100% - 1px); 698 | background-color: transparent; 699 | transition: background 0s ease-out; 700 | float: none; 701 | box-shadow: none; 702 | border-radius: 0; 703 | font-weight: 400; 704 | } 705 | .form-control::-moz-placeholder, 706 | .form-group .form-control::-moz-placeholder { 707 | color: #AAAAAA; 708 | font-weight: 400; 709 | } 710 | .form-control:-ms-input-placeholder, 711 | .form-group .form-control:-ms-input-placeholder { 712 | color: #AAAAAA; 713 | font-weight: 400; 714 | } 715 | .form-control::-webkit-input-placeholder, 716 | .form-group .form-control::-webkit-input-placeholder { 717 | color: #AAAAAA; 718 | font-weight: 400; 719 | } 720 | .form-control[readonly], .form-control[disabled], fieldset[disabled] .form-control, 721 | .form-group .form-control[readonly], 722 | .form-group .form-control[disabled], fieldset[disabled] 723 | .form-group .form-control { 724 | background-color: transparent; 725 | } 726 | .form-control[disabled], fieldset[disabled] .form-control, 727 | .form-group .form-control[disabled], fieldset[disabled] 728 | .form-group .form-control { 729 | background-image: none; 730 | border-bottom: 1px dotted #D2D2D2; 731 | } 732 | 733 | .form-group { 734 | position: relative; 735 | } 736 | .form-group.label-static label.control-label, .form-group.label-placeholder label.control-label, .form-group.label-floating label.control-label { 737 | position: absolute; 738 | pointer-events: none; 739 | transition: 0.3s ease all; 740 | } 741 | .form-group.label-floating label.control-label { 742 | will-change: left, top, contents; 743 | } 744 | .form-group.label-placeholder:not(.is-empty) label.control-label { 745 | display: none; 746 | } 747 | .form-group .help-block { 748 | position: absolute; 749 | display: none; 750 | } 751 | .form-group.is-focused .form-control { 752 | outline: none; 753 | background-image: linear-gradient(#9c27b0, #9c27b0), linear-gradient(#D2D2D2, #D2D2D2); 754 | background-size: 100% 2px, 100% 1px; 755 | box-shadow: none; 756 | transition-duration: 0.3s; 757 | } 758 | .form-group.is-focused .form-control .material-input:after { 759 | background-color: #9c27b0; 760 | } 761 | .form-group.is-focused.form-info .form-control { 762 | background-image: linear-gradient(#00bcd4, #00bcd4), linear-gradient(#D2D2D2, #D2D2D2); 763 | } 764 | .form-group.is-focused.form-success .form-control { 765 | background-image: linear-gradient(#4caf50, #4caf50), linear-gradient(#D2D2D2, #D2D2D2); 766 | } 767 | .form-group.is-focused.form-warning .form-control { 768 | background-image: linear-gradient(#ff9800, #ff9800), linear-gradient(#D2D2D2, #D2D2D2); 769 | } 770 | .form-group.is-focused.form-danger .form-control { 771 | background-image: linear-gradient(#f44336, #f44336), linear-gradient(#D2D2D2, #D2D2D2); 772 | } 773 | .form-group.is-focused.form-rose .form-control { 774 | background-image: linear-gradient(#e91e63, #e91e63), linear-gradient(#D2D2D2, #D2D2D2); 775 | } 776 | .form-group.is-focused.form-white .form-control { 777 | background-image: linear-gradient(#FFFFFF, #FFFFFF), linear-gradient(#D2D2D2, #D2D2D2); 778 | } 779 | .form-group.is-focused.label-placeholder label, 780 | .form-group.is-focused.label-placeholder label.control-label { 781 | color: #AAAAAA; 782 | } 783 | .form-group.is-focused .help-block { 784 | display: block; 785 | } 786 | .form-group.has-warning .form-control { 787 | box-shadow: none; 788 | } 789 | .form-group.has-warning.is-focused .form-control { 790 | background-image: linear-gradient(#ff9800, #ff9800), linear-gradient(#D2D2D2, #D2D2D2); 791 | } 792 | .form-group.has-warning label.control-label, 793 | .form-group.has-warning .help-block { 794 | color: #ff9800; 795 | } 796 | .form-group.has-error .form-control { 797 | box-shadow: none; 798 | } 799 | .form-group.has-error.is-focused .form-control { 800 | background-image: linear-gradient(#f44336, #f44336), linear-gradient(#D2D2D2, #D2D2D2); 801 | } 802 | .form-group.has-error label.control-label, 803 | .form-group.has-error .help-block { 804 | color: #f44336; 805 | } 806 | .form-group.has-success .form-control { 807 | box-shadow: none; 808 | } 809 | .form-group.has-success.is-focused .form-control { 810 | background-image: linear-gradient(#4caf50, #4caf50), linear-gradient(#D2D2D2, #D2D2D2); 811 | } 812 | .form-group.has-success label.control-label, 813 | .form-group.has-success .help-block { 814 | color: #4caf50; 815 | } 816 | .form-group.has-info .form-control { 817 | box-shadow: none; 818 | } 819 | .form-group.has-info.is-focused .form-control { 820 | background-image: linear-gradient(#00bcd4, #00bcd4), linear-gradient(#D2D2D2, #D2D2D2); 821 | } 822 | .form-group.has-info label.control-label, 823 | .form-group.has-info .help-block { 824 | color: #00bcd4; 825 | } 826 | .form-group textarea { 827 | resize: none; 828 | } 829 | .form-group textarea ~ .form-control-highlight { 830 | margin-top: -11px; 831 | } 832 | .form-group select { 833 | appearance: none; 834 | } 835 | .form-group select ~ .material-input:after { 836 | display: none; 837 | } 838 | 839 | .form-control { 840 | margin-bottom: 7px; 841 | } 842 | .form-control::-moz-placeholder { 843 | font-size: 14px; 844 | line-height: 1.42857; 845 | color: #AAAAAA; 846 | font-weight: 400; 847 | } 848 | .form-control:-ms-input-placeholder { 849 | font-size: 14px; 850 | line-height: 1.42857; 851 | color: #AAAAAA; 852 | font-weight: 400; 853 | } 854 | .form-control::-webkit-input-placeholder { 855 | font-size: 14px; 856 | line-height: 1.42857; 857 | color: #AAAAAA; 858 | font-weight: 400; 859 | } 860 | 861 | .checkbox label, 862 | .radio label, 863 | label { 864 | font-size: 14px; 865 | line-height: 1.42857; 866 | color: #AAAAAA; 867 | font-weight: 400; 868 | } 869 | 870 | label.control-label { 871 | font-size: 11px; 872 | line-height: 1.07143; 873 | color: #AAAAAA; 874 | font-weight: 400; 875 | margin: 16px 0 0 0; 876 | } 877 | 878 | .help-block { 879 | margin-top: 0; 880 | font-size: 11px; 881 | } 882 | 883 | .form-group { 884 | padding-bottom: 7px; 885 | margin: 27px 0 0 0; 886 | } 887 | .form-group .form-control { 888 | margin-bottom: 7px; 889 | } 890 | .form-group .form-control::-moz-placeholder { 891 | font-size: 14px; 892 | line-height: 1.42857; 893 | color: #AAAAAA; 894 | font-weight: 400; 895 | } 896 | .form-group .form-control:-ms-input-placeholder { 897 | font-size: 14px; 898 | line-height: 1.42857; 899 | color: #AAAAAA; 900 | font-weight: 400; 901 | } 902 | .form-group .form-control::-webkit-input-placeholder { 903 | font-size: 14px; 904 | line-height: 1.42857; 905 | color: #AAAAAA; 906 | font-weight: 400; 907 | } 908 | .form-group .checkbox label, 909 | .form-group .radio label, 910 | .form-group label { 911 | font-size: 14px; 912 | line-height: 1.42857; 913 | color: #AAAAAA; 914 | font-weight: 400; 915 | } 916 | .form-group label.control-label { 917 | font-size: 11px; 918 | line-height: 1.07143; 919 | color: #AAAAAA; 920 | font-weight: 400; 921 | margin: 16px 0 0 0; 922 | } 923 | .form-group .help-block { 924 | margin-top: 0; 925 | font-size: 11px; 926 | } 927 | .form-group.label-floating label.control-label, .form-group.label-placeholder label.control-label { 928 | top: -7px; 929 | font-size: 14px; 930 | line-height: 1.42857; 931 | } 932 | .form-group.label-static label.control-label, .form-group.label-floating.is-focused label.control-label, .form-group.label-floating:not(.is-empty) label.control-label { 933 | top: -28px; 934 | left: 0; 935 | font-size: 11px; 936 | line-height: 1.07143; 937 | } 938 | .form-group.label-floating input.form-control:-webkit-autofill ~ label.control-label label.control-label { 939 | top: -28px; 940 | left: 0; 941 | font-size: 11px; 942 | line-height: 1.07143; 943 | } 944 | 945 | .form-group.form-group-sm { 946 | padding-bottom: 3px; 947 | margin: 21px 0 0 0; 948 | } 949 | .form-group.form-group-sm .form-control { 950 | margin-bottom: 3px; 951 | } 952 | .form-group.form-group-sm .form-control::-moz-placeholder { 953 | font-size: 11px; 954 | line-height: 1.5; 955 | color: #AAAAAA; 956 | font-weight: 400; 957 | } 958 | .form-group.form-group-sm .form-control:-ms-input-placeholder { 959 | font-size: 11px; 960 | line-height: 1.5; 961 | color: #AAAAAA; 962 | font-weight: 400; 963 | } 964 | .form-group.form-group-sm .form-control::-webkit-input-placeholder { 965 | font-size: 11px; 966 | line-height: 1.5; 967 | color: #AAAAAA; 968 | font-weight: 400; 969 | } 970 | .form-group.form-group-sm .checkbox label, 971 | .form-group.form-group-sm .radio label, 972 | .form-group.form-group-sm label { 973 | font-size: 11px; 974 | line-height: 1.5; 975 | color: #AAAAAA; 976 | font-weight: 400; 977 | } 978 | .form-group.form-group-sm label.control-label { 979 | font-size: 9px; 980 | line-height: 1.125; 981 | color: #AAAAAA; 982 | font-weight: 400; 983 | margin: 16px 0 0 0; 984 | } 985 | .form-group.form-group-sm .help-block { 986 | margin-top: 0; 987 | font-size: 9px; 988 | } 989 | .form-group.form-group-sm.label-floating label.control-label, .form-group.form-group-sm.label-placeholder label.control-label { 990 | top: -11px; 991 | font-size: 11px; 992 | line-height: 1.5; 993 | } 994 | .form-group.form-group-sm.label-static label.control-label, .form-group.form-group-sm.label-floating.is-focused label.control-label, .form-group.form-group-sm.label-floating:not(.is-empty) label.control-label { 995 | top: -25px; 996 | left: 0; 997 | font-size: 9px; 998 | line-height: 1.125; 999 | } 1000 | .form-group.form-group-sm.label-floating input.form-control:-webkit-autofill ~ label.control-label label.control-label { 1001 | top: -25px; 1002 | left: 0; 1003 | font-size: 9px; 1004 | line-height: 1.125; 1005 | } 1006 | 1007 | .form-group.form-group-lg { 1008 | padding-bottom: 9px; 1009 | margin: 30px 0 0 0; 1010 | } 1011 | .form-group.form-group-lg .form-control { 1012 | margin-bottom: 9px; 1013 | } 1014 | .form-group.form-group-lg .form-control::-moz-placeholder { 1015 | font-size: 18px; 1016 | line-height: 1.33333; 1017 | color: #AAAAAA; 1018 | font-weight: 400; 1019 | } 1020 | .form-group.form-group-lg .form-control:-ms-input-placeholder { 1021 | font-size: 18px; 1022 | line-height: 1.33333; 1023 | color: #AAAAAA; 1024 | font-weight: 400; 1025 | } 1026 | .form-group.form-group-lg .form-control::-webkit-input-placeholder { 1027 | font-size: 18px; 1028 | line-height: 1.33333; 1029 | color: #AAAAAA; 1030 | font-weight: 400; 1031 | } 1032 | .form-group.form-group-lg .checkbox label, 1033 | .form-group.form-group-lg .radio label, 1034 | .form-group.form-group-lg label { 1035 | font-size: 18px; 1036 | line-height: 1.33333; 1037 | color: #AAAAAA; 1038 | font-weight: 400; 1039 | } 1040 | .form-group.form-group-lg label.control-label { 1041 | font-size: 14px; 1042 | line-height: 1.0; 1043 | color: #AAAAAA; 1044 | font-weight: 400; 1045 | margin: 16px 0 0 0; 1046 | } 1047 | .form-group.form-group-lg .help-block { 1048 | margin-top: 0; 1049 | font-size: 14px; 1050 | } 1051 | .form-group.form-group-lg.label-floating label.control-label, .form-group.form-group-lg.label-placeholder label.control-label { 1052 | top: -5px; 1053 | font-size: 18px; 1054 | line-height: 1.33333; 1055 | } 1056 | .form-group.form-group-lg.label-static label.control-label, .form-group.form-group-lg.label-floating.is-focused label.control-label, .form-group.form-group-lg.label-floating:not(.is-empty) label.control-label { 1057 | top: -32px; 1058 | left: 0; 1059 | font-size: 14px; 1060 | line-height: 1.0; 1061 | } 1062 | .form-group.form-group-lg.label-floating input.form-control:-webkit-autofill ~ label.control-label label.control-label { 1063 | top: -32px; 1064 | left: 0; 1065 | font-size: 14px; 1066 | line-height: 1.0; 1067 | } 1068 | 1069 | select.form-control { 1070 | border: 0; 1071 | box-shadow: none; 1072 | border-radius: 0; 1073 | } 1074 | .form-group.is-focused select.form-control { 1075 | box-shadow: none; 1076 | border-color: #D2D2D2; 1077 | } 1078 | select.form-control[multiple], .form-group.is-focused select.form-control[multiple] { 1079 | height: 85px; 1080 | } 1081 | 1082 | .input-group-btn .btn { 1083 | margin: 0 0 7px 0; 1084 | } 1085 | 1086 | .form-group.form-group-sm .input-group-btn .btn { 1087 | margin: 0 0 3px 0; 1088 | } 1089 | .form-group.form-group-lg .input-group-btn .btn { 1090 | margin: 0 0 9px 0; 1091 | } 1092 | 1093 | .input-group .input-group-btn { 1094 | padding: 0 12px; 1095 | } 1096 | .input-group .input-group-addon { 1097 | border: 0; 1098 | background: transparent; 1099 | padding: 6px 15px 0px; 1100 | } 1101 | 1102 | .form-group input[type=file] { 1103 | opacity: 0; 1104 | position: absolute; 1105 | top: 0; 1106 | right: 0; 1107 | bottom: 0; 1108 | left: 0; 1109 | width: 100%; 1110 | height: 100%; 1111 | z-index: 100; 1112 | } 1113 | 1114 | .form-control-feedback { 1115 | opacity: 0; 1116 | } 1117 | .has-success .form-control-feedback { 1118 | color: #4caf50; 1119 | opacity: 1; 1120 | } 1121 | .has-error .form-control-feedback { 1122 | color: #f44336; 1123 | opacity: 1; 1124 | } 1125 | 1126 | .btn { 1127 | border: none; 1128 | border-radius: 3px; 1129 | position: relative; 1130 | padding: 12px 30px; 1131 | margin: 10px 1px; 1132 | font-size: 12px; 1133 | font-weight: 400; 1134 | text-transform: uppercase; 1135 | letter-spacing: 0; 1136 | will-change: box-shadow, transform; 1137 | transition: box-shadow 0.2s cubic-bezier(0.4, 0, 1, 1), background-color 0.2s cubic-bezier(0.4, 0, 0.2, 1); 1138 | } 1139 | .btn::-moz-focus-inner { 1140 | border: 0; 1141 | } 1142 | .btn, .btn.btn-default { 1143 | box-shadow: 0 2px 2px 0 rgba(153, 153, 153, 0.14), 0 3px 1px -2px rgba(153, 153, 153, 0.2), 0 1px 5px 0 rgba(153, 153, 153, 0.12); 1144 | } 1145 | .btn, .btn:hover, .btn:focus, .btn:active, .btn.active, .btn:active:focus, .btn:active:hover, .btn.active:focus, .btn.active:hover, .open > .btn.dropdown-toggle, .open > .btn.dropdown-toggle:focus, .open > .btn.dropdown-toggle:hover, .btn.btn-default, .btn.btn-default:hover, .btn.btn-default:focus, .btn.btn-default:active, .btn.btn-default.active, .btn.btn-default:active:focus, .btn.btn-default:active:hover, .btn.btn-default.active:focus, .btn.btn-default.active:hover, .open > .btn.btn-default.dropdown-toggle, .open > .btn.btn-default.dropdown-toggle:focus, .open > .btn.btn-default.dropdown-toggle:hover { 1146 | background-color: #999999; 1147 | color: #FFFFFF; 1148 | } 1149 | .btn:focus, .btn:active, .btn:hover, .btn.btn-default:focus, .btn.btn-default:active, .btn.btn-default:hover { 1150 | box-shadow: 0 14px 26px -12px rgba(153, 153, 153, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(153, 153, 153, 0.2); 1151 | } 1152 | .btn.disabled, .btn.disabled:hover, .btn.disabled:focus, .btn.disabled.focus, .btn.disabled:active, .btn.disabled.active, .btn:disabled, .btn:disabled:hover, .btn:disabled:focus, .btn:disabled.focus, .btn:disabled:active, .btn:disabled.active, .btn[disabled], .btn[disabled]:hover, .btn[disabled]:focus, .btn[disabled].focus, .btn[disabled]:active, .btn[disabled].active, fieldset[disabled] .btn, fieldset[disabled] .btn:hover, fieldset[disabled] .btn:focus, fieldset[disabled] .btn.focus, fieldset[disabled] .btn:active, fieldset[disabled] .btn.active, .btn.btn-default.disabled, .btn.btn-default.disabled:hover, .btn.btn-default.disabled:focus, .btn.btn-default.disabled.focus, .btn.btn-default.disabled:active, .btn.btn-default.disabled.active, .btn.btn-default:disabled, .btn.btn-default:disabled:hover, .btn.btn-default:disabled:focus, .btn.btn-default:disabled.focus, .btn.btn-default:disabled:active, .btn.btn-default:disabled.active, .btn.btn-default[disabled], .btn.btn-default[disabled]:hover, .btn.btn-default[disabled]:focus, .btn.btn-default[disabled].focus, .btn.btn-default[disabled]:active, .btn.btn-default[disabled].active, fieldset[disabled] .btn.btn-default, fieldset[disabled] .btn.btn-default:hover, fieldset[disabled] .btn.btn-default:focus, fieldset[disabled] .btn.btn-default.focus, fieldset[disabled] .btn.btn-default:active, fieldset[disabled] .btn.btn-default.active { 1153 | box-shadow: none; 1154 | } 1155 | .btn.btn-simple, .btn.btn-default.btn-simple { 1156 | background-color: transparent; 1157 | color: #999999; 1158 | box-shadow: none; 1159 | } 1160 | .btn.btn-simple:hover, .btn.btn-simple:focus, .btn.btn-simple:active, .btn.btn-default.btn-simple:hover, .btn.btn-default.btn-simple:focus, .btn.btn-default.btn-simple:active { 1161 | background-color: transparent; 1162 | color: #999999; 1163 | } 1164 | .btn.btn-primary { 1165 | box-shadow: 0 2px 2px 0 rgba(156, 39, 176, 0.14), 0 3px 1px -2px rgba(156, 39, 176, 0.2), 0 1px 5px 0 rgba(156, 39, 176, 0.12); 1166 | } 1167 | .btn.btn-primary, .btn.btn-primary:hover, .btn.btn-primary:focus, .btn.btn-primary:active, .btn.btn-primary.active, .btn.btn-primary:active:focus, .btn.btn-primary:active:hover, .btn.btn-primary.active:focus, .btn.btn-primary.active:hover, .open > .btn.btn-primary.dropdown-toggle, .open > .btn.btn-primary.dropdown-toggle:focus, .open > .btn.btn-primary.dropdown-toggle:hover { 1168 | background-color: #9c27b0; 1169 | color: #FFFFFF; 1170 | } 1171 | .btn.btn-primary:focus, .btn.btn-primary:active, .btn.btn-primary:hover { 1172 | box-shadow: 0 14px 26px -12px rgba(156, 39, 176, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(156, 39, 176, 0.2); 1173 | } 1174 | .btn.btn-primary.disabled, .btn.btn-primary.disabled:hover, .btn.btn-primary.disabled:focus, .btn.btn-primary.disabled.focus, .btn.btn-primary.disabled:active, .btn.btn-primary.disabled.active, .btn.btn-primary:disabled, .btn.btn-primary:disabled:hover, .btn.btn-primary:disabled:focus, .btn.btn-primary:disabled.focus, .btn.btn-primary:disabled:active, .btn.btn-primary:disabled.active, .btn.btn-primary[disabled], .btn.btn-primary[disabled]:hover, .btn.btn-primary[disabled]:focus, .btn.btn-primary[disabled].focus, .btn.btn-primary[disabled]:active, .btn.btn-primary[disabled].active, fieldset[disabled] .btn.btn-primary, fieldset[disabled] .btn.btn-primary:hover, fieldset[disabled] .btn.btn-primary:focus, fieldset[disabled] .btn.btn-primary.focus, fieldset[disabled] .btn.btn-primary:active, fieldset[disabled] .btn.btn-primary.active { 1175 | box-shadow: none; 1176 | } 1177 | .btn.btn-primary.btn-simple { 1178 | background-color: transparent; 1179 | color: #9c27b0; 1180 | box-shadow: none; 1181 | } 1182 | .btn.btn-primary.btn-simple:hover, .btn.btn-primary.btn-simple:focus, .btn.btn-primary.btn-simple:active { 1183 | background-color: transparent; 1184 | color: #9c27b0; 1185 | } 1186 | .btn.btn-info { 1187 | box-shadow: 0 2px 2px 0 rgba(0, 188, 212, 0.14), 0 3px 1px -2px rgba(0, 188, 212, 0.2), 0 1px 5px 0 rgba(0, 188, 212, 0.12); 1188 | } 1189 | .btn.btn-info, .btn.btn-info:hover, .btn.btn-info:focus, .btn.btn-info:active, .btn.btn-info.active, .btn.btn-info:active:focus, .btn.btn-info:active:hover, .btn.btn-info.active:focus, .btn.btn-info.active:hover, .open > .btn.btn-info.dropdown-toggle, .open > .btn.btn-info.dropdown-toggle:focus, .open > .btn.btn-info.dropdown-toggle:hover { 1190 | background-color: #00bcd4; 1191 | color: #FFFFFF; 1192 | } 1193 | .btn.btn-info:focus, .btn.btn-info:active, .btn.btn-info:hover { 1194 | box-shadow: 0 14px 26px -12px rgba(0, 188, 212, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 188, 212, 0.2); 1195 | } 1196 | .btn.btn-info.disabled, .btn.btn-info.disabled:hover, .btn.btn-info.disabled:focus, .btn.btn-info.disabled.focus, .btn.btn-info.disabled:active, .btn.btn-info.disabled.active, .btn.btn-info:disabled, .btn.btn-info:disabled:hover, .btn.btn-info:disabled:focus, .btn.btn-info:disabled.focus, .btn.btn-info:disabled:active, .btn.btn-info:disabled.active, .btn.btn-info[disabled], .btn.btn-info[disabled]:hover, .btn.btn-info[disabled]:focus, .btn.btn-info[disabled].focus, .btn.btn-info[disabled]:active, .btn.btn-info[disabled].active, fieldset[disabled] .btn.btn-info, fieldset[disabled] .btn.btn-info:hover, fieldset[disabled] .btn.btn-info:focus, fieldset[disabled] .btn.btn-info.focus, fieldset[disabled] .btn.btn-info:active, fieldset[disabled] .btn.btn-info.active { 1197 | box-shadow: none; 1198 | } 1199 | .btn.btn-info.btn-simple { 1200 | background-color: transparent; 1201 | color: #00bcd4; 1202 | box-shadow: none; 1203 | } 1204 | .btn.btn-info.btn-simple:hover, .btn.btn-info.btn-simple:focus, .btn.btn-info.btn-simple:active { 1205 | background-color: transparent; 1206 | color: #00bcd4; 1207 | } 1208 | .btn.btn-success { 1209 | box-shadow: 0 2px 2px 0 rgba(76, 175, 80, 0.14), 0 3px 1px -2px rgba(76, 175, 80, 0.2), 0 1px 5px 0 rgba(76, 175, 80, 0.12); 1210 | } 1211 | .btn.btn-success, .btn.btn-success:hover, .btn.btn-success:focus, .btn.btn-success:active, .btn.btn-success.active, .btn.btn-success:active:focus, .btn.btn-success:active:hover, .btn.btn-success.active:focus, .btn.btn-success.active:hover, .open > .btn.btn-success.dropdown-toggle, .open > .btn.btn-success.dropdown-toggle:focus, .open > .btn.btn-success.dropdown-toggle:hover { 1212 | background-color: #4caf50; 1213 | color: #FFFFFF; 1214 | } 1215 | .btn.btn-success:focus, .btn.btn-success:active, .btn.btn-success:hover { 1216 | box-shadow: 0 14px 26px -12px rgba(76, 175, 80, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(76, 175, 80, 0.2); 1217 | } 1218 | .btn.btn-success.disabled, .btn.btn-success.disabled:hover, .btn.btn-success.disabled:focus, .btn.btn-success.disabled.focus, .btn.btn-success.disabled:active, .btn.btn-success.disabled.active, .btn.btn-success:disabled, .btn.btn-success:disabled:hover, .btn.btn-success:disabled:focus, .btn.btn-success:disabled.focus, .btn.btn-success:disabled:active, .btn.btn-success:disabled.active, .btn.btn-success[disabled], .btn.btn-success[disabled]:hover, .btn.btn-success[disabled]:focus, .btn.btn-success[disabled].focus, .btn.btn-success[disabled]:active, .btn.btn-success[disabled].active, fieldset[disabled] .btn.btn-success, fieldset[disabled] .btn.btn-success:hover, fieldset[disabled] .btn.btn-success:focus, fieldset[disabled] .btn.btn-success.focus, fieldset[disabled] .btn.btn-success:active, fieldset[disabled] .btn.btn-success.active { 1219 | box-shadow: none; 1220 | } 1221 | .btn.btn-success.btn-simple { 1222 | background-color: transparent; 1223 | color: #4caf50; 1224 | box-shadow: none; 1225 | } 1226 | .btn.btn-success.btn-simple:hover, .btn.btn-success.btn-simple:focus, .btn.btn-success.btn-simple:active { 1227 | background-color: transparent; 1228 | color: #4caf50; 1229 | } 1230 | .btn.btn-warning { 1231 | box-shadow: 0 2px 2px 0 rgba(255, 152, 0, 0.14), 0 3px 1px -2px rgba(255, 152, 0, 0.2), 0 1px 5px 0 rgba(255, 152, 0, 0.12); 1232 | } 1233 | .btn.btn-warning, .btn.btn-warning:hover, .btn.btn-warning:focus, .btn.btn-warning:active, .btn.btn-warning.active, .btn.btn-warning:active:focus, .btn.btn-warning:active:hover, .btn.btn-warning.active:focus, .btn.btn-warning.active:hover, .open > .btn.btn-warning.dropdown-toggle, .open > .btn.btn-warning.dropdown-toggle:focus, .open > .btn.btn-warning.dropdown-toggle:hover { 1234 | background-color: #ff9800; 1235 | color: #FFFFFF; 1236 | } 1237 | .btn.btn-warning:focus, .btn.btn-warning:active, .btn.btn-warning:hover { 1238 | box-shadow: 0 14px 26px -12px rgba(255, 152, 0, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(255, 152, 0, 0.2); 1239 | } 1240 | .btn.btn-warning.disabled, .btn.btn-warning.disabled:hover, .btn.btn-warning.disabled:focus, .btn.btn-warning.disabled.focus, .btn.btn-warning.disabled:active, .btn.btn-warning.disabled.active, .btn.btn-warning:disabled, .btn.btn-warning:disabled:hover, .btn.btn-warning:disabled:focus, .btn.btn-warning:disabled.focus, .btn.btn-warning:disabled:active, .btn.btn-warning:disabled.active, .btn.btn-warning[disabled], .btn.btn-warning[disabled]:hover, .btn.btn-warning[disabled]:focus, .btn.btn-warning[disabled].focus, .btn.btn-warning[disabled]:active, .btn.btn-warning[disabled].active, fieldset[disabled] .btn.btn-warning, fieldset[disabled] .btn.btn-warning:hover, fieldset[disabled] .btn.btn-warning:focus, fieldset[disabled] .btn.btn-warning.focus, fieldset[disabled] .btn.btn-warning:active, fieldset[disabled] .btn.btn-warning.active { 1241 | box-shadow: none; 1242 | } 1243 | .btn.btn-warning.btn-simple { 1244 | background-color: transparent; 1245 | color: #ff9800; 1246 | box-shadow: none; 1247 | } 1248 | .btn.btn-warning.btn-simple:hover, .btn.btn-warning.btn-simple:focus, .btn.btn-warning.btn-simple:active { 1249 | background-color: transparent; 1250 | color: #ff9800; 1251 | } 1252 | .btn.btn-danger { 1253 | box-shadow: 0 2px 2px 0 rgba(244, 67, 54, 0.14), 0 3px 1px -2px rgba(244, 67, 54, 0.2), 0 1px 5px 0 rgba(244, 67, 54, 0.12); 1254 | } 1255 | .btn.btn-danger, .btn.btn-danger:hover, .btn.btn-danger:focus, .btn.btn-danger:active, .btn.btn-danger.active, .btn.btn-danger:active:focus, .btn.btn-danger:active:hover, .btn.btn-danger.active:focus, .btn.btn-danger.active:hover, .open > .btn.btn-danger.dropdown-toggle, .open > .btn.btn-danger.dropdown-toggle:focus, .open > .btn.btn-danger.dropdown-toggle:hover { 1256 | background-color: #f44336; 1257 | color: #FFFFFF; 1258 | } 1259 | .btn.btn-danger:focus, .btn.btn-danger:active, .btn.btn-danger:hover { 1260 | box-shadow: 0 14px 26px -12px rgba(244, 67, 54, 0.42), 0 4px 23px 0px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(244, 67, 54, 0.2); 1261 | } 1262 | .btn.btn-danger.disabled, .btn.btn-danger.disabled:hover, .btn.btn-danger.disabled:focus, .btn.btn-danger.disabled.focus, .btn.btn-danger.disabled:active, .btn.btn-danger.disabled.active, .btn.btn-danger:disabled, .btn.btn-danger:disabled:hover, .btn.btn-danger:disabled:focus, .btn.btn-danger:disabled.focus, .btn.btn-danger:disabled:active, .btn.btn-danger:disabled.active, .btn.btn-danger[disabled], .btn.btn-danger[disabled]:hover, .btn.btn-danger[disabled]:focus, .btn.btn-danger[disabled].focus, .btn.btn-danger[disabled]:active, .btn.btn-danger[disabled].active, fieldset[disabled] .btn.btn-danger, fieldset[disabled] .btn.btn-danger:hover, fieldset[disabled] .btn.btn-danger:focus, fieldset[disabled] .btn.btn-danger.focus, fieldset[disabled] .btn.btn-danger:active, fieldset[disabled] .btn.btn-danger.active { 1263 | box-shadow: none; 1264 | } 1265 | .btn.btn-danger.btn-simple { 1266 | background-color: transparent; 1267 | color: #f44336; 1268 | box-shadow: none; 1269 | } 1270 | .btn.btn-danger.btn-simple:hover, .btn.btn-danger.btn-simple:focus, .btn.btn-danger.btn-simple:active { 1271 | background-color: transparent; 1272 | color: #f44336; 1273 | } 1274 | .btn:focus, .btn:active, .btn:active:focus { 1275 | outline: 0; 1276 | } 1277 | .btn.btn-round { 1278 | border-radius: 30px; 1279 | } 1280 | .btn:not(.btn-just-icon):not(.btn-fab) .fa { 1281 | font-size: 18px; 1282 | margin-top: -2px; 1283 | position: relative; 1284 | top: 2px; 1285 | } 1286 | .btn.btn-fab { 1287 | border-radius: 50%; 1288 | font-size: 24px; 1289 | height: 56px; 1290 | margin: auto; 1291 | min-width: 56px; 1292 | width: 56px; 1293 | padding: 0; 1294 | overflow: hidden; 1295 | position: relative; 1296 | line-height: normal; 1297 | } 1298 | .btn.btn-fab .ripple-container { 1299 | border-radius: 50%; 1300 | } 1301 | .btn.btn-fab.btn-fab-mini, .btn-group-sm .btn.btn-fab { 1302 | height: 40px; 1303 | min-width: 40px; 1304 | width: 40px; 1305 | } 1306 | .btn.btn-fab.btn-fab-mini.material-icons, .btn-group-sm .btn.btn-fab.material-icons { 1307 | top: -3.5px; 1308 | left: -3.5px; 1309 | } 1310 | .btn.btn-fab.btn-fab-mini .material-icons, .btn-group-sm .btn.btn-fab .material-icons { 1311 | font-size: 17px; 1312 | } 1313 | .btn.btn-fab i.material-icons { 1314 | position: absolute; 1315 | top: 50%; 1316 | left: 50%; 1317 | transform: translate(-12px, -12px); 1318 | line-height: 24px; 1319 | width: 24px; 1320 | font-size: 24px; 1321 | } 1322 | .btn.btn-lg, .btn-group-lg .btn { 1323 | font-size: 14px; 1324 | padding: 18px 36px; 1325 | } 1326 | .btn.btn-sm, .btn-group-sm .btn { 1327 | padding: 5px 20px; 1328 | font-size: 11px; 1329 | } 1330 | .btn.btn-xs, .btn-group-xs .btn { 1331 | padding: 4px 15px; 1332 | font-size: 10px; 1333 | } 1334 | .btn.btn-just-icon { 1335 | font-size: 18px; 1336 | padding: 10px 10px; 1337 | line-height: 1em; 1338 | } 1339 | .btn.btn-just-icon i { 1340 | width: 20px; 1341 | } 1342 | .btn.btn-just-icon.btn-lg { 1343 | font-size: 22px; 1344 | padding: 13px 18px; 1345 | } 1346 | 1347 | .btn .material-icons { 1348 | vertical-align: middle; 1349 | font-size: 17px; 1350 | top: -1px; 1351 | position: relative; 1352 | } 1353 | 1354 | /* Navigation menu */ 1355 | .nav-pills { 1356 | background-color: rgba(200, 200, 200, 0.2); 1357 | } 1358 | .nav-pills > li + li { 1359 | margin-left: 0; 1360 | } 1361 | .nav-pills > li > a { 1362 | border: 0 !important; 1363 | border-radius: 0; 1364 | line-height: 18px; 1365 | font-size: 12px; 1366 | font-weight: 500; 1367 | min-width: 100px; 1368 | text-align: center; 1369 | color: #555555 !important; 1370 | } 1371 | .nav-pills > li.active > a, 1372 | .nav-pills > li.active > a:hover, 1373 | .nav-pills > li.active > a:focus, 1374 | .nav-pills > li > a:hover, 1375 | .nav-pills > li > a:focus { 1376 | background-color: inherit; 1377 | } 1378 | .nav-pills > li i { 1379 | display: block; 1380 | font-size: 30px; 1381 | padding: 15px 0; 1382 | } 1383 | 1384 | .popover, .tooltip-inner { 1385 | color: #555555; 1386 | line-height: 1.5em; 1387 | background: #FFFFFF; 1388 | border: none; 1389 | border-radius: 3px; 1390 | box-shadow: 0 8px 10px 1px rgba(0, 0, 0, 0.14), 0 3px 14px 2px rgba(0, 0, 0, 0.12), 0 5px 5px -3px rgba(0, 0, 0, 0.2); 1391 | } 1392 | 1393 | .popover { 1394 | padding: 0; 1395 | box-shadow: 0 16px 24px 2px rgba(0, 0, 0, 0.14), 0 6px 30px 5px rgba(0, 0, 0, 0.12), 0 8px 10px -5px rgba(0, 0, 0, 0.2); 1396 | } 1397 | .popover.left > .arrow, .popover.right > .arrow, .popover.top > .arrow, .popover.bottom > .arrow { 1398 | border: none; 1399 | } 1400 | 1401 | .popover-title { 1402 | background-color: #FFFFFF; 1403 | border: none; 1404 | padding: 15px 15px 5px; 1405 | font-size: 1.3em; 1406 | } 1407 | 1408 | .popover-content { 1409 | padding: 10px 15px 15px; 1410 | line-height: 1.4; 1411 | } 1412 | 1413 | .tooltip.in { 1414 | opacity: 1; 1415 | -webkit-transform: translate3d(0, 0px, 0); 1416 | -moz-transform: translate3d(0, 0px, 0); 1417 | -o-transform: translate3d(0, 0px, 0); 1418 | -ms-transform: translate3d(0, 0px, 0); 1419 | transform: translate3d(0, 0px, 0); 1420 | } 1421 | 1422 | .tooltip { 1423 | opacity: 0; 1424 | transition: opacity, transform .2s ease; 1425 | -webkit-transform: translate3d(0, 5px, 0); 1426 | -moz-transform: translate3d(0, 5px, 0); 1427 | -o-transform: translate3d(0, 5px, 0); 1428 | -ms-transform: translate3d(0, 5px, 0); 1429 | transform: translate3d(0, 5px, 0); 1430 | } 1431 | .tooltip.left .tooltip-arrow { 1432 | border-left-color: #FFFFFF; 1433 | } 1434 | .tooltip.right .tooltip-arrow { 1435 | border-right-color: #FFFFFF; 1436 | } 1437 | .tooltip.top .tooltip-arrow { 1438 | border-top-color: #FFFFFF; 1439 | } 1440 | .tooltip.bottom .tooltip-arrow { 1441 | border-bottom-color: #FFFFFF; 1442 | } 1443 | 1444 | .tooltip-inner { 1445 | padding: 10px 15px; 1446 | min-width: 130px; 1447 | } 1448 | 1449 | .footer { 1450 | position: relative; 1451 | bottom: 20px; 1452 | right: 0px; 1453 | width: 100%; 1454 | color: #FFFFFF; 1455 | z-index: 4; 1456 | text-align: right; 1457 | margin-top: 60px; 1458 | text-shadow: 0 0px 1px black; 1459 | } 1460 | .footer a { 1461 | color: #FFFFFF; 1462 | } 1463 | .footer .heart { 1464 | color: #FF3B30; 1465 | } 1466 | 1467 | .withripple { 1468 | position: relative; 1469 | } 1470 | 1471 | .ripple-container { 1472 | position: absolute; 1473 | top: 0; 1474 | left: 0; 1475 | z-index: 1; 1476 | width: 100%; 1477 | height: 100%; 1478 | overflow: hidden; 1479 | border-radius: inherit; 1480 | pointer-events: none; 1481 | } 1482 | .disabled .ripple-container { 1483 | display: none; 1484 | } 1485 | 1486 | .ripple { 1487 | position: absolute; 1488 | width: 20px; 1489 | height: 20px; 1490 | margin-left: -10px; 1491 | margin-top: -10px; 1492 | border-radius: 100%; 1493 | background-color: #000; 1494 | background-color: rgba(0, 0, 0, 0.05); 1495 | transform: scale(1); 1496 | transform-origin: 50%; 1497 | opacity: 0; 1498 | pointer-events: none; 1499 | } 1500 | 1501 | .ripple.ripple-on { 1502 | transition: opacity 0.15s ease-in 0s, transform 0.5s cubic-bezier(0.4, 0, 0.2, 1) 0.1s; 1503 | opacity: 0.1; 1504 | } 1505 | 1506 | .ripple.ripple-out { 1507 | transition: opacity 0.1s linear 0s !important; 1508 | opacity: 0; 1509 | } 1510 | 1511 | .radio label { 1512 | cursor: pointer; 1513 | padding-left: 35px; 1514 | position: relative; 1515 | color: rgba(0,0,0, 0.26); 1516 | } 1517 | .form-group.is-focused .radio label { 1518 | color: rgba(0,0,0, 0.26); 1519 | } 1520 | .form-group.is-focused .radio label:hover, .form-group.is-focused .radio label:focus { 1521 | color: rgba(0,0,0, .54); 1522 | } 1523 | fieldset[disabled] .form-group.is-focused .radio label { 1524 | color: rgba(0,0,0, 0.26); 1525 | } 1526 | .radio label span { 1527 | display: block; 1528 | position: absolute; 1529 | left: 10px; 1530 | top: 2px; 1531 | transition-duration: 0.2s; 1532 | } 1533 | .radio label .circle { 1534 | border: 1px solid rgba(0,0,0, .54); 1535 | height: 15px; 1536 | width: 15px; 1537 | border-radius: 100%; 1538 | } 1539 | .radio label .check { 1540 | height: 15px; 1541 | width: 15px; 1542 | border-radius: 100%; 1543 | background-color: #9c27b0; 1544 | transform: scale3d(0, 0, 0); 1545 | } 1546 | .radio label .check:after { 1547 | display: block; 1548 | position: absolute; 1549 | content: ""; 1550 | background-color: rgba(0,0,0, 0.87); 1551 | left: -18px; 1552 | top: -18px; 1553 | height: 50px; 1554 | width: 50px; 1555 | border-radius: 100%; 1556 | z-index: 1; 1557 | opacity: 0; 1558 | margin: 0; 1559 | transform: scale3d(1.5, 1.5, 1); 1560 | } 1561 | .radio label input[type=radio]:not(:checked) ~ .check:after { 1562 | animation: rippleOff 500ms; 1563 | } 1564 | .radio label input[type=radio]:checked ~ .check:after { 1565 | animation: rippleOn 500ms; 1566 | } 1567 | .radio input[type=radio] { 1568 | opacity: 0; 1569 | height: 0; 1570 | width: 0; 1571 | overflow: hidden; 1572 | } 1573 | .radio input[type=radio]:checked ~ .check, .radio input[type=radio]:checked ~ .circle { 1574 | opacity: 1; 1575 | } 1576 | .radio input[type=radio]:checked ~ .check { 1577 | background-color: #9c27b0; 1578 | } 1579 | .radio input[type=radio]:checked ~ .circle { 1580 | border-color: #9c27b0; 1581 | } 1582 | .radio input[type=radio]:checked ~ .check { 1583 | transform: scale3d(0.65, 0.65, 1); 1584 | } 1585 | .radio input[type=radio][disabled] ~ .check, .radio input[type=radio][disabled] ~ .circle { 1586 | opacity: 0.26; 1587 | } 1588 | .radio input[type=radio][disabled] ~ .check { 1589 | background-color: #000000; 1590 | } 1591 | .radio input[type=radio][disabled] ~ .circle { 1592 | border-color: #000000; 1593 | } 1594 | 1595 | @keyframes rippleOn { 1596 | 0% { 1597 | opacity: 0; 1598 | } 1599 | 50% { 1600 | opacity: 0.2; 1601 | } 1602 | 100% { 1603 | opacity: 0; 1604 | } 1605 | } 1606 | @keyframes rippleOff { 1607 | 0% { 1608 | opacity: 0; 1609 | } 1610 | 50% { 1611 | opacity: 0.2; 1612 | } 1613 | 100% { 1614 | opacity: 0; 1615 | } 1616 | } 1617 | .checkbox label { 1618 | cursor: pointer; 1619 | padding-left: 0; 1620 | color: rgba(0,0,0, 0.26); 1621 | } 1622 | .form-group.is-focused .checkbox label { 1623 | color: rgba(0,0,0, 0.26); 1624 | } 1625 | .form-group.is-focused .checkbox label:hover, .form-group.is-focused .checkbox label:focus { 1626 | color: rgba(0,0,0, .54); 1627 | } 1628 | fieldset[disabled] .form-group.is-focused .checkbox label { 1629 | color: rgba(0,0,0, 0.26); 1630 | } 1631 | .checkbox input[type=checkbox] { 1632 | opacity: 0; 1633 | position: absolute; 1634 | margin: 0; 1635 | z-index: -1; 1636 | width: 0; 1637 | height: 0; 1638 | overflow: hidden; 1639 | left: 0; 1640 | pointer-events: none; 1641 | } 1642 | .checkbox .checkbox-material { 1643 | vertical-align: middle; 1644 | position: relative; 1645 | top: 3px; 1646 | padding-right: 5px; 1647 | } 1648 | .checkbox .checkbox-material:before { 1649 | display: block; 1650 | position: absolute; 1651 | left: 0; 1652 | content: ""; 1653 | background-color: rgba(0, 0, 0, 0.84); 1654 | height: 20px; 1655 | width: 20px; 1656 | border-radius: 100%; 1657 | z-index: 1; 1658 | opacity: 0; 1659 | margin: 0; 1660 | transform: scale3d(2.3, 2.3, 1); 1661 | } 1662 | .checkbox .checkbox-material .check { 1663 | position: relative; 1664 | display: inline-block; 1665 | width: 20px; 1666 | height: 20px; 1667 | border: 1px solid rgba(0,0,0, .54); 1668 | overflow: hidden; 1669 | z-index: 1; 1670 | border-radius: 3px; 1671 | } 1672 | .checkbox .checkbox-material .check:before { 1673 | position: absolute; 1674 | content: ""; 1675 | transform: rotate(45deg); 1676 | display: block; 1677 | margin-top: -3px; 1678 | margin-left: 7px; 1679 | width: 0; 1680 | height: 0; 1681 | background: red; 1682 | box-shadow: 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0, 0 0 0 0 inset; 1683 | animation: checkbox-off 0.3s forwards; 1684 | } 1685 | .checkbox input[type=checkbox]:focus + .checkbox-material .check:after { 1686 | opacity: 0.2; 1687 | } 1688 | .checkbox input[type=checkbox]:checked + .checkbox-material .check { 1689 | background: #9c27b0; 1690 | } 1691 | .checkbox input[type=checkbox]:checked + .checkbox-material .check:before { 1692 | color: #FFFFFF; 1693 | box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; 1694 | animation: checkbox-on 0.3s forwards; 1695 | } 1696 | .checkbox input[type=checkbox]:checked + .checkbox-material:before { 1697 | animation: rippleOn 500ms; 1698 | } 1699 | .checkbox input[type=checkbox]:checked + .checkbox-material .check:after { 1700 | animation: rippleOn 500ms forwards; 1701 | } 1702 | .checkbox input[type=checkbox]:not(:checked) + .checkbox-material:before { 1703 | animation: rippleOff 500ms; 1704 | } 1705 | .checkbox input[type=checkbox]:not(:checked) + .checkbox-material .check:after { 1706 | animation: rippleOff 500ms; 1707 | } 1708 | fieldset[disabled] .checkbox, fieldset[disabled] .checkbox input[type=checkbox], 1709 | .checkbox input[type=checkbox][disabled] ~ .checkbox-material .check, 1710 | .checkbox input[type=checkbox][disabled] + .circle { 1711 | opacity: 0.5; 1712 | } 1713 | .checkbox input[type=checkbox][disabled] ~ .checkbox-material .check { 1714 | border-color: #000000; 1715 | opacity: .26; 1716 | } 1717 | .checkbox input[type=checkbox][disabled] + .checkbox-material .check:after { 1718 | background-color: rgba(0,0,0, 0.87); 1719 | transform: rotate(-45deg); 1720 | } 1721 | 1722 | @keyframes checkbox-on { 1723 | 0% { 1724 | box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 15px 2px 0 11px; 1725 | } 1726 | 50% { 1727 | box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px 2px 0 11px; 1728 | } 1729 | 100% { 1730 | box-shadow: 0 0 0 10px, 10px -10px 0 10px, 32px 0 0 20px, 0px 32px 0 20px, -5px 5px 0 10px, 20px -12px 0 11px; 1731 | } 1732 | } 1733 | @keyframes rippleOn { 1734 | 0% { 1735 | opacity: 0; 1736 | } 1737 | 50% { 1738 | opacity: 0.2; 1739 | } 1740 | 100% { 1741 | opacity: 0; 1742 | } 1743 | } 1744 | @keyframes rippleOff { 1745 | 0% { 1746 | opacity: 0; 1747 | } 1748 | 50% { 1749 | opacity: 0.2; 1750 | } 1751 | 100% { 1752 | opacity: 0; 1753 | } 1754 | } 1755 | @media (max-width: 768px) { 1756 | .main .container { 1757 | margin-bottom: 50px; 1758 | } 1759 | } 1760 | @media (min-width: 768px) { 1761 | .navbar-form { 1762 | margin-top: 21px; 1763 | margin-bottom: 21px; 1764 | padding-left: 5px; 1765 | padding-right: 5px; 1766 | } 1767 | 1768 | .btn-wd { 1769 | min-width: 140px; 1770 | } 1771 | } 1772 | -------------------------------------------------------------------------------- /MyXXE/WebContent/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | xxe test 5 | 6 | 7 | 1 DOM Read XML
8 | 1.2 DOM Read XML-Sec
9 | 2 DOM4J Read XML
10 | 2.2 DOM4J Read XML-Sec
11 | 3 JDOM2 Read XML
12 | 3.2 JDOM2 Read XML-Sec
13 | 4 SAX Read XML
14 | 4.2 SAX Read XML-Sec
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /MyXXE/WebContent/js/bootstrap.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.3.5 (http://getbootstrap.com) 3 | * Copyright 2011-2015 Twitter, Inc. 4 | * Licensed under the MIT license 5 | */ 6 | if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){"use strict";var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.5",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.5",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")?(c.prop("checked")&&(a=!1),b.find(".active").removeClass("active"),this.$element.addClass("active")):"checkbox"==c.prop("type")&&(c.prop("checked")!==this.$element.hasClass("active")&&(a=!1),this.$element.toggleClass("active")),c.prop("checked",this.$element.hasClass("active")),a&&c.trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active")),this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),a(c.target).is('input[type="radio"]')||a(c.target).is('input[type="checkbox"]')||c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(b.type))})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=null,this.sliding=null,this.interval=null,this.$active=null,this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.5",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){if(!/input|textarea/i.test(a.target.tagName)){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()}},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c=this.getItemIndex(b),d="prev"==a&&0===c||"next"==a&&c==this.$items.length-1;if(d&&!this.options.wrap)return b;var e="prev"==a?-1:1,f=(c+e)%this.$items.length;return this.$items.eq(f)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i=this;if(f.hasClass("active"))return this.sliding=!1;var j=f[0],k=a.Event("slide.bs.carousel",{relatedTarget:j,direction:h});if(this.$element.trigger(k),!k.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var l=a(this.$indicators.children()[this.getItemIndex(f)]);l&&l.addClass("active")}var m=a.Event("slid.bs.carousel",{relatedTarget:j,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger(m)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(m)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&/show|hide/.test(b)&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a('[data-toggle="collapse"][href="#'+b.id+'"],[data-toggle="collapse"][data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.5",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":e.data();c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function c(c){c&&3===c.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=b(d),f={relatedTarget:this};e.hasClass("open")&&(c&&"click"==c.type&&/input|textarea/i.test(c.target.tagName)&&a.contains(e[0],c.target)||(e.trigger(c=a.Event("hide.bs.dropdown",f)),c.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f))))}))}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.5",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=b(e),g=f.hasClass("open");if(c(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a(document.createElement("div")).addClass("dropdown-backdrop").insertAfter(a(this)).on("click",c);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(c){if(/(38|40|27|32)/.test(c.which)&&!/input|textarea/i.test(c.target.tagName)){var d=a(this);if(c.preventDefault(),c.stopPropagation(),!d.is(".disabled, :disabled")){var e=b(d),g=e.hasClass("open");if(!g&&27!=c.which||g&&27==c.which)return 27==c.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.disabled):visible a",i=e.find(".dropdown-menu"+h);if(i.length){var j=i.index(c.target);38==c.which&&j>0&&j--,40==c.which&&jdocument.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&a?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!a?this.scrollbarWidth:""})},c.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})},c.prototype.checkScrollbar=function(){var a=window.innerWidth;if(!a){var b=document.documentElement.getBoundingClientRect();a=b.right-Math.abs(b.left)}this.bodyIsOverflowing=document.body.clientWidth
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){if(this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(a.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport),this.inState={click:!1,hover:!1,focus:!1},this.$element[0]instanceof document.constructor&&!this.options.selector)throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!");for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusin"==b.type?"focus":"hover"]=!0),c.tip().hasClass("in")||"in"==c.hoverState?void(c.hoverState="in"):(clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.isInStateTrue=function(){for(var a in this.inState)if(this.inState[a])return!0;return!1},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),b instanceof a.Event&&(c.inState["focusout"==b.type?"focus":"hover"]=!1),c.isInStateTrue()?void 0:(clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide())},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element),this.$element.trigger("inserted.bs."+this.type);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.getPosition(this.$viewport);h="bottom"==h&&k.bottom+m>o.bottom?"top":"top"==h&&k.top-mo.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.right&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){if(!this.$tip&&(this.$tip=a(this.options.template),1!=this.$tip.length))throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!");return this.$tip},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),b?(c.inState.click=!c.inState.click,c.isInStateTrue()?c.enter(c):c.leave(c)):c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type),a.$tip&&a.$tip.detach(),a.$tip=null,a.$arrow=null,a.$viewport=null})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b;(e||!/destroy|hide/.test(b))&&(e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.5",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){this.$body=a(document.body),this.$scrollElement=a(a(c).is(document.body)?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",a.proxy(this.process,this)),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.5",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b=this,c="offset",d=0;this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight(),a.isWindow(this.$scrollElement[0])||(c="position",d=this.$scrollElement.scrollTop()),this.$body.find(this.selector).map(function(){var b=a(this),e=b.data("target")||b.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[c]().top+d,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){b.offsets.push(this[0]),b.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(void 0===e[a+1]||b .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu").length&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=null,this.unpin=null,this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.5",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=e?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=Math.max(a(document).height(),a(document.body).height());"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery); -------------------------------------------------------------------------------- /MyXXE/WebContent/js/jquery.bootstrap.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * jQuery twitter bootstrap wizard plugin 3 | * Examples and documentation at: http://github.com/VinceG/twitter-bootstrap-wizard 4 | * version 1.0 5 | * Requires jQuery v1.3.2 or later 6 | * Supports Bootstrap 2.2.x, 2.3.x, 3.0 7 | * Dual licensed under the MIT and GPL licenses: 8 | * http://www.opensource.org/licenses/mit-license.php 9 | * http://www.gnu.org/licenses/gpl.html 10 | * Authors: Vadim Vincent Gabriel (http://vadimg.com), Jason Gill (www.gilluminate.com) 11 | */ 12 | ;(function($) { 13 | var bootstrapWizardCreate = function(element, options) { 14 | var element = $(element); 15 | var obj = this; 16 | 17 | // selector skips any 'li' elements that do not contain a child with a tab data-toggle 18 | var baseItemSelector = 'li:has([data-toggle="tab"])'; 19 | 20 | // Merge options with defaults 21 | var $settings = $.extend({}, $.fn.bootstrapWizard.defaults, options); 22 | var $activeTab = null; 23 | var $navigation = null; 24 | 25 | this.rebindClick = function(selector, fn) 26 | { 27 | selector.unbind('click', fn).bind('click', fn); 28 | } 29 | 30 | this.fixNavigationButtons = function() { 31 | // Get the current active tab 32 | if(!$activeTab.length) { 33 | // Select first one 34 | $navigation.find('a:first').tab('show'); 35 | $activeTab = $navigation.find(baseItemSelector + ':first'); 36 | } 37 | 38 | // See if we're currently in the first/last then disable the previous and last buttons 39 | $($settings.previousSelector, element).toggleClass('disabled', (obj.firstIndex() >= obj.currentIndex())); 40 | $($settings.nextSelector, element).toggleClass('disabled', (obj.currentIndex() >= obj.navigationLength())); 41 | 42 | // We are unbinding and rebinding to ensure single firing and no double-click errors 43 | obj.rebindClick($($settings.nextSelector, element), obj.next); 44 | obj.rebindClick($($settings.previousSelector, element), obj.previous); 45 | obj.rebindClick($($settings.lastSelector, element), obj.last); 46 | obj.rebindClick($($settings.firstSelector, element), obj.first); 47 | 48 | if($settings.onTabShow && typeof $settings.onTabShow === 'function' && $settings.onTabShow($activeTab, $navigation, obj.currentIndex())===false){ 49 | return false; 50 | } 51 | }; 52 | 53 | this.next = function(e) { 54 | 55 | // If we clicked the last then dont activate this 56 | if(element.hasClass('last')) { 57 | return false; 58 | } 59 | 60 | if($settings.onNext && typeof $settings.onNext === 'function' && $settings.onNext($activeTab, $navigation, obj.nextIndex())===false){ 61 | return false; 62 | } 63 | 64 | // Did we click the last button 65 | $index = obj.nextIndex(); 66 | if($index > obj.navigationLength()) { 67 | } else { 68 | $navigation.find(baseItemSelector + ':eq('+$index+') a').tab('show'); 69 | } 70 | }; 71 | 72 | this.previous = function(e) { 73 | 74 | // If we clicked the first then dont activate this 75 | if(element.hasClass('first')) { 76 | return false; 77 | } 78 | 79 | if($settings.onPrevious && typeof $settings.onPrevious === 'function' && $settings.onPrevious($activeTab, $navigation, obj.previousIndex())===false){ 80 | return false; 81 | } 82 | 83 | $index = obj.previousIndex(); 84 | if($index < 0) { 85 | } else { 86 | $navigation.find(baseItemSelector + ':eq('+$index+') a').tab('show'); 87 | } 88 | }; 89 | 90 | this.first = function(e) { 91 | if($settings.onFirst && typeof $settings.onFirst === 'function' && $settings.onFirst($activeTab, $navigation, obj.firstIndex())===false){ 92 | return false; 93 | } 94 | 95 | // If the element is disabled then we won't do anything 96 | if(element.hasClass('disabled')) { 97 | return false; 98 | } 99 | $navigation.find(baseItemSelector + ':eq(0) a').tab('show'); 100 | 101 | }; 102 | this.last = function(e) { 103 | if($settings.onLast && typeof $settings.onLast === 'function' && $settings.onLast($activeTab, $navigation, obj.lastIndex())===false){ 104 | return false; 105 | } 106 | 107 | // If the element is disabled then we won't do anything 108 | if(element.hasClass('disabled')) { 109 | return false; 110 | } 111 | $navigation.find(baseItemSelector + ':eq('+obj.navigationLength()+') a').tab('show'); 112 | }; 113 | this.currentIndex = function() { 114 | return $navigation.find(baseItemSelector).index($activeTab); 115 | }; 116 | this.firstIndex = function() { 117 | return 0; 118 | }; 119 | this.lastIndex = function() { 120 | return obj.navigationLength(); 121 | }; 122 | this.getIndex = function(e) { 123 | return $navigation.find(baseItemSelector).index(e); 124 | }; 125 | this.nextIndex = function() { 126 | return $navigation.find(baseItemSelector).index($activeTab) + 1; 127 | }; 128 | this.previousIndex = function() { 129 | return $navigation.find(baseItemSelector).index($activeTab) - 1; 130 | }; 131 | this.navigationLength = function() { 132 | return $navigation.find(baseItemSelector).length - 1; 133 | }; 134 | this.activeTab = function() { 135 | return $activeTab; 136 | }; 137 | this.nextTab = function() { 138 | return $navigation.find(baseItemSelector + ':eq('+(obj.currentIndex()+1)+')').length ? $navigation.find(baseItemSelector + ':eq('+(obj.currentIndex()+1)+')') : null; 139 | }; 140 | this.previousTab = function() { 141 | if(obj.currentIndex() <= 0) { 142 | return null; 143 | } 144 | return $navigation.find(baseItemSelector + ':eq('+parseInt(obj.currentIndex()-1)+')'); 145 | }; 146 | this.show = function(index) { 147 | if (isNaN(index)) { 148 | return element.find(baseItemSelector + ' a[href=#' + index + ']').tab('show'); 149 | } 150 | else { 151 | return element.find(baseItemSelector + ':eq(' + index + ') a').tab('show'); 152 | } 153 | }; 154 | this.disable = function(index) { 155 | $navigation.find(baseItemSelector + ':eq('+index+')').addClass('disabled'); 156 | }; 157 | this.enable = function(index) { 158 | $navigation.find(baseItemSelector + ':eq('+index+')').removeClass('disabled'); 159 | }; 160 | this.hide = function(index) { 161 | $navigation.find(baseItemSelector + ':eq('+index+')').hide(); 162 | }; 163 | this.display = function(index) { 164 | $navigation.find(baseItemSelector + ':eq('+index+')').show(); 165 | }; 166 | this.remove = function(args) { 167 | var $index = args[0]; 168 | var $removeTabPane = typeof args[1] != 'undefined' ? args[1] : false; 169 | var $item = $navigation.find(baseItemSelector + ':eq('+$index+')'); 170 | 171 | // Remove the tab pane first if needed 172 | if($removeTabPane) { 173 | var $href = $item.find('a').attr('href'); 174 | $($href).remove(); 175 | } 176 | 177 | // Remove menu item 178 | $item.remove(); 179 | }; 180 | 181 | var innerTabClick = function (e) { 182 | // Get the index of the clicked tab 183 | var clickedIndex = $navigation.find(baseItemSelector).index($(e.currentTarget).parent(baseItemSelector)); 184 | if($settings.onTabClick && typeof $settings.onTabClick === 'function' && $settings.onTabClick($activeTab, $navigation, obj.currentIndex(), clickedIndex)===false){ 185 | return false; 186 | } 187 | }; 188 | 189 | var innerTabShown = function (e) { // use shown instead of show to help prevent double firing 190 | $element = $(e.target).parent(); 191 | var nextTab = $navigation.find(baseItemSelector).index($element); 192 | 193 | // If it's disabled then do not change 194 | if($element.hasClass('disabled')) { 195 | return false; 196 | } 197 | 198 | if($settings.onTabChange && typeof $settings.onTabChange === 'function' && $settings.onTabChange($activeTab, $navigation, obj.currentIndex(), nextTab)===false){ 199 | return false; 200 | } 201 | 202 | $activeTab = $element; // activated tab 203 | obj.fixNavigationButtons(); 204 | }; 205 | 206 | this.resetWizard = function() { 207 | 208 | // remove the existing handlers 209 | $('a[data-toggle="tab"]', $navigation).off('click', innerTabClick); 210 | $('a[data-toggle="tab"]', $navigation).off('shown shown.bs.tab', innerTabShown); 211 | 212 | // reset elements based on current state of the DOM 213 | $navigation = element.find('ul:first', element); 214 | $activeTab = $navigation.find(baseItemSelector + '.active', element); 215 | 216 | // re-add handlers 217 | $('a[data-toggle="tab"]', $navigation).on('click', innerTabClick); 218 | $('a[data-toggle="tab"]', $navigation).on('shown shown.bs.tab', innerTabShown); 219 | 220 | obj.fixNavigationButtons(); 221 | }; 222 | 223 | $navigation = element.find('ul:first', element); 224 | $activeTab = $navigation.find(baseItemSelector + '.active', element); 225 | 226 | if(!$navigation.hasClass($settings.tabClass)) { 227 | $navigation.addClass($settings.tabClass); 228 | } 229 | 230 | // Load onInit 231 | if($settings.onInit && typeof $settings.onInit === 'function'){ 232 | $settings.onInit($activeTab, $navigation, 0); 233 | } 234 | 235 | // Load onShow 236 | if($settings.onShow && typeof $settings.onShow === 'function'){ 237 | $settings.onShow($activeTab, $navigation, obj.nextIndex()); 238 | } 239 | 240 | $('a[data-toggle="tab"]', $navigation).on('click', innerTabClick); 241 | 242 | // attach to both shown and shown.bs.tab to support Bootstrap versions 2.3.2 and 3.0.0 243 | $('a[data-toggle="tab"]', $navigation).on('shown shown.bs.tab', innerTabShown); 244 | }; 245 | $.fn.bootstrapWizard = function(options) { 246 | //expose methods 247 | if (typeof options == 'string') { 248 | var args = Array.prototype.slice.call(arguments, 1) 249 | if(args.length === 1) { 250 | args.toString(); 251 | } 252 | return this.data('bootstrapWizard')[options](args); 253 | } 254 | return this.each(function(index){ 255 | var element = $(this); 256 | // Return early if this element already has a plugin instance 257 | if (element.data('bootstrapWizard')) return; 258 | // pass options to plugin constructor 259 | var wizard = new bootstrapWizardCreate(element, options); 260 | // Store plugin object in this element's data 261 | element.data('bootstrapWizard', wizard); 262 | // and then trigger initial change 263 | wizard.fixNavigationButtons(); 264 | }); 265 | }; 266 | 267 | // expose options 268 | $.fn.bootstrapWizard.defaults = { 269 | tabClass: 'nav nav-pills', 270 | nextSelector: '.wizard li.next', 271 | previousSelector: '.wizard li.previous', 272 | firstSelector: '.wizard li.first', 273 | lastSelector: '.wizard li.last', 274 | onShow: null, 275 | onInit: null, 276 | onNext: null, 277 | onPrevious: null, 278 | onLast: null, 279 | onFirst: null, 280 | onTabChange: null, 281 | onTabClick: null, 282 | onTabShow: null 283 | }; 284 | 285 | })(jQuery); 286 | 287 | 288 | // Material Design Core Functions 289 | 290 | !function(t){function o(t){return"undefined"==typeof t.which?!0:"number"==typeof t.which&&t.which>0?!t.ctrlKey&&!t.metaKey&&!t.altKey&&8!=t.which&&9!=t.which&&13!=t.which&&16!=t.which&&17!=t.which&&20!=t.which&&27!=t.which:!1}function i(o){var i=t(o);i.prop("disabled")||i.closest(".form-group").addClass("is-focused")}function n(o){o.closest("label").hover(function(){var o=t(this).find("input");o.prop("disabled")||i(o)},function(){e(t(this).find("input"))})}function e(o){t(o).closest(".form-group").removeClass("is-focused")}t.expr[":"].notmdproc=function(o){return t(o).data("mdproc")?!1:!0},t.material={options:{validate:!0,input:!0,ripples:!0,checkbox:!0,togglebutton:!0,radio:!0,arrive:!0,autofill:!1,withRipples:[".btn:not(.btn-link)",".card-image",".navbar a:not(.withoutripple)",".footer a:not(.withoutripple)",".dropdown-menu a",".nav-tabs a:not(.withoutripple)",".withripple",".pagination li:not(.active):not(.disabled) a:not(.withoutripple)"].join(","),inputElements:"input.form-control, textarea.form-control, select.form-control",checkboxElements:".checkbox > label > input[type=checkbox]",togglebuttonElements:".togglebutton > label > input[type=checkbox]",radioElements:".radio > label > input[type=radio]"},checkbox:function(o){var i=t(o?o:this.options.checkboxElements).filter(":notmdproc").data("mdproc",!0).after("");n(i)},togglebutton:function(o){var i=t(o?o:this.options.togglebuttonElements).filter(":notmdproc").data("mdproc",!0).after("");n(i)},radio:function(o){var i=t(o?o:this.options.radioElements).filter(":notmdproc").data("mdproc",!0).after("");n(i)},input:function(o){t(o?o:this.options.inputElements).filter(":notmdproc").data("mdproc",!0).each(function(){var o=t(this),i=o.closest(".form-group");0===i.length&&(o.wrap("
"),i=o.closest(".form-group")),o.attr("data-hint")&&(o.after("

"+o.attr("data-hint")+"

"),o.removeAttr("data-hint"));var n={"input-lg":"form-group-lg","input-sm":"form-group-sm"};if(t.each(n,function(t,n){o.hasClass(t)&&(o.removeClass(t),i.addClass(n))}),o.hasClass("floating-label")){var e=o.attr("placeholder");o.attr("placeholder",null).removeClass("floating-label");var a=o.attr("id"),r="";a&&(r="for='"+a+"'"),i.addClass("label-floating"),o.after("")}(null===o.val()||"undefined"==o.val()||""===o.val())&&i.addClass("is-empty"),i.append(""),i.find("input[type=file]").length>0&&i.addClass("is-fileinput")})},attachInputEventHandlers:function(){var n=this.options.validate;t(document).on("change",".checkbox input[type=checkbox]",function(){t(this).blur()}).on("keydown paste",".form-control",function(i){o(i)&&t(this).closest(".form-group").removeClass("is-empty")}).on("keyup change",".form-control",function(){var o=t(this),i=o.closest(".form-group"),e="undefined"==typeof o[0].checkValidity||o[0].checkValidity();""===o.val()?i.addClass("is-empty"):i.removeClass("is-empty"),n&&(e?i.removeClass("has-error"):i.addClass("has-error"))}).on("focus",".form-control, .form-group.is-fileinput",function(){i(this)}).on("blur",".form-control, .form-group.is-fileinput",function(){e(this)}).on("change",".form-group input",function(){var o=t(this);if("file"!=o.attr("type")){var i=o.closest(".form-group"),n=o.val();n?i.removeClass("is-empty"):i.addClass("is-empty")}}).on("change",".form-group.is-fileinput input[type='file']",function(){var o=t(this),i=o.closest(".form-group"),n="";t.each(this.files,function(t,o){n+=o.name+", "}),n=n.substring(0,n.length-2),n?i.removeClass("is-empty"):i.addClass("is-empty"),i.find("input.form-control[readonly]").val(n)})},ripples:function(o){t(o?o:this.options.withRipples).ripples()},autofill:function(){var o=setInterval(function(){t("input[type!=checkbox]").each(function(){var o=t(this);o.val()&&o.val()!==o.attr("value")&&o.trigger("change")})},100);setTimeout(function(){clearInterval(o)},1e4)},attachAutofillEventHandlers:function(){var o;t(document).on("focus","input",function(){var i=t(this).parents("form").find("input").not("[type=file]");o=setInterval(function(){i.each(function(){var o=t(this);o.val()!==o.attr("value")&&o.trigger("change")})},100)}).on("blur",".form-group input",function(){clearInterval(o)})},init:function(o){this.options=t.extend({},this.options,o);var i=t(document);t.fn.ripples&&this.options.ripples&&this.ripples(),this.options.input&&(this.input(),this.attachInputEventHandlers()),this.options.checkbox&&this.checkbox(),this.options.togglebutton&&this.togglebutton(),this.options.radio&&this.radio(),this.options.autofill&&(this.autofill(),this.attachAutofillEventHandlers()),document.arrive&&this.options.arrive&&(t.fn.ripples&&this.options.ripples&&i.arrive(this.options.withRipples,function(){t.material.ripples(t(this))}),this.options.input&&i.arrive(this.options.inputElements,function(){t.material.input(t(this))}),this.options.checkbox&&i.arrive(this.options.checkboxElements,function(){t.material.checkbox(t(this))}),this.options.radio&&i.arrive(this.options.radioElements,function(){t.material.radio(t(this))}),this.options.togglebutton&&i.arrive(this.options.togglebuttonElements,function(){t.material.togglebutton(t(this))}))}}}(jQuery),function(t,o,i,n){"use strict";function e(o,i){r=this,this.element=t(o),this.options=t.extend({},s,i),this._defaults=s,this._name=a,this.init()}var a="ripples",r=null,s={};e.prototype.init=function(){var i=this.element;i.on("mousedown touchstart",function(n){if(!r.isTouch()||"mousedown"!==n.type){i.find(".ripple-container").length||i.append('
');var e=i.children(".ripple-container"),a=r.getRelY(e,n),s=r.getRelX(e,n);if(a||s){var l=r.getRipplesColor(i),p=t("
");p.addClass("ripple").css({left:s,top:a,"background-color":l}),e.append(p),function(){return o.getComputedStyle(p[0]).opacity}(),r.rippleOn(i,p),setTimeout(function(){r.rippleEnd(p)},500),i.on("mouseup mouseleave touchend",function(){p.data("mousedown","off"),"off"===p.data("animating")&&r.rippleOut(p)})}}})},e.prototype.getNewSize=function(t,o){return Math.max(t.outerWidth(),t.outerHeight())/o.outerWidth()*2.5},e.prototype.getRelX=function(t,o){var i=t.offset();return r.isTouch()?(o=o.originalEvent,1===o.touches.length?o.touches[0].pageX-i.left:!1):o.pageX-i.left},e.prototype.getRelY=function(t,o){var i=t.offset();return r.isTouch()?(o=o.originalEvent,1===o.touches.length?o.touches[0].pageY-i.top:!1):o.pageY-i.top},e.prototype.getRipplesColor=function(t){var i=t.data("ripple-color")?t.data("ripple-color"):o.getComputedStyle(t[0]).color;return i},e.prototype.hasTransitionSupport=function(){var t=i.body||i.documentElement,o=t.style,e=o.transition!==n||o.WebkitTransition!==n||o.MozTransition!==n||o.MsTransition!==n||o.OTransition!==n;return e},e.prototype.isTouch=function(){return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)},e.prototype.rippleEnd=function(t){t.data("animating","off"),"off"===t.data("mousedown")&&r.rippleOut(t)},e.prototype.rippleOut=function(t){t.off(),r.hasTransitionSupport()?t.addClass("ripple-out"):t.animate({opacity:0},100,function(){t.trigger("transitionend")}),t.on("transitionend webkitTransitionEnd oTransitionEnd MSTransitionEnd",function(){t.remove()})},e.prototype.rippleOn=function(t,o){var i=r.getNewSize(t,o);r.hasTransitionSupport()?o.css({"-ms-transform":"scale("+i+")","-moz-transform":"scale("+i+")","-webkit-transform":"scale("+i+")",transform:"scale("+i+")"}).addClass("ripple-on").data("animating","on").data("mousedown","on"):o.animate({width:2*Math.max(t.outerWidth(),t.outerHeight()),height:2*Math.max(t.outerWidth(),t.outerHeight()),"margin-left":-1*Math.max(t.outerWidth(),t.outerHeight()),"margin-top":-1*Math.max(t.outerWidth(),t.outerHeight()),opacity:.2},500,function(){o.trigger("transitionend")})},t.fn.ripples=function(o){return this.each(function(){t.data(this,"plugin_"+a)||t.data(this,"plugin_"+a,new e(this,o))})}}(jQuery,window,document); 291 | -------------------------------------------------------------------------------- /MyXXE/WebContent/js/jquery.validate.min.js: -------------------------------------------------------------------------------- 1 | /*! jQuery Validation Plugin - v1.14.0 - 6/30/2015 2 | * http://jqueryvalidation.org/ 3 | * Copyright (c) 2015 Jörn Zaefferer; Licensed MIT */ 4 | !function(a){"function"==typeof define&&define.amd?define(["jquery"],a):a(jQuery)}(function(a){a.extend(a.fn,{validate:function(b){if(!this.length)return void(b&&b.debug&&window.console&&console.warn("Nothing selected, can't validate, returning nothing."));var c=a.data(this[0],"validator");return c?c:(this.attr("novalidate","novalidate"),c=new a.validator(b,this[0]),a.data(this[0],"validator",c),c.settings.onsubmit&&(this.on("click.validate",":submit",function(b){c.settings.submitHandler&&(c.submitButton=b.target),a(this).hasClass("cancel")&&(c.cancelSubmit=!0),void 0!==a(this).attr("formnovalidate")&&(c.cancelSubmit=!0)}),this.on("submit.validate",function(b){function d(){var d,e;return c.settings.submitHandler?(c.submitButton&&(d=a("").attr("name",c.submitButton.name).val(a(c.submitButton).val()).appendTo(c.currentForm)),e=c.settings.submitHandler.call(c,c.currentForm,b),c.submitButton&&d.remove(),void 0!==e?e:!1):!0}return c.settings.debug&&b.preventDefault(),c.cancelSubmit?(c.cancelSubmit=!1,d()):c.form()?c.pendingRequest?(c.formSubmitted=!0,!1):d():(c.focusInvalid(),!1)})),c)},valid:function(){var b,c,d;return a(this[0]).is("form")?b=this.validate().form():(d=[],b=!0,c=a(this[0].form).validate(),this.each(function(){b=c.element(this)&&b,d=d.concat(c.errorList)}),c.errorList=d),b},rules:function(b,c){var d,e,f,g,h,i,j=this[0];if(b)switch(d=a.data(j.form,"validator").settings,e=d.rules,f=a.validator.staticRules(j),b){case"add":a.extend(f,a.validator.normalizeRule(c)),delete f.messages,e[j.name]=f,c.messages&&(d.messages[j.name]=a.extend(d.messages[j.name],c.messages));break;case"remove":return c?(i={},a.each(c.split(/\s/),function(b,c){i[c]=f[c],delete f[c],"required"===c&&a(j).removeAttr("aria-required")}),i):(delete e[j.name],f)}return g=a.validator.normalizeRules(a.extend({},a.validator.classRules(j),a.validator.attributeRules(j),a.validator.dataRules(j),a.validator.staticRules(j)),j),g.required&&(h=g.required,delete g.required,g=a.extend({required:h},g),a(j).attr("aria-required","true")),g.remote&&(h=g.remote,delete g.remote,g=a.extend(g,{remote:h})),g}}),a.extend(a.expr[":"],{blank:function(b){return!a.trim(""+a(b).val())},filled:function(b){return!!a.trim(""+a(b).val())},unchecked:function(b){return!a(b).prop("checked")}}),a.validator=function(b,c){this.settings=a.extend(!0,{},a.validator.defaults,b),this.currentForm=c,this.init()},a.validator.format=function(b,c){return 1===arguments.length?function(){var c=a.makeArray(arguments);return c.unshift(b),a.validator.format.apply(this,c)}:(arguments.length>2&&c.constructor!==Array&&(c=a.makeArray(arguments).slice(1)),c.constructor!==Array&&(c=[c]),a.each(c,function(a,c){b=b.replace(new RegExp("\\{"+a+"\\}","g"),function(){return c})}),b)},a.extend(a.validator,{defaults:{messages:{},groups:{},rules:{},errorClass:"error",validClass:"valid",errorElement:"label",focusCleanup:!1,focusInvalid:!0,errorContainer:a([]),errorLabelContainer:a([]),onsubmit:!0,ignore:":hidden",ignoreTitle:!1,onfocusin:function(a){this.lastActive=a,this.settings.focusCleanup&&(this.settings.unhighlight&&this.settings.unhighlight.call(this,a,this.settings.errorClass,this.settings.validClass),this.hideThese(this.errorsFor(a)))},onfocusout:function(a){this.checkable(a)||!(a.name in this.submitted)&&this.optional(a)||this.element(a)},onkeyup:function(b,c){var d=[16,17,18,20,35,36,37,38,39,40,45,144,225];9===c.which&&""===this.elementValue(b)||-1!==a.inArray(c.keyCode,d)||(b.name in this.submitted||b===this.lastElement)&&this.element(b)},onclick:function(a){a.name in this.submitted?this.element(a):a.parentNode.name in this.submitted&&this.element(a.parentNode)},highlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).addClass(c).removeClass(d):a(b).addClass(c).removeClass(d)},unhighlight:function(b,c,d){"radio"===b.type?this.findByName(b.name).removeClass(c).addClass(d):a(b).removeClass(c).addClass(d)}},setDefaults:function(b){a.extend(a.validator.defaults,b)},messages:{required:"This field is required.",remote:"Please fix this field.",email:"Please enter a valid email address.",url:"Please enter a valid URL.",date:"Please enter a valid date.",dateISO:"Please enter a valid date ( ISO ).",number:"Please enter a valid number.",digits:"Please enter only digits.",creditcard:"Please enter a valid credit card number.",equalTo:"Please enter the same value again.",maxlength:a.validator.format("Please enter no more than {0} characters."),minlength:a.validator.format("Please enter at least {0} characters."),rangelength:a.validator.format("Please enter a value between {0} and {1} characters long."),range:a.validator.format("Please enter a value between {0} and {1}."),max:a.validator.format("Please enter a value less than or equal to {0}."),min:a.validator.format("Please enter a value greater than or equal to {0}.")},autoCreateRanges:!1,prototype:{init:function(){function b(b){var c=a.data(this.form,"validator"),d="on"+b.type.replace(/^validate/,""),e=c.settings;e[d]&&!a(this).is(e.ignore)&&e[d].call(c,this,b)}this.labelContainer=a(this.settings.errorLabelContainer),this.errorContext=this.labelContainer.length&&this.labelContainer||a(this.currentForm),this.containers=a(this.settings.errorContainer).add(this.settings.errorLabelContainer),this.submitted={},this.valueCache={},this.pendingRequest=0,this.pending={},this.invalid={},this.reset();var c,d=this.groups={};a.each(this.settings.groups,function(b,c){"string"==typeof c&&(c=c.split(/\s/)),a.each(c,function(a,c){d[c]=b})}),c=this.settings.rules,a.each(c,function(b,d){c[b]=a.validator.normalizeRule(d)}),a(this.currentForm).on("focusin.validate focusout.validate keyup.validate",":text, [type='password'], [type='file'], select, textarea, [type='number'], [type='search'], [type='tel'], [type='url'], [type='email'], [type='datetime'], [type='date'], [type='month'], [type='week'], [type='time'], [type='datetime-local'], [type='range'], [type='color'], [type='radio'], [type='checkbox']",b).on("click.validate","select, option, [type='radio'], [type='checkbox']",b),this.settings.invalidHandler&&a(this.currentForm).on("invalid-form.validate",this.settings.invalidHandler),a(this.currentForm).find("[required], [data-rule-required], .required").attr("aria-required","true")},form:function(){return this.checkForm(),a.extend(this.submitted,this.errorMap),this.invalid=a.extend({},this.errorMap),this.valid()||a(this.currentForm).triggerHandler("invalid-form",[this]),this.showErrors(),this.valid()},checkForm:function(){this.prepareForm();for(var a=0,b=this.currentElements=this.elements();b[a];a++)this.check(b[a]);return this.valid()},element:function(b){var c=this.clean(b),d=this.validationTargetFor(c),e=!0;return this.lastElement=d,void 0===d?delete this.invalid[c.name]:(this.prepareElement(d),this.currentElements=a(d),e=this.check(d)!==!1,e?delete this.invalid[d.name]:this.invalid[d.name]=!0),a(b).attr("aria-invalid",!e),this.numberOfInvalids()||(this.toHide=this.toHide.add(this.containers)),this.showErrors(),e},showErrors:function(b){if(b){a.extend(this.errorMap,b),this.errorList=[];for(var c in b)this.errorList.push({message:b[c],element:this.findByName(c)[0]});this.successList=a.grep(this.successList,function(a){return!(a.name in b)})}this.settings.showErrors?this.settings.showErrors.call(this,this.errorMap,this.errorList):this.defaultShowErrors()},resetForm:function(){a.fn.resetForm&&a(this.currentForm).resetForm(),this.submitted={},this.lastElement=null,this.prepareForm(),this.hideErrors();var b,c=this.elements().removeData("previousValue").removeAttr("aria-invalid");if(this.settings.unhighlight)for(b=0;c[b];b++)this.settings.unhighlight.call(this,c[b],this.settings.errorClass,"");else c.removeClass(this.settings.errorClass)},numberOfInvalids:function(){return this.objectLength(this.invalid)},objectLength:function(a){var b,c=0;for(b in a)c++;return c},hideErrors:function(){this.hideThese(this.toHide)},hideThese:function(a){a.not(this.containers).text(""),this.addWrapper(a).hide()},valid:function(){return 0===this.size()},size:function(){return this.errorList.length},focusInvalid:function(){if(this.settings.focusInvalid)try{a(this.findLastActive()||this.errorList.length&&this.errorList[0].element||[]).filter(":visible").focus().trigger("focusin")}catch(b){}},findLastActive:function(){var b=this.lastActive;return b&&1===a.grep(this.errorList,function(a){return a.element.name===b.name}).length&&b},elements:function(){var b=this,c={};return a(this.currentForm).find("input, select, textarea").not(":submit, :reset, :image, :disabled").not(this.settings.ignore).filter(function(){return!this.name&&b.settings.debug&&window.console&&console.error("%o has no name assigned",this),this.name in c||!b.objectLength(a(this).rules())?!1:(c[this.name]=!0,!0)})},clean:function(b){return a(b)[0]},errors:function(){var b=this.settings.errorClass.split(" ").join(".");return a(this.settings.errorElement+"."+b,this.errorContext)},reset:function(){this.successList=[],this.errorList=[],this.errorMap={},this.toShow=a([]),this.toHide=a([]),this.currentElements=a([])},prepareForm:function(){this.reset(),this.toHide=this.errors().add(this.containers)},prepareElement:function(a){this.reset(),this.toHide=this.errorsFor(a)},elementValue:function(b){var c,d=a(b),e=b.type;return"radio"===e||"checkbox"===e?this.findByName(b.name).filter(":checked").val():"number"===e&&"undefined"!=typeof b.validity?b.validity.badInput?!1:d.val():(c=d.val(),"string"==typeof c?c.replace(/\r/g,""):c)},check:function(b){b=this.validationTargetFor(this.clean(b));var c,d,e,f=a(b).rules(),g=a.map(f,function(a,b){return b}).length,h=!1,i=this.elementValue(b);for(d in f){e={method:d,parameters:f[d]};try{if(c=a.validator.methods[d].call(this,i,b,e.parameters),"dependency-mismatch"===c&&1===g){h=!0;continue}if(h=!1,"pending"===c)return void(this.toHide=this.toHide.not(this.errorsFor(b)));if(!c)return this.formatAndAdd(b,e),!1}catch(j){throw this.settings.debug&&window.console&&console.log("Exception occurred when checking element "+b.id+", check the '"+e.method+"' method.",j),j instanceof TypeError&&(j.message+=". Exception occurred when checking element "+b.id+", check the '"+e.method+"' method."),j}}if(!h)return this.objectLength(f)&&this.successList.push(b),!0},customDataMessage:function(b,c){return a(b).data("msg"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase())||a(b).data("msg")},customMessage:function(a,b){var c=this.settings.messages[a];return c&&(c.constructor===String?c:c[b])},findDefined:function(){for(var a=0;aWarning: No message defined for "+b.name+"")},formatAndAdd:function(b,c){var d=this.defaultMessage(b,c.method),e=/\$?\{(\d+)\}/g;"function"==typeof d?d=d.call(this,c.parameters,b):e.test(d)&&(d=a.validator.format(d.replace(e,"{$1}"),c.parameters)),this.errorList.push({message:d,element:b,method:c.method}),this.errorMap[b.name]=d,this.submitted[b.name]=d},addWrapper:function(a){return this.settings.wrapper&&(a=a.add(a.parent(this.settings.wrapper))),a},defaultShowErrors:function(){var a,b,c;for(a=0;this.errorList[a];a++)c=this.errorList[a],this.settings.highlight&&this.settings.highlight.call(this,c.element,this.settings.errorClass,this.settings.validClass),this.showLabel(c.element,c.message);if(this.errorList.length&&(this.toShow=this.toShow.add(this.containers)),this.settings.success)for(a=0;this.successList[a];a++)this.showLabel(this.successList[a]);if(this.settings.unhighlight)for(a=0,b=this.validElements();b[a];a++)this.settings.unhighlight.call(this,b[a],this.settings.errorClass,this.settings.validClass);this.toHide=this.toHide.not(this.toShow),this.hideErrors(),this.addWrapper(this.toShow).show()},validElements:function(){return this.currentElements.not(this.invalidElements())},invalidElements:function(){return a(this.errorList).map(function(){return this.element})},showLabel:function(b,c){var d,e,f,g=this.errorsFor(b),h=this.idOrName(b),i=a(b).attr("aria-describedby");g.length?(g.removeClass(this.settings.validClass).addClass(this.settings.errorClass),g.html(c)):(g=a("<"+this.settings.errorElement+">").attr("id",h+"-error").addClass(this.settings.errorClass).html(c||""),d=g,this.settings.wrapper&&(d=g.hide().show().wrap("<"+this.settings.wrapper+"/>").parent()),this.labelContainer.length?this.labelContainer.append(d):this.settings.errorPlacement?this.settings.errorPlacement(d,a(b)):d.insertAfter(b),g.is("label")?g.attr("for",h):0===g.parents("label[for='"+h+"']").length&&(f=g.attr("id").replace(/(:|\.|\[|\]|\$)/g,"\\$1"),i?i.match(new RegExp("\\b"+f+"\\b"))||(i+=" "+f):i=f,a(b).attr("aria-describedby",i),e=this.groups[b.name],e&&a.each(this.groups,function(b,c){c===e&&a("[name='"+b+"']",this.currentForm).attr("aria-describedby",g.attr("id"))}))),!c&&this.settings.success&&(g.text(""),"string"==typeof this.settings.success?g.addClass(this.settings.success):this.settings.success(g,b)),this.toShow=this.toShow.add(g)},errorsFor:function(b){var c=this.idOrName(b),d=a(b).attr("aria-describedby"),e="label[for='"+c+"'], label[for='"+c+"'] *";return d&&(e=e+", #"+d.replace(/\s+/g,", #")),this.errors().filter(e)},idOrName:function(a){return this.groups[a.name]||(this.checkable(a)?a.name:a.id||a.name)},validationTargetFor:function(b){return this.checkable(b)&&(b=this.findByName(b.name)),a(b).not(this.settings.ignore)[0]},checkable:function(a){return/radio|checkbox/i.test(a.type)},findByName:function(b){return a(this.currentForm).find("[name='"+b+"']")},getLength:function(b,c){switch(c.nodeName.toLowerCase()){case"select":return a("option:selected",c).length;case"input":if(this.checkable(c))return this.findByName(c.name).filter(":checked").length}return b.length},depend:function(a,b){return this.dependTypes[typeof a]?this.dependTypes[typeof a](a,b):!0},dependTypes:{"boolean":function(a){return a},string:function(b,c){return!!a(b,c.form).length},"function":function(a,b){return a(b)}},optional:function(b){var c=this.elementValue(b);return!a.validator.methods.required.call(this,c,b)&&"dependency-mismatch"},startRequest:function(a){this.pending[a.name]||(this.pendingRequest++,this.pending[a.name]=!0)},stopRequest:function(b,c){this.pendingRequest--,this.pendingRequest<0&&(this.pendingRequest=0),delete this.pending[b.name],c&&0===this.pendingRequest&&this.formSubmitted&&this.form()?(a(this.currentForm).submit(),this.formSubmitted=!1):!c&&0===this.pendingRequest&&this.formSubmitted&&(a(this.currentForm).triggerHandler("invalid-form",[this]),this.formSubmitted=!1)},previousValue:function(b){return a.data(b,"previousValue")||a.data(b,"previousValue",{old:null,valid:!0,message:this.defaultMessage(b,"remote")})},destroy:function(){this.resetForm(),a(this.currentForm).off(".validate").removeData("validator")}},classRuleSettings:{required:{required:!0},email:{email:!0},url:{url:!0},date:{date:!0},dateISO:{dateISO:!0},number:{number:!0},digits:{digits:!0},creditcard:{creditcard:!0}},addClassRules:function(b,c){b.constructor===String?this.classRuleSettings[b]=c:a.extend(this.classRuleSettings,b)},classRules:function(b){var c={},d=a(b).attr("class");return d&&a.each(d.split(" "),function(){this in a.validator.classRuleSettings&&a.extend(c,a.validator.classRuleSettings[this])}),c},normalizeAttributeRule:function(a,b,c,d){/min|max/.test(c)&&(null===b||/number|range|text/.test(b))&&(d=Number(d),isNaN(d)&&(d=void 0)),d||0===d?a[c]=d:b===c&&"range"!==b&&(a[c]=!0)},attributeRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)"required"===c?(d=b.getAttribute(c),""===d&&(d=!0),d=!!d):d=f.attr(c),this.normalizeAttributeRule(e,g,c,d);return e.maxlength&&/-1|2147483647|524288/.test(e.maxlength)&&delete e.maxlength,e},dataRules:function(b){var c,d,e={},f=a(b),g=b.getAttribute("type");for(c in a.validator.methods)d=f.data("rule"+c.charAt(0).toUpperCase()+c.substring(1).toLowerCase()),this.normalizeAttributeRule(e,g,c,d);return e},staticRules:function(b){var c={},d=a.data(b.form,"validator");return d.settings.rules&&(c=a.validator.normalizeRule(d.settings.rules[b.name])||{}),c},normalizeRules:function(b,c){return a.each(b,function(d,e){if(e===!1)return void delete b[d];if(e.param||e.depends){var f=!0;switch(typeof e.depends){case"string":f=!!a(e.depends,c.form).length;break;case"function":f=e.depends.call(c,c)}f?b[d]=void 0!==e.param?e.param:!0:delete b[d]}}),a.each(b,function(d,e){b[d]=a.isFunction(e)?e(c):e}),a.each(["minlength","maxlength"],function(){b[this]&&(b[this]=Number(b[this]))}),a.each(["rangelength","range"],function(){var c;b[this]&&(a.isArray(b[this])?b[this]=[Number(b[this][0]),Number(b[this][1])]:"string"==typeof b[this]&&(c=b[this].replace(/[\[\]]/g,"").split(/[\s,]+/),b[this]=[Number(c[0]),Number(c[1])]))}),a.validator.autoCreateRanges&&(null!=b.min&&null!=b.max&&(b.range=[b.min,b.max],delete b.min,delete b.max),null!=b.minlength&&null!=b.maxlength&&(b.rangelength=[b.minlength,b.maxlength],delete b.minlength,delete b.maxlength)),b},normalizeRule:function(b){if("string"==typeof b){var c={};a.each(b.split(/\s/),function(){c[this]=!0}),b=c}return b},addMethod:function(b,c,d){a.validator.methods[b]=c,a.validator.messages[b]=void 0!==d?d:a.validator.messages[b],c.length<3&&a.validator.addClassRules(b,a.validator.normalizeRule(b))},methods:{required:function(b,c,d){if(!this.depend(d,c))return"dependency-mismatch";if("select"===c.nodeName.toLowerCase()){var e=a(c).val();return e&&e.length>0}return this.checkable(c)?this.getLength(b,c)>0:b.length>0},email:function(a,b){return this.optional(b)||/^[a-zA-Z0-9.!#$%&'*+\/=?^_`{|}~-]+@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/.test(a)},url:function(a,b){return this.optional(b)||/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})).?)(?::\d{2,5})?(?:[/?#]\S*)?$/i.test(a)},date:function(a,b){return this.optional(b)||!/Invalid|NaN/.test(new Date(a).toString())},dateISO:function(a,b){return this.optional(b)||/^\d{4}[\/\-](0?[1-9]|1[012])[\/\-](0?[1-9]|[12][0-9]|3[01])$/.test(a)},number:function(a,b){return this.optional(b)||/^(?:-?\d+|-?\d{1,3}(?:,\d{3})+)?(?:\.\d+)?$/.test(a)},digits:function(a,b){return this.optional(b)||/^\d+$/.test(a)},creditcard:function(a,b){if(this.optional(b))return"dependency-mismatch";if(/[^0-9 \-]+/.test(a))return!1;var c,d,e=0,f=0,g=!1;if(a=a.replace(/\D/g,""),a.length<13||a.length>19)return!1;for(c=a.length-1;c>=0;c--)d=a.charAt(c),f=parseInt(d,10),g&&(f*=2)>9&&(f-=9),e+=f,g=!g;return e%10===0},minlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d},maxlength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||d>=e},rangelength:function(b,c,d){var e=a.isArray(b)?b.length:this.getLength(b,c);return this.optional(c)||e>=d[0]&&e<=d[1]},min:function(a,b,c){return this.optional(b)||a>=c},max:function(a,b,c){return this.optional(b)||c>=a},range:function(a,b,c){return this.optional(b)||a>=c[0]&&a<=c[1]},equalTo:function(b,c,d){var e=a(d);return this.settings.onfocusout&&e.off(".validate-equalTo").on("blur.validate-equalTo",function(){a(c).valid()}),b===e.val()},remote:function(b,c,d){if(this.optional(c))return"dependency-mismatch";var e,f,g=this.previousValue(c);return this.settings.messages[c.name]||(this.settings.messages[c.name]={}),g.originalMessage=this.settings.messages[c.name].remote,this.settings.messages[c.name].remote=g.message,d="string"==typeof d&&{url:d}||d,g.old===b?g.valid:(g.old=b,e=this,this.startRequest(c),f={},f[c.name]=b,a.ajax(a.extend(!0,{mode:"abort",port:"validate"+c.name,dataType:"json",data:f,context:e.currentForm,success:function(d){var f,h,i,j=d===!0||"true"===d;e.settings.messages[c.name].remote=g.originalMessage,j?(i=e.formSubmitted,e.prepareElement(c),e.formSubmitted=i,e.successList.push(c),delete e.invalid[c.name],e.showErrors()):(f={},h=d||e.defaultMessage(c,"remote"),f[c.name]=g.message=a.isFunction(h)?h(b):h,e.invalid[c.name]=!0,e.showErrors(f)),g.valid=j,e.stopRequest(c,j)}},d)),"pending")}}});var b,c={};a.ajaxPrefilter?a.ajaxPrefilter(function(a,b,d){var e=a.port;"abort"===a.mode&&(c[e]&&c[e].abort(),c[e]=d)}):(b=a.ajax,a.ajax=function(d){var e=("mode"in d?d:a.ajaxSettings).mode,f=("port"in d?d:a.ajaxSettings).port;return"abort"===e?(c[f]&&c[f].abort(),c[f]=b.apply(this,arguments),c[f]):b.apply(this,arguments)})}); -------------------------------------------------------------------------------- /MyXXE/WebContent/js/material-bootstrap-wizard.js: -------------------------------------------------------------------------------- 1 | /*! 2 | 3 | ========================================================= 4 | * Material Bootstrap Wizard - v1.0.2 5 | ========================================================= 6 | 7 | * Product Page: https://www.creative-tim.com/product/material-bootstrap-wizard 8 | * Copyright 2017 Creative Tim (#) 9 | * Licensed under MIT (https://github.com/creativetimofficial/material-bootstrap-wizard/blob/master/LICENSE.md) 10 | 11 | ========================================================= 12 | 13 | * The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 14 | */ 15 | 16 | // Material Bootstrap Wizard Functions 17 | 18 | var searchVisible = 0; 19 | var transparent = true; 20 | var mobile_device = false; 21 | 22 | $(document).ready(function(){ 23 | 24 | $.material.init(); 25 | 26 | /* Activate the tooltips */ 27 | $('[rel="tooltip"]').tooltip(); 28 | 29 | // Code for the Validator 30 | var $validator = $('.wizard-card form').validate({ 31 | rules: { 32 | firstname: { 33 | required: true, 34 | minlength: 3 35 | }, 36 | lastname: { 37 | required: true, 38 | minlength: 3 39 | }, 40 | email: { 41 | required: true, 42 | minlength: 3, 43 | } 44 | }, 45 | 46 | errorPlacement: function(error, element) { 47 | $(element).parent('div').addClass('has-error'); 48 | } 49 | }); 50 | 51 | // Wizard Initialization 52 | $('.wizard-card').bootstrapWizard({ 53 | 'tabClass': 'nav nav-pills', 54 | 'nextSelector': '.btn-next', 55 | 'previousSelector': '.btn-previous', 56 | 57 | onNext: function(tab, navigation, index) { 58 | var $valid = $('.wizard-card form').valid(); 59 | if(!$valid) { 60 | $validator.focusInvalid(); 61 | return false; 62 | } 63 | }, 64 | 65 | onInit : function(tab, navigation, index){ 66 | //check number of tabs and fill the entire row 67 | var $total = navigation.find('li').length; 68 | var $wizard = navigation.closest('.wizard-card'); 69 | 70 | $first_li = navigation.find('li:first-child a').html(); 71 | $moving_div = $('
' + $first_li + '
'); 72 | $('.wizard-card .wizard-navigation').append($moving_div); 73 | 74 | refreshAnimation($wizard, index); 75 | 76 | $('.moving-tab').css('transition','transform 0s'); 77 | }, 78 | 79 | onTabClick : function(tab, navigation, index){ 80 | var $valid = $('.wizard-card form').valid(); 81 | 82 | if(!$valid){ 83 | return false; 84 | } else{ 85 | return true; 86 | } 87 | }, 88 | 89 | onTabShow: function(tab, navigation, index) { 90 | var $total = navigation.find('li').length; 91 | var $current = index+1; 92 | 93 | var $wizard = navigation.closest('.wizard-card'); 94 | 95 | // If it's the last tab then hide the last button and show the finish instead 96 | if($current >= $total) { 97 | $($wizard).find('.btn-next').hide(); 98 | $($wizard).find('.btn-finish').show(); 99 | } else { 100 | $($wizard).find('.btn-next').show(); 101 | $($wizard).find('.btn-finish').hide(); 102 | } 103 | 104 | button_text = navigation.find('li:nth-child(' + $current + ') a').html(); 105 | 106 | setTimeout(function(){ 107 | $('.moving-tab').text(button_text); 108 | }, 150); 109 | 110 | var checkbox = $('.footer-checkbox'); 111 | 112 | if( !index == 0 ){ 113 | $(checkbox).css({ 114 | 'opacity':'0', 115 | 'visibility':'hidden', 116 | 'position':'absolute' 117 | }); 118 | } else { 119 | $(checkbox).css({ 120 | 'opacity':'1', 121 | 'visibility':'visible' 122 | }); 123 | } 124 | 125 | refreshAnimation($wizard, index); 126 | } 127 | }); 128 | 129 | 130 | // Prepare the preview for profile picture 131 | $("#wizard-picture").change(function(){ 132 | readURL(this); 133 | }); 134 | 135 | $('[data-toggle="wizard-radio"]').click(function(){ 136 | wizard = $(this).closest('.wizard-card'); 137 | wizard.find('[data-toggle="wizard-radio"]').removeClass('active'); 138 | $(this).addClass('active'); 139 | $(wizard).find('[type="radio"]').removeAttr('checked'); 140 | $(this).find('[type="radio"]').attr('checked','true'); 141 | }); 142 | 143 | $('[data-toggle="wizard-checkbox"]').click(function(){ 144 | if( $(this).hasClass('active')){ 145 | $(this).removeClass('active'); 146 | $(this).find('[type="checkbox"]').removeAttr('checked'); 147 | } else { 148 | $(this).addClass('active'); 149 | $(this).find('[type="checkbox"]').attr('checked','true'); 150 | } 151 | }); 152 | 153 | $('.set-full-height').css('height', 'auto'); 154 | 155 | }); 156 | 157 | 158 | 159 | //Function to show image before upload 160 | 161 | function readURL(input) { 162 | if (input.files && input.files[0]) { 163 | var reader = new FileReader(); 164 | 165 | reader.onload = function (e) { 166 | $('#wizardPicturePreview').attr('src', e.target.result).fadeIn('slow'); 167 | } 168 | reader.readAsDataURL(input.files[0]); 169 | } 170 | } 171 | 172 | $(window).resize(function(){ 173 | $('.wizard-card').each(function(){ 174 | $wizard = $(this); 175 | 176 | index = $wizard.bootstrapWizard('currentIndex'); 177 | refreshAnimation($wizard, index); 178 | 179 | $('.moving-tab').css({ 180 | 'transition': 'transform 0s' 181 | }); 182 | }); 183 | }); 184 | 185 | function refreshAnimation($wizard, index){ 186 | $total = $wizard.find('.nav li').length; 187 | $li_width = 100/$total; 188 | 189 | total_steps = $wizard.find('.nav li').length; 190 | move_distance = $wizard.width() / total_steps; 191 | index_temp = index; 192 | vertical_level = 0; 193 | 194 | mobile_device = $(document).width() < 600 && $total > 3; 195 | 196 | if(mobile_device){ 197 | move_distance = $wizard.width() / 2; 198 | index_temp = index % 2; 199 | $li_width = 50; 200 | } 201 | 202 | $wizard.find('.nav li').css('width',$li_width + '%'); 203 | 204 | step_width = move_distance; 205 | move_distance = move_distance * index_temp; 206 | 207 | $current = index + 1; 208 | 209 | if($current == 1 || (mobile_device == true && (index % 2 == 0) )){ 210 | move_distance -= 8; 211 | } else if($current == total_steps || (mobile_device == true && (index % 2 == 1))){ 212 | move_distance += 8; 213 | } 214 | 215 | if(mobile_device){ 216 | vertical_level = parseInt(index / 2); 217 | vertical_level = vertical_level * 38; 218 | } 219 | 220 | $wizard.find('.moving-tab').css('width', step_width); 221 | $('.moving-tab').css({ 222 | 'transform':'translate3d(' + move_distance + 'px, ' + vertical_level + 'px, 0)', 223 | 'transition': 'all 0.5s cubic-bezier(0.29, 1.42, 0.79, 1)' 224 | 225 | }); 226 | } 227 | 228 | materialDesign = { 229 | 230 | checkScrollForTransparentNavbar: debounce(function() { 231 | if($(document).scrollTop() > 260 ) { 232 | if(transparent) { 233 | transparent = false; 234 | $('.navbar-color-on-scroll').removeClass('navbar-transparent'); 235 | } 236 | } else { 237 | if( !transparent ) { 238 | transparent = true; 239 | $('.navbar-color-on-scroll').addClass('navbar-transparent'); 240 | } 241 | } 242 | }, 17) 243 | 244 | } 245 | 246 | function debounce(func, wait, immediate) { 247 | var timeout; 248 | return function() { 249 | var context = this, args = arguments; 250 | clearTimeout(timeout); 251 | timeout = setTimeout(function() { 252 | timeout = null; 253 | if (!immediate) func.apply(context, args); 254 | }, wait); 255 | if (immediate && !timeout) func.apply(context, args); 256 | }; 257 | }; 258 | -------------------------------------------------------------------------------- /MyXXE/WebContent/xxe0.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | XXE-test 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 |
22 |
23 |
24 | 25 |
26 |
27 |
28 |
29 |

DOM Read XML

30 | 31 |
32 |
33 |
    34 |
  • tips:
  • 35 |
  • 36 |
  • 37 |
38 |
39 | 40 |
41 |
42 |
43 |
44 |
45 | 46 | 47 | 48 |
49 | 50 | 51 |
52 |
53 |
54 | 55 | 56 | 57 |
58 | 59 | 60 |
61 |
62 |
63 |
64 |
65 | 66 | 67 |
68 | 75 |
76 |
77 |
78 |
79 |
80 |
81 | 82 | 87 |
88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 132 | 133 | -------------------------------------------------------------------------------- /MyXXE/WebContent/xxe1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | XXE-test 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 |
22 |
23 |
24 | 25 |
26 |
27 |
28 |
29 |

DOM Read XML

30 | 31 |
32 |
33 |
    34 |
  • tips:
  • 35 |
  • 36 |
  • 37 |
38 |
39 | 40 |
41 |
42 |
43 |
44 |
45 | 46 | 47 | 48 |
49 | 50 | 51 |
52 |
53 |
54 | 55 | 56 | 57 |
58 | 59 | 60 |
61 |
62 |
63 |
64 |
65 | 66 | 67 |
68 | 75 |
76 |
77 |
78 |
79 |
80 |
81 | 82 | 87 |
88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 132 | 133 | -------------------------------------------------------------------------------- /MyXXE/WebContent/xxe12.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | XXE-test 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 |
22 |
23 |
24 | 25 |
26 |
27 |
28 |
29 |

DOM Read XML - sec

30 | 31 |
32 |
33 |
    34 |
  • tips:
  • 35 |
  • 36 |
  • 37 |
38 |
39 | 40 |
41 |
42 |
43 |
44 |
45 | 46 | 47 | 48 |
49 | 50 | 51 |
52 |
53 |
54 | 55 | 56 | 57 |
58 | 59 | 60 |
61 |
62 |
63 |
64 |
65 | 66 | 67 |
68 | 75 |
76 |
77 |
78 |
79 |
80 |
81 | 82 | 87 |
88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 132 | 133 | -------------------------------------------------------------------------------- /MyXXE/WebContent/xxe2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | XXE-test 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 |
22 |
23 |
24 | 25 |
26 |
27 |
28 |
29 |

DOM4J Read XML

30 | 31 |
32 |
33 |
    34 |
  • tips:
  • 35 |
  • 36 |
  • 37 |
38 |
39 | 40 |
41 |
42 |
43 |
44 |
45 | 46 | 47 | 48 |
49 | 50 | 51 |
52 |
53 |
54 | 55 | 56 | 57 |
58 | 59 | 60 |
61 |
62 |
63 |
64 |
65 | 66 | 67 |
68 | 75 |
76 |
77 |
78 |
79 |
80 |
81 | 82 | 87 |
88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 132 | 133 | -------------------------------------------------------------------------------- /MyXXE/WebContent/xxe22.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | XXE-test 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 |
22 |
23 |
24 | 25 |
26 |
27 |
28 |
29 |

DOM4J Read XML - sec

30 | 31 |
32 |
33 |
    34 |
  • tips:
  • 35 |
  • 36 |
  • 37 |
38 |
39 | 40 |
41 |
42 |
43 |
44 |
45 | 46 | 47 | 48 |
49 | 50 | 51 |
52 |
53 |
54 | 55 | 56 | 57 |
58 | 59 | 60 |
61 |
62 |
63 |
64 |
65 | 66 | 67 |
68 | 75 |
76 |
77 |
78 |
79 |
80 |
81 | 82 | 87 |
88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 132 | 133 | -------------------------------------------------------------------------------- /MyXXE/WebContent/xxe3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | XXE-test 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 |
22 |
23 |
24 | 25 |
26 |
27 |
28 |
29 |

JDOM2 Read XML

30 | 31 |
32 |
33 |
    34 |
  • tips:
  • 35 |
  • 36 |
  • 37 |
38 |
39 | 40 |
41 |
42 |
43 |
44 |
45 | 46 | 47 | 48 |
49 | 50 | 51 |
52 |
53 |
54 | 55 | 56 | 57 |
58 | 59 | 60 |
61 |
62 |
63 |
64 |
65 | 66 | 67 |
68 | 75 |
76 |
77 |
78 |
79 |
80 |
81 | 82 | 87 |
88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 132 | 133 | -------------------------------------------------------------------------------- /MyXXE/WebContent/xxe32.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | XXE-test 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 |
22 |
23 |
24 | 25 |
26 |
27 |
28 |
29 |

JDOM2 Read XML - sec

30 | 31 |
32 |
33 |
    34 |
  • tips:
  • 35 |
  • 36 |
  • 37 |
38 |
39 | 40 |
41 |
42 |
43 |
44 |
45 | 46 | 47 | 48 |
49 | 50 | 51 |
52 |
53 |
54 | 55 | 56 | 57 |
58 | 59 | 60 |
61 |
62 |
63 |
64 |
65 | 66 | 67 |
68 | 75 |
76 |
77 |
78 |
79 |
80 |
81 | 82 | 87 |
88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 132 | 133 | -------------------------------------------------------------------------------- /MyXXE/WebContent/xxe4.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | XXE-test 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 |
22 |
23 |
24 | 25 |
26 |
27 |
28 |
29 |

SAX Read XML

30 | 31 |
32 |
33 |
    34 |
  • tips:
  • 35 |
  • 36 |
  • 37 |
38 |
39 | 40 |
41 |
42 |
43 |
44 |
45 | 46 | 47 | 48 |
49 | 50 | 51 |
52 |
53 |
54 | 55 | 56 | 57 |
58 | 59 | 60 |
61 |
62 |
63 |
64 |
65 | 66 | 67 |
68 | 75 |
76 |
77 |
78 |
79 |
80 |
81 | 82 | 87 |
88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 132 | 133 | -------------------------------------------------------------------------------- /MyXXE/WebContent/xxe42.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | XXE-test 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 |
22 |
23 |
24 | 25 |
26 |
27 |
28 |
29 |

SAX Read XML -sec

30 | 31 |
32 |
33 |
    34 |
  • tips:
  • 35 |
  • 36 |
  • 37 |
38 |
39 | 40 |
41 |
42 |
43 |
44 |
45 | 46 | 47 | 48 |
49 | 50 | 51 |
52 |
53 |
54 | 55 | 56 | 57 |
58 | 59 | 60 |
61 |
62 |
63 |
64 |
65 | 66 | 67 |
68 | 75 |
76 |
77 |
78 |
79 |
80 |
81 | 82 | 87 |
88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 132 | 133 | -------------------------------------------------------------------------------- /MyXXE/src/xxe/LoginServlet1.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pplsec/JavaVul/580639f4a930434748eab3b99d95fc81b726029e/MyXXE/src/xxe/LoginServlet1.java -------------------------------------------------------------------------------- /MyXXE/src/xxe/LoginServlet12.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pplsec/JavaVul/580639f4a930434748eab3b99d95fc81b726029e/MyXXE/src/xxe/LoginServlet12.java -------------------------------------------------------------------------------- /MyXXE/src/xxe/LoginServlet2.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pplsec/JavaVul/580639f4a930434748eab3b99d95fc81b726029e/MyXXE/src/xxe/LoginServlet2.java -------------------------------------------------------------------------------- /MyXXE/src/xxe/LoginServlet22.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pplsec/JavaVul/580639f4a930434748eab3b99d95fc81b726029e/MyXXE/src/xxe/LoginServlet22.java -------------------------------------------------------------------------------- /MyXXE/src/xxe/LoginServlet3.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pplsec/JavaVul/580639f4a930434748eab3b99d95fc81b726029e/MyXXE/src/xxe/LoginServlet3.java -------------------------------------------------------------------------------- /MyXXE/src/xxe/LoginServlet32.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pplsec/JavaVul/580639f4a930434748eab3b99d95fc81b726029e/MyXXE/src/xxe/LoginServlet32.java -------------------------------------------------------------------------------- /MyXXE/src/xxe/LoginServlet4.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pplsec/JavaVul/580639f4a930434748eab3b99d95fc81b726029e/MyXXE/src/xxe/LoginServlet4.java -------------------------------------------------------------------------------- /MyXXE/src/xxe/LoginServlet42.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pplsec/JavaVul/580639f4a930434748eab3b99d95fc81b726029e/MyXXE/src/xxe/LoginServlet42.java -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # JavaVul 2 | JAVA Vul Code 3 | 4 | JAVA常见漏洞与防御代码示例 5 | --------------------------------------------------------------------------------