├── .gitignore ├── .travis.yml ├── Gemfile ├── LICENSE.txt ├── README.md ├── Rakefile ├── config.ru ├── docs ├── _config.yml ├── _data │ └── navbar.yml ├── _includes │ ├── footer.liquid │ ├── navbar.liquid │ └── ribbon.liquid ├── _layouts │ ├── default.html │ └── post.html ├── _posts │ ├── 2014-09-15-0.1.0.md │ ├── 2014-09-16-0.1.1.md │ └── 2014-09-21-0.1.2.md ├── assets │ ├── css │ │ ├── bootswatch.min.css │ │ ├── github.css │ │ └── themes │ │ │ └── cosmo │ │ │ └── bootstrap.min.css │ ├── ico │ │ └── favicon.ico │ ├── img │ │ ├── diagrams │ │ │ ├── activity.png │ │ │ ├── basic │ │ │ │ ├── arrow.png │ │ │ │ ├── common.png │ │ │ │ └── participant.png │ │ │ ├── basic_widgets.png │ │ │ ├── class.png │ │ │ ├── colors.png │ │ │ ├── component.png │ │ │ ├── element.png │ │ │ ├── element │ │ │ │ ├── actor.png │ │ │ │ ├── agent.png │ │ │ │ ├── boundary.png │ │ │ │ ├── component.png │ │ │ │ ├── control.png │ │ │ │ ├── entity.png │ │ │ │ ├── interface.png │ │ │ │ └── usecase.png │ │ │ ├── example │ │ │ │ └── oauth │ │ │ │ │ ├── component.png │ │ │ │ │ └── sequence.png │ │ │ ├── legend.png │ │ │ ├── object.png │ │ │ ├── package.png │ │ │ ├── package │ │ │ │ ├── artifact.png │ │ │ │ ├── cloud.png │ │ │ │ ├── database.png │ │ │ │ ├── folder.png │ │ │ │ ├── frame.png │ │ │ │ ├── node.png │ │ │ │ ├── package.png │ │ │ │ └── storage.png │ │ │ ├── parts │ │ │ │ ├── activity.png │ │ │ │ ├── agregation_line.png │ │ │ │ ├── async_message_line.png │ │ │ │ ├── async_return_line.png │ │ │ │ ├── class.png │ │ │ │ ├── component.png │ │ │ │ ├── composition_line.png │ │ │ │ ├── down_line.png │ │ │ │ ├── ext_line.png │ │ │ │ ├── extension_line.png │ │ │ │ ├── final_line.png │ │ │ │ ├── initial_line.png │ │ │ │ ├── left_line.png │ │ │ │ ├── message_line.png │ │ │ │ ├── note_left.png │ │ │ │ ├── note_right.png │ │ │ │ ├── object.png │ │ │ │ ├── package_visibility.png │ │ │ │ ├── private_visibility.png │ │ │ │ ├── protected_visibility.png │ │ │ │ ├── public_visibility.png │ │ │ │ ├── return_line.png │ │ │ │ ├── right_line.png │ │ │ │ ├── title.png │ │ │ │ ├── up_line.png │ │ │ │ ├── use_line.png │ │ │ │ └── usecase.png │ │ │ ├── sequence.png │ │ │ ├── sprites.png │ │ │ ├── state.png │ │ │ ├── tree_widget.png │ │ │ └── usecase.png │ │ ├── example.png │ │ ├── example_state.png │ │ └── ribbons │ │ │ └── forkme_right_white.png │ └── js │ │ ├── bootstrap.min.js │ │ ├── bootswatch.js │ │ └── jquery.min.js ├── blog │ └── index.html ├── changelog │ └── index.html ├── docs │ └── index.md ├── index.md └── plantuml │ └── index.md ├── draw_uml.gemspec ├── lib ├── draw_uml.rb ├── draw_uml │ ├── configure.rb │ ├── default.rb │ ├── diagram.rb │ ├── engine.rb │ ├── tree.rb │ ├── tree │ │ ├── branch.rb │ │ └── leaf.rb │ └── version.rb └── templates │ └── layouts │ └── application.html.erb └── spec ├── lib └── version_spec.rb └── spec_helper.rb /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | .bundle 3 | /doc 4 | /pkg 5 | /public 6 | /tmp 7 | _site 8 | Gemfile.lock 9 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: ruby 2 | rvm: 3 | - 2.0.0 4 | -------------------------------------------------------------------------------- /Gemfile: -------------------------------------------------------------------------------- 1 | source 'https://rubygems.org' 2 | 3 | # Specify your gem's dependencies in draw_uml.gemspec 4 | gemspec 5 | 6 | group :test do 7 | gem 'rspec' 8 | end 9 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2014 ogom 2 | 3 | MIT License 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining 6 | a copy of this software and associated documentation files (the 7 | "Software"), to deal in the Software without restriction, including 8 | without limitation the rights to use, copy, modify, merge, publish, 9 | distribute, sublicense, and/or sell copies of the Software, and to 10 | permit persons to whom the Software is furnished to do so, subject to 11 | the following conditions: 12 | 13 | The above copyright notice and this permission notice shall be 14 | included in all copies or substantial portions of the Software. 15 | 16 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 17 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 18 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 19 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 20 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 21 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 22 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DrawUML 2 | 3 | [](https://rubygems.org/gems/draw_uml) [](https://travis-ci.org/ogom/draw_uml) 4 | 5 | Drawing the Unified Modeling Language of Rack. 6 | 7 | [Browse the documentation.](http://ogom.github.io/draw_uml/docs/) 8 | 9 | ## Installation 10 | 11 | Add this line to your application's Gemfile: 12 | 13 | ``` 14 | gem 'draw_uml' 15 | ``` 16 | 17 | And then execute: 18 | 19 | ``` 20 | $ bundle 21 | ``` 22 | 23 | ## Usage 24 | 25 | Add this line to your `config/routes.rb`: 26 | 27 | ``` 28 | mount DrawUml::Engine, at: '/rails/draw/uml' 29 | ``` 30 | 31 | Draw by selecting the model: 32 | 33 |  34 | 35 | ## Use 36 | 37 | * [PlantUML](http://plantuml.sourceforge.net) 38 | * [PlantUML Cheat Sheet](http://ogom.github.io/draw_uml/plantuml) 39 | 40 | ## License 41 | 42 | * MIT 43 | -------------------------------------------------------------------------------- /Rakefile: -------------------------------------------------------------------------------- 1 | require 'bundler/gem_tasks' 2 | 3 | require 'rspec/core/rake_task' 4 | RSpec::Core::RakeTask.new(:spec) do |task| 5 | task.rspec_opts = ['--color', '--format', 'doc'] 6 | end 7 | 8 | task test: :spec 9 | task default: :spec 10 | -------------------------------------------------------------------------------- /config.ru: -------------------------------------------------------------------------------- 1 | require_relative './lib/draw_uml' 2 | use Rack::Static, urls: ['/images'], root: 'public' 3 | run DrawUml::Engine 4 | -------------------------------------------------------------------------------- /docs/_config.yml: -------------------------------------------------------------------------------- 1 | --- 2 | markdown: kramdown 3 | kramdown: 4 | input: GFM 5 | highlighter: pygments 6 | baseurl: "/draw_uml" 7 | docsurl: '/draw_uml/docs' 8 | encoding: UTF-8 9 | exclude: 10 | - README.md 11 | - tmp 12 | name: DrawUML 13 | copyright: 2014, ogom 14 | swatchtheme: cosmo 15 | -------------------------------------------------------------------------------- /docs/_data/navbar.yml: -------------------------------------------------------------------------------- 1 | --- 2 | - label: Changelog 3 | path: "/changelog" 4 | - label: Documentation 5 | path: "/docs" 6 | - label: PlantUML 7 | path: "/plantuml" 8 | -------------------------------------------------------------------------------- /docs/_includes/footer.liquid: -------------------------------------------------------------------------------- 1 | 2 | 14 | -------------------------------------------------------------------------------- /docs/_includes/navbar.liquid: -------------------------------------------------------------------------------- 1 | 2 |
34 | -------------------------------------------------------------------------------- /docs/_includes/ribbon.liquid: -------------------------------------------------------------------------------- 1 | 2 | 3 |{{ page.title }}
20 |{{ page.date | date: "%B %-d, %Y" }}
7 | {{ content }} 8 | -------------------------------------------------------------------------------- /docs/_posts/2014-09-15-0.1.0.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: 0.1.0 4 | --- 5 | 6 | * Initial release 7 | -------------------------------------------------------------------------------- /docs/_posts/2014-09-16-0.1.1.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: 0.1.1 4 | --- 5 | 6 | * Added PlantUML Cheat Sheet 7 | -------------------------------------------------------------------------------- /docs/_posts/2014-09-21-0.1.2.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: post 3 | title: 0.1.2 4 | --- 5 | 6 | * Fixed styles 7 | -------------------------------------------------------------------------------- /docs/assets/css/bootswatch.min.css: -------------------------------------------------------------------------------- 1 | body{padding-top:50px} 2 | #banner{border-bottom:none} 3 | .page-header h1{font-size:4em} 4 | .bs-docs-section{margin-top:8em} 5 | footer{margin:5em 0}footer li{float:left;margin-right:1.5em;margin-bottom:1.5em} 6 | footer p{clear:left;margin-bottom:0} 7 | .splash{padding:4em 0 2em;background-color:#1c2533;background:-webkit-linear-gradient(70deg, #080f1f 30%, #2b4b5a 87%, #435e67 100%);background:-o-linear-gradient(70deg, #080f1f 30%, #2b4b5a 87%, #435e67 100%);background:-ms-linear-gradient(70deg, #080f1f 30%, #2b4b5a 87%, #435e67 100%);background:-moz-linear-gradient(70deg, #080f1f 30%, #2b4b5a 87%, #435e67 100%);background:linear-gradient(20deg, #080f1f 30%, #2b4b5a 87%, #435e67 100%);background-attachment:fixed;color:#fff;text-align:center}.splash .alert{margin:4em 0 2em} 8 | .splash h1{font-size:4em} 9 | .splash #social{margin:2em 0 4em} 10 | .splash .bsa{max-width:350px;margin:0 auto;background:none}.splash .bsa .one .bsa_it_ad{border:1px solid #3e4653 !important;border-color:rgba(255,255,255,0.2) !important} 11 | .splash .bsa a{color:#fff} 12 | .section-tout{padding:4em 0 3em;border-top:1px solid rgba(255,255,255,0.1);border-bottom:1px solid rgba(0,0,0,0.1);background-color:#eaf1f1}.section-tout .fa{margin-right:.5em} 13 | .section-tout p{margin-bottom:3em} 14 | .section-preview{padding:4em 0 4em}.section-preview .preview{margin-bottom:4em;background-color:#eaf1f1;border:1px solid rgba(0,0,0,0.1);border-radius:6px}.section-preview .preview .image{padding:5px}.section-preview .preview .image img{border:1px solid rgba(0,0,0,0.1)} 15 | .section-preview .preview .options{text-align:center;padding:0 2em 2em}.section-preview .preview .options p{margin-bottom:2em} 16 | .section-preview .dropdown-menu{text-align:left} 17 | .section-preview .lead{margin-bottom:2em} 18 | @media (max-width:767px){.section-preview .image img{width:100%}} 19 | .bsa{padding:0}.bsa .one .bsa_it_ad{border:none !important;background-color:transparent !important}.bsa .one .bsa_it_ad .bsa_it_t,.bsa .one .bsa_it_ad .bsa_it_d{color:inherit !important} 20 | .bsa .one .bsa_it_ad .bsa_it_i{margin-bottom:0 !important} 21 | .bsa .one .bsa_it_p{display:none} 22 | -------------------------------------------------------------------------------- /docs/assets/css/github.css: -------------------------------------------------------------------------------- 1 | .body-classic{ 2 | color:#444; 3 | font-family:Georgia, Palatino, 'Palatino Linotype', Times, 'Times New Roman', "Hiragino Sans GB", "STXihei", "微软雅黑", serif; 4 | font-size:16px; 5 | line-height:1.5em; 6 | background:#fefefe; 7 | width: 45em; 8 | margin: 10px auto; 9 | padding: 1em; 10 | outline: 1300px solid #FAFAFA; 11 | } 12 | 13 | body>:first-child 14 | { 15 | margin-top:0!important; 16 | } 17 | 18 | body>:last-child 19 | { 20 | margin-bottom:0!important; 21 | } 22 | 23 | blockquote,dl,ol,p,pre,table,ul { 24 | border: 0; 25 | margin: 15px 0; 26 | padding: 0; 27 | } 28 | 29 | body a { 30 | color: #4183c4; 31 | text-decoration: none; 32 | } 33 | 34 | body a:hover { 35 | text-decoration: underline; 36 | } 37 | 38 | body a.absent 39 | { 40 | color:#c00; 41 | } 42 | 43 | body a.anchor 44 | { 45 | display:block; 46 | padding-left:30px; 47 | margin-left:-30px; 48 | cursor:pointer; 49 | position:absolute; 50 | top:0; 51 | left:0; 52 | bottom:0 53 | } 54 | 55 | .octicon{ 56 | font:normal normal 16px sans-serif; 57 | width: 1em; 58 | height: 1em; 59 | line-height:1; 60 | display:inline-block; 61 | text-decoration:none; 62 | -webkit-font-smoothing:antialiased 63 | } 64 | 65 | .octicon-link { 66 | background: url("data:image/svg+xml;utf8, "); 67 | background-size: contain; 68 | background-repeat: no-repeat; 69 | background-position: bottom; 70 | } 71 | 72 | .octicon-link:before{ 73 | content:'\a0'; 74 | } 75 | 76 | body h1,body h2,body h3,body h4,body h5,body h6{ 77 | margin:1em 0 15px; 78 | padding:0; 79 | color:#444; 80 | line-height:1.7; 81 | cursor:text; 82 | position:relative 83 | } 84 | 85 | body h1 .octicon-link,body h2 .octicon-link,body h3 .octicon-link,body h4 .octicon-link,body h5 .octicon-link,body h6 .octicon-link{ 86 | display:none; 87 | color:#000 88 | } 89 | 90 | body h1:hover a.anchor,body h2:hover a.anchor,body h3:hover a.anchor,body h4:hover a.anchor,body h5:hover a.anchor,body h6:hover a.anchor{ 91 | text-decoration:none; 92 | line-height:1; 93 | padding-left:0; 94 | margin-left:-22px; 95 | top:15% 96 | } 97 | 98 | body h1:hover a.anchor .octicon-link,body h2:hover a.anchor .octicon-link,body h3:hover a.anchor .octicon-link,body h4:hover a.anchor .octicon-link,body h5:hover a.anchor .octicon-link,body h6:hover a.anchor .octicon-link{ 99 | display:inline-block 100 | } 101 | 102 | body h1 tt,body h1 code,body h2 tt,body h2 code,body h3 tt,body h3 code,body h4 tt,body h4 code,body h5 tt,body h5 code,body h6 tt,body h6 code{ 103 | font-size:inherit 104 | } 105 | 106 | body h1{ 107 | font-size:2.5em; 108 | border-bottom:1px solid #ddd 109 | } 110 | 111 | body h2{ 112 | font-size:2em; 113 | border-bottom:1px solid #eee 114 | } 115 | 116 | body h3{ 117 | font-size:1.5em 118 | } 119 | 120 | body h4{ 121 | font-size:1.2em 122 | } 123 | 124 | body h5{ 125 | font-size:1em 126 | } 127 | 128 | body h6{ 129 | color:#777; 130 | font-size:1em 131 | } 132 | 133 | body p,body blockquote,body ul,body ol,body dl,body table,body pre{ 134 | margin:15px 0 135 | } 136 | 137 | body h1 tt,body h1 code,body h2 tt,body h2 code,body h3 tt,body h3 code,body h4 tt,body h4 code,body h5 tt,body h5 code,body h6 tt,body h6 code 138 | { 139 | font-size:inherit; 140 | } 141 | 142 | body li p.first 143 | { 144 | display:inline-block; 145 | } 146 | 147 | body ul,body ol 148 | { 149 | padding-left:30px; 150 | } 151 | 152 | body ul.no-list,body ol.no-list 153 | { 154 | list-style-type:none; 155 | padding:0; 156 | } 157 | 158 | body ul ul,body ul ol,body ol ol,body ol ul 159 | { 160 | margin-bottom:0; 161 | margin-top:0; 162 | } 163 | 164 | body dl 165 | { 166 | padding:0; 167 | } 168 | 169 | body dl dt 170 | { 171 | font-size:14px; 172 | font-style:italic; 173 | font-weight:700; 174 | margin-top:15px; 175 | padding:0; 176 | } 177 | 178 | body dl dd 179 | { 180 | margin-bottom:15px; 181 | padding:0 15px; 182 | } 183 | 184 | body blockquote 185 | { 186 | border-left:4px solid #DDD; 187 | color:#777; 188 | padding:0 15px; 189 | } 190 | 191 | body blockquote>:first-child 192 | { 193 | margin-top:0; 194 | } 195 | 196 | body blockquote>:last-child 197 | { 198 | margin-bottom:0; 199 | } 200 | 201 | body table 202 | { 203 | display:block; 204 | overflow:auto; 205 | width:100%; 206 | border-collapse: collapse; 207 | border-spacing: 0; 208 | padding: 0; 209 | } 210 | 211 | body table th 212 | { 213 | font-weight:700; 214 | } 215 | 216 | body table th,body table td 217 | { 218 | border:1px solid #ddd; 219 | padding:6px 13px; 220 | } 221 | 222 | body table tr 223 | { 224 | background-color:#fff; 225 | border-top:1px solid #ccc; 226 | } 227 | 228 | body table tr:nth-child(2n) 229 | { 230 | background-color:#f8f8f8; 231 | } 232 | 233 | body img 234 | { 235 | -moz-box-sizing:border-box; 236 | box-sizing:border-box; 237 | max-width:100%; 238 | } 239 | 240 | body span.frame 241 | { 242 | display:block; 243 | overflow:hidden; 244 | } 245 | 246 | body span.frame>span 247 | { 248 | border:1px solid #ddd; 249 | display:block; 250 | float:left; 251 | margin:13px 0 0; 252 | overflow:hidden; 253 | padding:7px; 254 | width:auto; 255 | } 256 | 257 | body span.frame span img 258 | { 259 | display:block; 260 | float:left; 261 | } 262 | 263 | body span.frame span span 264 | { 265 | clear:both; 266 | color:#333; 267 | display:block; 268 | padding:5px 0 0; 269 | } 270 | 271 | body span.align-center 272 | { 273 | clear:both; 274 | display:block; 275 | overflow:hidden; 276 | } 277 | 278 | body span.align-center>span 279 | { 280 | display:block; 281 | margin:13px auto 0; 282 | overflow:hidden; 283 | text-align:center; 284 | } 285 | 286 | body span.align-center span img 287 | { 288 | margin:0 auto; 289 | text-align:center; 290 | } 291 | 292 | body span.align-right 293 | { 294 | clear:both; 295 | display:block; 296 | overflow:hidden; 297 | } 298 | 299 | body span.align-right>span 300 | { 301 | display:block; 302 | margin:13px 0 0; 303 | overflow:hidden; 304 | text-align:right; 305 | } 306 | 307 | body span.align-right span img 308 | { 309 | margin:0; 310 | text-align:right; 311 | } 312 | 313 | body span.float-left 314 | { 315 | display:block; 316 | float:left; 317 | margin-right:13px; 318 | overflow:hidden; 319 | } 320 | 321 | body span.float-left span 322 | { 323 | margin:13px 0 0; 324 | } 325 | 326 | body span.float-right 327 | { 328 | display:block; 329 | float:right; 330 | margin-left:13px; 331 | overflow:hidden; 332 | } 333 | 334 | body span.float-right>span 335 | { 336 | display:block; 337 | margin:13px auto 0; 338 | overflow:hidden; 339 | text-align:right; 340 | } 341 | 342 | body code,body tt 343 | { 344 | background-color:#f8f8f8; 345 | border:1px solid #ddd; 346 | border-radius:3px; 347 | margin:0 2px; 348 | padding:0 5px; 349 | } 350 | 351 | body code 352 | { 353 | white-space:nowrap; 354 | } 355 | 356 | 357 | code,pre{ 358 | font-family:Consolas, "Liberation Mono", Courier, monospace; 359 | font-size:12px 360 | } 361 | 362 | body pre>code 363 | { 364 | background:transparent; 365 | border:none; 366 | margin:0; 367 | padding:0; 368 | white-space:pre; 369 | } 370 | 371 | body .highlight pre,body pre 372 | { 373 | background-color:#f8f8f8; 374 | border:1px solid #ddd; 375 | font-size:13px; 376 | line-height:19px; 377 | overflow:auto; 378 | padding:6px 10px; 379 | border-radius:3px 380 | } 381 | 382 | body pre code,body pre tt 383 | { 384 | background-color:transparent; 385 | border:none; 386 | margin:0; 387 | padding:0; 388 | } 389 | 390 | body .task-list{ 391 | list-style-type:none; 392 | padding-left:10px 393 | } 394 | 395 | .task-list-item{ 396 | padding-left:20px 397 | } 398 | 399 | .task-list-item label{ 400 | font-weight:normal 401 | } 402 | 403 | .task-list-item.enabled label{ 404 | cursor:pointer 405 | } 406 | 407 | .task-list-item+.task-list-item{ 408 | margin-top:5px 409 | } 410 | 411 | .task-list-item-checkbox{ 412 | float:left; 413 | margin-left:-20px; 414 | margin-top:7px 415 | } 416 | 417 | 418 | .highlight{ 419 | background:#ffffff 420 | } 421 | 422 | .highlight .c{ 423 | color:#999988; 424 | font-style:italic 425 | } 426 | 427 | .highlight .err{ 428 | color:#a61717; 429 | background-color:#e3d2d2 430 | } 431 | 432 | .highlight .k{ 433 | font-weight:bold 434 | } 435 | 436 | .highlight .o{ 437 | font-weight:bold 438 | } 439 | 440 | .highlight .cm{ 441 | color:#999988; 442 | font-style:italic 443 | } 444 | 445 | .highlight .cp{ 446 | color:#999999; 447 | font-weight:bold 448 | } 449 | 450 | .highlight .c1{ 451 | color:#999988; 452 | font-style:italic 453 | } 454 | 455 | .highlight .cs{ 456 | color:#999999; 457 | font-weight:bold; 458 | font-style:italic 459 | } 460 | 461 | .highlight .gd{ 462 | color:#000000; 463 | background-color:#ffdddd 464 | } 465 | 466 | .highlight .gd .x{ 467 | color:#000000; 468 | background-color:#ffaaaa 469 | } 470 | 471 | .highlight .ge{ 472 | font-style:italic 473 | } 474 | 475 | .highlight .gr{ 476 | color:#aa0000 477 | } 478 | 479 | .highlight .gh{ 480 | color:#999999 481 | } 482 | 483 | .highlight .gi{ 484 | color:#000000; 485 | background-color:#ddffdd 486 | } 487 | 488 | .highlight .gi .x{ 489 | color:#000000; 490 | background-color:#aaffaa 491 | } 492 | 493 | .highlight .go{ 494 | color:#888888 495 | } 496 | 497 | .highlight .gp{ 498 | color:#555555 499 | } 500 | 501 | .highlight .gs{ 502 | font-weight:bold 503 | } 504 | 505 | .highlight .gu{ 506 | color:#800080; 507 | font-weight:bold 508 | } 509 | 510 | .highlight .gt{ 511 | color:#aa0000 512 | } 513 | 514 | .highlight .kc{ 515 | font-weight:bold 516 | } 517 | 518 | .highlight .kd{ 519 | font-weight:bold 520 | } 521 | 522 | .highlight .kn{ 523 | font-weight:bold 524 | } 525 | 526 | .highlight .kp{ 527 | font-weight:bold 528 | } 529 | 530 | .highlight .kr{ 531 | font-weight:bold 532 | } 533 | 534 | .highlight .kt{ 535 | color:#445588; 536 | font-weight:bold 537 | } 538 | 539 | .highlight .m{ 540 | color:#009999 541 | } 542 | 543 | .highlight .s{ 544 | color:#d14 545 | } 546 | 547 | .highlight .n{ 548 | color:#333333 549 | } 550 | 551 | .highlight .na{ 552 | color:#008080 553 | } 554 | 555 | .highlight .nb{ 556 | color:#0086B3 557 | } 558 | 559 | .highlight .nc{ 560 | color:#445588; 561 | font-weight:bold 562 | } 563 | 564 | .highlight .no{ 565 | color:#008080 566 | } 567 | 568 | .highlight .ni{ 569 | color:#800080 570 | } 571 | 572 | .highlight .ne{ 573 | color:#990000; 574 | font-weight:bold 575 | } 576 | 577 | .highlight .nf{ 578 | color:#990000; 579 | font-weight:bold 580 | } 581 | 582 | .highlight .nn{ 583 | color:#555555 584 | } 585 | 586 | .highlight .nt{ 587 | color:#000080 588 | } 589 | 590 | .highlight .nv{ 591 | color:#008080 592 | } 593 | 594 | .highlight .ow{ 595 | font-weight:bold 596 | } 597 | 598 | .highlight .w{ 599 | color:#bbbbbb 600 | } 601 | 602 | .highlight .mf{ 603 | color:#009999 604 | } 605 | 606 | .highlight .mh{ 607 | color:#009999 608 | } 609 | 610 | .highlight .mi{ 611 | color:#009999 612 | } 613 | 614 | .highlight .mo{ 615 | color:#009999 616 | } 617 | 618 | .highlight .sb{ 619 | color:#d14 620 | } 621 | 622 | .highlight .sc{ 623 | color:#d14 624 | } 625 | 626 | .highlight .sd{ 627 | color:#d14 628 | } 629 | 630 | .highlight .s2{ 631 | color:#d14 632 | } 633 | 634 | .highlight .se{ 635 | color:#d14 636 | } 637 | 638 | .highlight .sh{ 639 | color:#d14 640 | } 641 | 642 | .highlight .si{ 643 | color:#d14 644 | } 645 | 646 | .highlight .sx{ 647 | color:#d14 648 | } 649 | 650 | .highlight .sr{ 651 | color:#009926 652 | } 653 | 654 | .highlight .s1{ 655 | color:#d14 656 | } 657 | 658 | .highlight .ss{ 659 | color:#990073 660 | } 661 | 662 | .highlight .bp{ 663 | color:#999999 664 | } 665 | 666 | .highlight .vc{ 667 | color:#008080 668 | } 669 | 670 | .highlight .vg{ 671 | color:#008080 672 | } 673 | 674 | .highlight .vi{ 675 | color:#008080 676 | } 677 | 678 | .highlight .il{ 679 | color:#009999 680 | } 681 | 682 | .highlight .gc{ 683 | color:#999; 684 | background-color:#EAF2F5 685 | } 686 | 687 | .type-csharp .highlight .k{ 688 | color:#0000FF 689 | } 690 | 691 | .type-csharp .highlight .kt{ 692 | color:#0000FF 693 | } 694 | 695 | .type-csharp .highlight .nf{ 696 | color:#000000; 697 | font-weight:normal 698 | } 699 | 700 | .type-csharp .highlight .nc{ 701 | color:#2B91AF 702 | } 703 | 704 | .type-csharp .highlight .nn{ 705 | color:#000000 706 | } 707 | 708 | .type-csharp .highlight .s{ 709 | color:#A31515 710 | } 711 | 712 | .type-csharp .highlight .sc{ 713 | color:#A31515 714 | } 715 | -------------------------------------------------------------------------------- /docs/assets/ico/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/ico/favicon.ico -------------------------------------------------------------------------------- /docs/assets/img/diagrams/activity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/activity.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/basic/arrow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/basic/arrow.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/basic/common.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/basic/common.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/basic/participant.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/basic/participant.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/basic_widgets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/basic_widgets.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/class.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/class.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/colors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/colors.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/component.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/component.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/element.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/element.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/element/actor.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/element/actor.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/element/agent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/element/agent.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/element/boundary.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/element/boundary.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/element/component.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/element/component.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/element/control.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/element/control.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/element/entity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/element/entity.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/element/interface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/element/interface.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/element/usecase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/element/usecase.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/example/oauth/component.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/example/oauth/component.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/example/oauth/sequence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/example/oauth/sequence.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/legend.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/legend.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/object.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/object.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/package.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/package.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/package/artifact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/package/artifact.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/package/cloud.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/package/cloud.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/package/database.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/package/database.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/package/folder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/package/folder.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/package/frame.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/package/frame.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/package/node.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/package/node.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/package/package.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/package/package.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/package/storage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/package/storage.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/activity.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/activity.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/agregation_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/agregation_line.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/async_message_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/async_message_line.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/async_return_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/async_return_line.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/class.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/class.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/component.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/component.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/composition_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/composition_line.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/down_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/down_line.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/ext_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/ext_line.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/extension_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/extension_line.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/final_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/final_line.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/initial_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/initial_line.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/left_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/left_line.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/message_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/message_line.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/note_left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/note_left.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/note_right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/note_right.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/object.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/object.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/package_visibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/package_visibility.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/private_visibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/private_visibility.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/protected_visibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/protected_visibility.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/public_visibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/public_visibility.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/return_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/return_line.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/right_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/right_line.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/title.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/title.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/up_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/up_line.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/use_line.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/use_line.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/parts/usecase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/parts/usecase.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/sequence.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/sequence.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/sprites.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/sprites.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/state.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/state.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/tree_widget.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/tree_widget.png -------------------------------------------------------------------------------- /docs/assets/img/diagrams/usecase.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/diagrams/usecase.png -------------------------------------------------------------------------------- /docs/assets/img/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/example.png -------------------------------------------------------------------------------- /docs/assets/img/example_state.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/example_state.png -------------------------------------------------------------------------------- /docs/assets/img/ribbons/forkme_right_white.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ogom/draw_uml/bf1834196c4bbcbd07c5c07b1a09427dfe28ccec/docs/assets/img/ribbons/forkme_right_white.png -------------------------------------------------------------------------------- /docs/assets/js/bootstrap.min.js: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v3.1.1 (http://getbootstrap.com) 3 | * Copyright 2011-2014 Twitter, Inc. 4 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 5 | */ 6 | if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires 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(a.support.transition.end,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()})}(jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.isLoading=!1};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",f.resetText||d.data("resetText",d[e]()),d[e](f[b]||this.options[b]),setTimeout(a.proxy(function(){"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},b.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")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}a&&this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover",wrap:!0},b.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},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.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},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;if(!e.length){if(!this.options.wrap)return;e=this.$element.find(".item")[h]()}if(e.hasClass("active"))return this.sliding=!1;var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});return this.$element.trigger(j),j.isDefaultPrevented()?void 0:(this.sliding=!0,f&&this.pause(),this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid.bs.carousel",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")?(e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid.bs.carousel")},0)}).emulateTransitionEnd(1e3*d.css("transition-duration").slice(0,-1))):(d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid.bs.carousel")),f&&this.cycle(),this)};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .panel > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("collapse in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.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").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?void this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);!e&&f.toggle&&"show"==c&&(c=!c),e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(jQuery),+function(a){"use strict";function b(b){a(d).remove(),a(e).each(function(){var d=c(a(this)),e={relatedTarget:this};d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown",e)),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown",e))})}function c(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()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown",h),e.focus()}return!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=" li:not(.divider):visible a",i=f.find("[role=menu]"+h+", [role=listbox]"+h);if(i.length){var j=i.index(i.filter(":focus"));38==b.keyCode&&j>0&&j--,40==b.keyCode&&jt |