From 5a196db1ee5ad49038b07c710f2a67d43bbc4935 Mon Sep 17 00:00:00 2001 From: David Benson Date: Tue, 1 May 2018 17:32:07 +0100 Subject: [PATCH] 8.5.15 release --- ChangeLog | 59 +- VERSION | 2 +- etc/build/build.xml | 1 + etc/mxgraph/mxClient.js | 18 +- etc/vsd/README.txt | 56 + .../VsdConverter/.vs/VsdConverter/v15/.suo | Bin 0 -> 180224 bytes .../VsdConverter/v15/Server/sqlite3/db.lock | 0 .../v15/Server/sqlite3/storage.ide | Bin 0 -> 1662976 bytes .../.vs/config/applicationhost.config | 1030 ++ etc/vsd/VsdConverter/VsdConverter.sln | 31 + .../VsdConverter/App_Start/BundleConfig.cs | 28 + .../VsdConverter/App_Start/FilterConfig.cs | 13 + .../VsdConverter/App_Start/RouteConfig.cs | 23 + .../VsdConverter/App_Start/WebApiConfig.cs | 24 + .../VsdConverter/ApplicationInsights.config | 79 + .../HelpPage/ApiDescriptionExtensions.cs | 39 + .../HelpPage/App_Start/HelpPageConfig.cs | 113 + .../HelpPage/Controllers/HelpController.cs | 63 + .../VsdConverter/Areas/HelpPage/HelpPage.css | 134 + .../HelpPage/HelpPageAreaRegistration.cs | 26 + .../HelpPageConfigurationExtensions.cs | 467 + .../CollectionModelDescription.cs | 7 + .../ComplexTypeModelDescription.cs | 14 + .../DictionaryModelDescription.cs | 6 + .../EnumTypeModelDescription.cs | 15 + .../ModelDescriptions/EnumValueDescription.cs | 11 + .../IModelDocumentationProvider.cs | 12 + .../KeyValuePairModelDescription.cs | 9 + .../ModelDescriptions/ModelDescription.cs | 16 + .../ModelDescriptionGenerator.cs | 451 + .../ModelDescriptions/ModelNameAttribute.cs | 18 + .../ModelDescriptions/ModelNameHelper.cs | 36 + .../ModelDescriptions/ParameterAnnotation.cs | 11 + .../ModelDescriptions/ParameterDescription.cs | 21 + .../SimpleTypeModelDescription.cs | 6 + .../Areas/HelpPage/Models/HelpPageApiModel.cs | 108 + .../HelpPageSampleGenerator.cs | 444 + .../SampleGeneration/HelpPageSampleKey.cs | 172 + .../HelpPage/SampleGeneration/ImageSample.cs | 41 + .../SampleGeneration/InvalidSample.cs | 37 + .../SampleGeneration/ObjectGenerator.cs | 456 + .../SampleGeneration/SampleDirection.cs | 11 + .../HelpPage/SampleGeneration/TextSample.cs | 37 + .../Areas/HelpPage/Views/Help/Api.cshtml | 22 + .../Help/DisplayTemplates/ApiGroup.cshtml | 41 + .../CollectionModelDescription.cshtml | 6 + .../ComplexTypeModelDescription.cshtml | 3 + .../DictionaryModelDescription.cshtml | 4 + .../EnumTypeModelDescription.cshtml | 24 + .../DisplayTemplates/HelpPageApiModel.cshtml | 67 + .../Help/DisplayTemplates/ImageSample.cshtml | 4 + .../DisplayTemplates/InvalidSample.cshtml | 13 + .../KeyValuePairModelDescription.cshtml | 4 + .../ModelDescriptionLink.cshtml | 26 + .../Help/DisplayTemplates/Parameters.cshtml | 48 + .../Help/DisplayTemplates/Samples.cshtml | 30 + .../SimpleTypeModelDescription.cshtml | 3 + .../Help/DisplayTemplates/TextSample.cshtml | 6 + .../Areas/HelpPage/Views/Help/Index.cshtml | 38 + .../HelpPage/Views/Help/ResourceModel.cshtml | 19 + .../HelpPage/Views/Shared/_Layout.cshtml | 12 + .../Areas/HelpPage/Views/Web.config | 41 + .../Areas/HelpPage/Views/_ViewStart.cshtml | 4 + .../HelpPage/XmlDocumentationProvider.cs | 161 + .../VsdConverter/Content/Site.css | 17 + .../VsdConverter/Content/bootstrap.css | 6816 ++++++++++++ .../VsdConverter/Content/bootstrap.min.css | 20 + .../Controllers/ConverterController.cs | 192 + .../Controllers/HomeController.cs | 18 + etc/vsd/VsdConverter/VsdConverter/Global.asax | 1 + .../VsdConverter/VsdConverter/Global.asax.cs | 23 + .../VsdConverter/Properties/AssemblyInfo.cs | 35 + .../PublishProfiles/CustomProfile.pubxml | 21 + .../PublishProfiles/CustomProfile.pubxml.user | 10 + .../PublishProfiles/FolderProfile.pubxml | 18 + .../PublishProfiles/FolderProfile.pubxml.user | 379 + .../PublishProfiles/FolderProfile1.pubxml | 17 + .../FolderProfile1.pubxml.user | 385 + .../VsdConverter/Scripts/bootstrap.js | 2014 ++++ .../VsdConverter/Scripts/bootstrap.min.js | 21 + .../Scripts/jquery-1.10.2.intellisense.js | 2671 +++++ .../VsdConverter/Scripts/jquery-1.10.2.js | 9803 +++++++++++++++++ .../VsdConverter/Scripts/jquery-1.10.2.min.js | 23 + .../Scripts/jquery-1.10.2.min.map | 1 + .../VsdConverter/Scripts/modernizr-2.6.2.js | 1416 +++ .../VsdConverter/Scripts/respond.js | 340 + .../VsdConverter/Scripts/respond.min.js | 20 + .../VsdConverter/Views/Home/Index.cshtml | 30 + .../VsdConverter/Views/Shared/Error.cshtml | 13 + .../VsdConverter/Views/Shared/_Layout.cshtml | 41 + .../VsdConverter/Views/Web.config | 43 + .../VsdConverter/Views/_ViewStart.cshtml | 3 + .../VsdConverter/VsdConverter.csproj | 344 + .../VsdConverter/VsdConverter.csproj.user | 46 + .../VsdConverter/Web.Debug.config | 30 + .../VsdConverter/Web.Release.config | 31 + etc/vsd/VsdConverter/VsdConverter/Web.config | 75 + etc/vsd/VsdConverter/VsdConverter/favicon.ico | Bin 0 -> 32038 bytes .../fonts/glyphicons-halflings-regular.eot | Bin 0 -> 14079 bytes .../fonts/glyphicons-halflings-regular.svg | 228 + .../fonts/glyphicons-halflings-regular.ttf | Bin 0 -> 29512 bytes .../fonts/glyphicons-halflings-regular.woff | Bin 0 -> 16448 bytes .../VsdConverter/VsdConverter/packages.config | 33 + .../.vs/VsdConverterApp/v15/.suo | Bin 0 -> 58880 bytes .../v15/Server/sqlite3/db.lock | 0 .../v15/Server/sqlite3/storage.ide | Bin 0 -> 585728 bytes etc/vsd/VsdConverterApp/VsdConverterApp.sln | 25 + .../VsdConverterApp/App.config | 6 + .../VsdConverterApp/Program.cs | 150 + .../Properties/AssemblyInfo.cs | 36 + .../VsdConverterApp/VsdConverterApp.csproj | 81 + .../importer/gliffyTranslation.properties | 4 +- .../mxgraph/io/gliffy/model/GliffyObject.java | 1 - src/main/webapp/auth.html | 158 + src/main/webapp/cache.manifest | 2 +- src/main/webapp/connect/confluence/admin.js | 191 +- .../connect/confluence/connectUtils-1-4-8.js | 6 +- .../connect/confluence/viewer-1-4-8.html | 14 +- .../webapp/connect/plantuml/macroEditor.html | 2 +- .../webapp/connect/trello/js/attSection.js | 2 +- src/main/webapp/electron.js | 3 +- src/main/webapp/export3.html | 7 +- .../webapp/images/sidebar-infographic.png | Bin 0 -> 40321 bytes src/main/webapp/index.html | 25 +- src/main/webapp/js/app.min.js | 3471 +++--- src/main/webapp/js/atlas-viewer.min.js | 1155 +- src/main/webapp/js/atlas.min.js | 3690 ++++--- src/main/webapp/js/diagramly/App.js | 12 +- src/main/webapp/js/diagramly/Devel.js | 1 + src/main/webapp/js/diagramly/Dialogs.js | 363 +- src/main/webapp/js/diagramly/DrawioFile.js | 2 +- src/main/webapp/js/diagramly/DriveClient.js | 6 +- src/main/webapp/js/diagramly/DriveRealtime.js | 231 +- src/main/webapp/js/diagramly/Editor.js | 7 + src/main/webapp/js/diagramly/EditorUi.js | 680 +- src/main/webapp/js/diagramly/ElectronApp.js | 24 + src/main/webapp/js/diagramly/GraphViewer.js | 12 +- src/main/webapp/js/diagramly/Init.js | 1 + .../js/diagramly/sidebar/Sidebar-Basic.js | 11 +- .../diagramly/sidebar/Sidebar-Infographic.js | 1684 +++ .../js/diagramly/sidebar/Sidebar-Sysml.js | 8 +- .../webapp/js/diagramly/sidebar/Sidebar.js | 4 +- src/main/webapp/js/embed-static.min.js | 18 +- src/main/webapp/js/mxgraph/Format.js | 5 + src/main/webapp/js/mxgraph/Graph.js | 76 +- src/main/webapp/js/reader.min.js | 18 +- src/main/webapp/js/shapes.min.js | 116 +- src/main/webapp/js/viewer.min.js | 1155 +- src/main/webapp/resources/dia_eo.txt | 2 +- src/main/webapp/resources/dia_ja.txt | 42 +- src/main/webapp/shapes/mxBasic.js | 302 +- src/main/webapp/shapes/mxInfographic.js | 2164 ++++ src/main/webapp/styles/dark.css | 1 + src/main/webapp/styles/grapheditor.css | 2 +- 154 files changed, 40557 insertions(+), 5318 deletions(-) create mode 100644 etc/vsd/README.txt create mode 100644 etc/vsd/VsdConverter/.vs/VsdConverter/v15/.suo create mode 100644 etc/vsd/VsdConverter/.vs/VsdConverter/v15/Server/sqlite3/db.lock create mode 100644 etc/vsd/VsdConverter/.vs/VsdConverter/v15/Server/sqlite3/storage.ide create mode 100644 etc/vsd/VsdConverter/.vs/config/applicationhost.config create mode 100644 etc/vsd/VsdConverter/VsdConverter.sln create mode 100644 etc/vsd/VsdConverter/VsdConverter/App_Start/BundleConfig.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/App_Start/FilterConfig.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/App_Start/RouteConfig.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/App_Start/WebApiConfig.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/ApplicationInsights.config create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ApiDescriptionExtensions.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/App_Start/HelpPageConfig.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Controllers/HelpController.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/HelpPage.css create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/HelpPageAreaRegistration.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/HelpPageConfigurationExtensions.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/CollectionModelDescription.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ComplexTypeModelDescription.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/DictionaryModelDescription.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/EnumTypeModelDescription.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/EnumValueDescription.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/IModelDocumentationProvider.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/KeyValuePairModelDescription.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ModelDescription.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ModelDescriptionGenerator.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ModelNameAttribute.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ModelNameHelper.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ParameterAnnotation.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ParameterDescription.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/SimpleTypeModelDescription.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Models/HelpPageApiModel.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/HelpPageSampleGenerator.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/HelpPageSampleKey.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/ImageSample.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/InvalidSample.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/ObjectGenerator.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/SampleDirection.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/TextSample.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/Api.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/ApiGroup.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/CollectionModelDescription.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/ComplexTypeModelDescription.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/DictionaryModelDescription.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/EnumTypeModelDescription.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/HelpPageApiModel.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/ImageSample.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/InvalidSample.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/KeyValuePairModelDescription.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/ModelDescriptionLink.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/Parameters.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/Samples.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/SimpleTypeModelDescription.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/TextSample.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/Index.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/ResourceModel.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Shared/_Layout.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Web.config create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/_ViewStart.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/XmlDocumentationProvider.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Content/Site.css create mode 100644 etc/vsd/VsdConverter/VsdConverter/Content/bootstrap.css create mode 100644 etc/vsd/VsdConverter/VsdConverter/Content/bootstrap.min.css create mode 100644 etc/vsd/VsdConverter/VsdConverter/Controllers/ConverterController.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Controllers/HomeController.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Global.asax create mode 100644 etc/vsd/VsdConverter/VsdConverter/Global.asax.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Properties/AssemblyInfo.cs create mode 100644 etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/CustomProfile.pubxml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/CustomProfile.pubxml.user create mode 100644 etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/FolderProfile.pubxml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/FolderProfile.pubxml.user create mode 100644 etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/FolderProfile1.pubxml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/FolderProfile1.pubxml.user create mode 100644 etc/vsd/VsdConverter/VsdConverter/Scripts/bootstrap.js create mode 100644 etc/vsd/VsdConverter/VsdConverter/Scripts/bootstrap.min.js create mode 100644 etc/vsd/VsdConverter/VsdConverter/Scripts/jquery-1.10.2.intellisense.js create mode 100644 etc/vsd/VsdConverter/VsdConverter/Scripts/jquery-1.10.2.js create mode 100644 etc/vsd/VsdConverter/VsdConverter/Scripts/jquery-1.10.2.min.js create mode 100644 etc/vsd/VsdConverter/VsdConverter/Scripts/jquery-1.10.2.min.map create mode 100644 etc/vsd/VsdConverter/VsdConverter/Scripts/modernizr-2.6.2.js create mode 100644 etc/vsd/VsdConverter/VsdConverter/Scripts/respond.js create mode 100644 etc/vsd/VsdConverter/VsdConverter/Scripts/respond.min.js create mode 100644 etc/vsd/VsdConverter/VsdConverter/Views/Home/Index.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Views/Shared/Error.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Views/Shared/_Layout.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/Views/Web.config create mode 100644 etc/vsd/VsdConverter/VsdConverter/Views/_ViewStart.cshtml create mode 100644 etc/vsd/VsdConverter/VsdConverter/VsdConverter.csproj create mode 100644 etc/vsd/VsdConverter/VsdConverter/VsdConverter.csproj.user create mode 100644 etc/vsd/VsdConverter/VsdConverter/Web.Debug.config create mode 100644 etc/vsd/VsdConverter/VsdConverter/Web.Release.config create mode 100644 etc/vsd/VsdConverter/VsdConverter/Web.config create mode 100644 etc/vsd/VsdConverter/VsdConverter/favicon.ico create mode 100644 etc/vsd/VsdConverter/VsdConverter/fonts/glyphicons-halflings-regular.eot create mode 100644 etc/vsd/VsdConverter/VsdConverter/fonts/glyphicons-halflings-regular.svg create mode 100644 etc/vsd/VsdConverter/VsdConverter/fonts/glyphicons-halflings-regular.ttf create mode 100644 etc/vsd/VsdConverter/VsdConverter/fonts/glyphicons-halflings-regular.woff create mode 100644 etc/vsd/VsdConverter/VsdConverter/packages.config create mode 100644 etc/vsd/VsdConverterApp/.vs/VsdConverterApp/v15/.suo create mode 100644 etc/vsd/VsdConverterApp/.vs/VsdConverterApp/v15/Server/sqlite3/db.lock create mode 100644 etc/vsd/VsdConverterApp/.vs/VsdConverterApp/v15/Server/sqlite3/storage.ide create mode 100644 etc/vsd/VsdConverterApp/VsdConverterApp.sln create mode 100644 etc/vsd/VsdConverterApp/VsdConverterApp/App.config create mode 100644 etc/vsd/VsdConverterApp/VsdConverterApp/Program.cs create mode 100644 etc/vsd/VsdConverterApp/VsdConverterApp/Properties/AssemblyInfo.cs create mode 100644 etc/vsd/VsdConverterApp/VsdConverterApp/VsdConverterApp.csproj create mode 100644 src/main/webapp/auth.html create mode 100644 src/main/webapp/images/sidebar-infographic.png create mode 100644 src/main/webapp/js/diagramly/sidebar/Sidebar-Infographic.js create mode 100644 src/main/webapp/shapes/mxInfographic.js diff --git a/ChangeLog b/ChangeLog index f488503f..57eaf515 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,4 +1,61 @@ -04-MAR-2018: 8.5.3 +01-MAY-2018: 8.5.15 + +- Fixes showing device when no other storage options available +- Fixes indexing with multiple diagrams on page in Confluence Cloud + +30-APR-2018: 8.5.14 + +- Fixes XSS vulnerability in Trello Power-Up + +27-APR-2018: 8.5.13 + +- Adds infographic library +- Adds device option in export dialogs + +20-APR-2018: 8.5.12 + +- Adds test case for Google auth errors + +20-APR-2018: 8.5.11 + +- Fixes plantuml insert +- Fixes PDF export size +- Uses mxGraph 3.9.4 beta 4 + +17-APR-2018: 8.5.10 + +- Disables autosave for realtime connect errors +- Fixes format panel background in dark theme +- Adds click on export option labels +- Adds namespace for CSV import +- Changes help links in dialogs + +10-APR-2018: 8.5.9 + +- Reverts macro inconsistency check for Confluence Cloud + +08-APR-2018: 8.5.8 + +- Adds logging for disconnect error + +07-APR-2018: 8.5.7 + +- Improved handling for Google disconnect error + +05-APR-2018: 8.5.6 + +- Revert export server for Desktop version to phantom until full fix found + +05-APR-2018: 8.5.5 + +- Changes Plant export URL +- Adds JS redirect from http to https + +05-APR-2018: 8.5.4 + +- Works around Chrome 65 bug with echo downloads + +04-APR-2018: 8.5.3 - Gliffy import improvement - Fix for anchor download issue in Chrome 65 diff --git a/VERSION b/VERSION index 6a295953..90a4e35f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -8.5.3 \ No newline at end of file +8.5.15 \ No newline at end of file diff --git a/etc/build/build.xml b/etc/build/build.xml index 2905f8f7..aa0f9f31 100644 --- a/etc/build/build.xml +++ b/etc/build/build.xml @@ -125,6 +125,7 @@ + diff --git a/etc/mxgraph/mxClient.js b/etc/mxgraph/mxClient.js index 6f9c97ce..64d9371d 100644 --- a/etc/mxgraph/mxClient.js +++ b/etc/mxgraph/mxClient.js @@ -306,7 +306,7 @@ mxSvgCanvas2D.prototype.addNode=function(a,b){var c=this.node,d=this.state;if(nu c.setAttribute("transform",d.transform);d.shadow&&this.root.appendChild(this.createShadow(c));0a.alpha||1>a.fillAlpha)&&this.node.setAttribute("fill-opacity",a.alpha*a.fillAlpha);if(null!=a.fillColor)if(null!=a.gradientColor)if(a=this.getSvgGradient(a.fillColor,a.gradientColor,a.gradientFillAlpha,a.gradientAlpha,a.gradientDirection),mxClient.IS_CHROME_APP||mxClient.IS_IE||mxClient.IS_IE11||mxClient.IS_EDGE||this.root.ownerDocument!=document)this.node.setAttribute("fill","url(#"+a+")");else{var b=this.getBaseUrl().replace(/([\(\)])/g, -"\\$1");this.node.setAttribute("fill","url("+b+"#"+a+")")}else this.node.setAttribute("fill",a.fillColor.toLowerCase())};mxSvgCanvas2D.prototype.getCurrentStrokeWidth=function(){return Math.max(this.minStrokeWidth,this.format(this.state.strokeWidth*this.state.scale))}; +"\\$1");this.node.setAttribute("fill","url("+b+"#"+a+")")}else this.node.setAttribute("fill",a.fillColor.toLowerCase())};mxSvgCanvas2D.prototype.getCurrentStrokeWidth=function(){return Math.max(this.minStrokeWidth,Math.max(.01,this.format(this.state.strokeWidth*this.state.scale)))}; mxSvgCanvas2D.prototype.updateStroke=function(){var a=this.state;this.node.setAttribute("stroke",a.strokeColor.toLowerCase());(1>a.alpha||1>a.strokeAlpha)&&this.node.setAttribute("stroke-opacity",a.alpha*a.strokeAlpha);var b=this.getCurrentStrokeWidth();1!=b&&this.node.setAttribute("stroke-width",b);"path"==this.node.nodeName&&this.updateStrokeAttributes();a.dashed&&this.node.setAttribute("stroke-dasharray",this.createDashPattern((a.fixDash?1:a.strokeWidth)*a.scale))}; mxSvgCanvas2D.prototype.updateStrokeAttributes=function(){var a=this.state;null!=a.lineJoin&&"miter"!=a.lineJoin&&this.node.setAttribute("stroke-linejoin",a.lineJoin);if(null!=a.lineCap){var b=a.lineCap;"flat"==b&&(b="butt");"butt"!=b&&this.node.setAttribute("stroke-linecap",b)}null==a.miterLimit||this.styleEnabled&&10==a.miterLimit||this.node.setAttribute("stroke-miterlimit",a.miterLimit)}; mxSvgCanvas2D.prototype.createDashPattern=function(a){var b=[];if("string"===typeof this.state.dashPattern){var c=this.state.dashPattern.split(" ");if(0mxEvent.VIRTUAL_HANDLE&&(c[this.index-1]=d)}return null!=e?e:c}; @@ -1611,8 +1611,8 @@ m.point.y):(delete a.style[this.isSource?mxConstants.STYLE_EXIT_X:mxConstants.ST this.graph.allowDanglingEdges?null:""));a.view.updatePoints(a,this.points,f,g);a.view.updateFloatingTerminalPoints(a,f,g)}; mxEdgeHandler.prototype.mouseMove=function(a,b){if(null!=this.index&&null!=this.marker){this.currentPoint=this.getPointForEvent(b);this.error=null;!this.graph.isIgnoreTerminalEvent(b.getEvent())&&mxEvent.isShiftDown(b.getEvent())&&null!=this.snapPoint&&(Math.abs(this.snapPoint.x-this.currentPoint.x)mxEvent.VIRTUAL_HANDLE)null!= this.customHandles&&this.customHandles[mxEvent.CUSTOM_HANDLE-this.index].processEvent(b);else if(this.isLabel)this.label.x=this.currentPoint.x,this.label.y=this.currentPoint.y;else{this.points=this.getPreviewPoints(this.currentPoint,b);var c=this.isSource||this.isTarget?this.getPreviewTerminalState(b):null;if(null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&null!=this.constraintHandler.currentPoint)this.currentPoint=this.constraintHandler.currentPoint.clone(); -else if(this.outlineConnect){var d=this.isSource||this.isTarget?this.isOutlineConnectEvent(b):!1;d?c=this.marker.highlight.state:null!=c&&c!=b.getState()&&null!=this.marker.highlight.shape&&(this.marker.highlight.shape.stroke="transparent",this.marker.highlight.repaint(),c=null)}var e=this.clonePreviewState(this.currentPoint,null!=c?c.cell:null);this.updatePreviewState(e,this.currentPoint,c,b,d);this.setPreviewColor(null==this.error?this.marker.validColor:this.marker.invalidColor);this.abspoints= -e.absolutePoints;this.active=!0}this.updateHint(b,this.currentPoint);this.drawPreview();mxEvent.consume(b.getEvent());b.consume()}else mxClient.IS_IE&&null!=this.getHandleForEvent(b)&&b.consume(!1)}; +else if(this.outlineConnect){var d=this.isSource||this.isTarget?this.isOutlineConnectEvent(b):!1;d?c=this.marker.highlight.state:null!=c&&c!=b.getState()&&null!=this.marker.highlight.shape&&(this.marker.highlight.shape.stroke="transparent",this.marker.highlight.repaint(),c=null)}null!=c&&this.graph.isCellLocked(c.cell)&&(c=null,this.marker.reset());var e=this.clonePreviewState(this.currentPoint,null!=c?c.cell:null);this.updatePreviewState(e,this.currentPoint,c,b,d);this.setPreviewColor(null==this.error? +this.marker.validColor:this.marker.invalidColor);this.abspoints=e.absolutePoints;this.active=!0}this.updateHint(b,this.currentPoint);this.drawPreview();mxEvent.consume(b.getEvent());b.consume()}else mxClient.IS_IE&&null!=this.getHandleForEvent(b)&&b.consume(!1)}; mxEdgeHandler.prototype.mouseUp=function(a,b){if(null!=this.index&&null!=this.marker){var c=this.state.cell;if(b.getX()!=this.startX||b.getY()!=this.startY){var d=!this.graph.isIgnoreTerminalEvent(b.getEvent())&&this.graph.isCloneEvent(b.getEvent())&&this.cloneEnabled&&this.graph.isCellsCloneable();if(null!=this.error)0mxEvent.VIRTUAL_HANDLE){if(null!=this.customHandles){var e=this.graph.getModel(); e.beginUpdate();try{this.customHandles[mxEvent.CUSTOM_HANDLE-this.index].execute()}finally{e.endUpdate()}}}else if(this.isLabel)this.moveLabel(this.state,this.label.x,this.label.y);else if(this.isSource||this.isTarget){var f=null;null!=this.constraintHandler.currentConstraint&&null!=this.constraintHandler.currentFocus&&(f=this.constraintHandler.currentFocus.cell);null==f&&this.marker.hasValidState()&&null!=this.marker.highlight&&null!=this.marker.highlight.shape&&"transparent"!=this.marker.highlight.shape.stroke&& "white"!=this.marker.highlight.shape.stroke&&(f=this.marker.validState.cell);if(null!=f){var e=this.graph.getModel(),g=e.getParent(c);e.beginUpdate();try{if(d){var k=e.getGeometry(c),d=this.graph.cloneCells([c])[0];e.add(g,d,e.getChildCount(g));null!=k&&(k=k.clone(),e.setGeometry(d,k));var l=e.getTerminal(c,!this.isSource);this.graph.connectCell(d,l,!this.isSource);c=d}c=this.connect(c,f,this.isSource,d,b)}finally{e.endUpdate()}}else this.graph.isAllowDanglingEdges()&&(e=this.abspoints[this.isSource? diff --git a/etc/vsd/README.txt b/etc/vsd/README.txt new file mode 100644 index 00000000..dd7c83ec --- /dev/null +++ b/etc/vsd/README.txt @@ -0,0 +1,56 @@ +VsdConverterApp: + +C# Console App. It is a local TCP server that receives *.vsd files paths from clients and convert them to *.vsdx files using Visio. + +This application is needed to avoid security limitation that prevents this code from running inside IIS directly. + +VsdConverter: + +AST.net web application that provides *.vsd files conversion service and acts as a client to the previous TCP server. + +======================================== +Running the conversion site: + +1- Run VsdConverterApp TCP sever +2- Deploy VsdConverter to IIS (manually or using Web Deployment Tool). + +In details (Ignore Hyper-V steps if it is running directly on the server): + +Enable Hyper-V in Windows Features + +In Hyper-V Manager: + +1- Create a new virtual machine and select Windows 10 Dev + https://medium.com/@pugillum/setting-up-a-windows-server-2012-vm-on-windows-10-hyper-v-a23f854f34eb +2- Install Visio in the VM + 2.a Add Visio .iso file as a DVD + 2.b Install from the DVD inside the VM normally + [OR] Download and istall Visio online +3- Install IIS and enable ASP.NET + 3.a Open Control Panel, Programs and Features, Turn Windows features on or off. + 3.b Expand Internet Information Services, World Wide Web Services, and Application Development Features. + 3.c Make sure that ASP.NET 4.7 is selected. +4- After installing IIS, run IIS Manager to make sure that the .NET Framework version 4 is assigned to the default application pool. + 4.a Press WINDOWS+R to open the Run dialog box. + 4.b Enter "inetmgr", and then click OK. + 4.c In the Connections pane, expand the server node and select Application Pools. In the Application Pools pane, if DefaultAppPool is assigned to the .NET framework version 4, skip to (5). + 4.d In the Application Pools pane, click DefaultAppPool, and then in the Actions pane click Basic Settings. + 4.e In the Edit Application Pool dialog box, change .NET Framework version to .NET Framework v4.0.30319 and click OK. + 4.f IIS is now ready for you to publish a web application to it. +5- Install Web Deploy https://technet.microsoft.com/en-us/library/dd569059.aspx --> x64 (64–bit) Web Deployment Tool (x64) + 5.a Direct link: http://download.microsoft.com/download/8/9/B/89B754A5-56F7-45BD-B074-8974FD2039AF/WebDeploy_2_10_amd64_en-US.msi +6- Open Control Panel\System and Security\System then Advanced system settings + 6.a Advanced tab -> Environment Variables + 6.b System variables -> Path -> Edit... + 6.c New -> add the following: C:\Program Files\IIS\Microsoft Web Deploy V2 + +7- Open the command prompt (cmd) and change directory to the VsdConverter Package + 7.a Run the deployment command: VsdConverter.deploy.cmd /Y +8- In folder: C:\inetpub\wwwroot\VsdConverter_deploy + 8.a create folder: App_Data + 8.b Open Properties of App_Data -> Security -> Edit + 8.c Give full control to Users: IIS_IUSRS +9- Website is ready inside the VM: http://localhost/VsdConverter_deploy/ + outside the VM by its ip which can be found using ipconfig (step 1) + + diff --git a/etc/vsd/VsdConverter/.vs/VsdConverter/v15/.suo b/etc/vsd/VsdConverter/.vs/VsdConverter/v15/.suo new file mode 100644 index 0000000000000000000000000000000000000000..7994347df680be4df661fd674175103d6def185f GIT binary patch literal 180224 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

&{|`Z>OKrIc&fGb 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�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�QLZG*+ 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%0D+L_Nnza@RRfb%>yADsO;c~113_4X9< z|7wjodntP@_Gh0Thn;yWZ$VoeU!lE>qYV=7MaH;N=gEb9H$Jysef|OJQjfMxpe^!k z*Fj+U;^V;fk@)0-e=GH7A3j1pAsymyGDm%-A1*4|auwKfqIK=w75hk;J!!lBWgC~n zht_p7^dn@{Fa8GDm>2JgOy*x%$ZQN>{mMLqZP{1v0vJ~}p?^Hs{t_PpRz}=a$efIS zwt%mH&MRbohEAFg{Co-g4N}?bz@rns0|CdiZM?f^`;Wlc&#N(iDl-^XZW;EEk#BXPe*hX#J6TUj-9{|p={dEL#UC$Rb+y$Rxu&o<;W7V=pg7f%V z2G&3FFUKDJtUWh?X=cEGL5bKl9>e)sn>}A2*b?<9zdTCbnPfHs>wo2U1Lv_Y8LWQ! z4YK$;zVqzd1EU{pXCHVgc;cJETPJ)87*&D4;^7n|0~ucKEqnUEplPIpA#n=fGLd*TC8Sd%)TLC&9VwZ1j&x`uoATf6oV7)_Si5 z=ka_4INS4mu>M!(Y4C;#uMT)OIQRj6o;x<%yFNE857sA^eFb}*bCv%$IQwmlQMJvF z5%Ah`6EXw)$Me&k#QEA_Tph;zPGILg$LB=m0(~O>=EA76m$JW}5wT-r1M;-ZvGyWk z&^F!zZHmp95o~)ecIGx-K0l5T=ers3vmdq`6~~D7j{)btXaQ@R{DlSo%!2d(^Ww4b1Y}gR^`K*f~L&!@#+J7lX4s7Zm)@7yLWHc^v%+oX5+r z3i(~>)2#FFMcK8tsN1*`INNprINNqzPxO!H*JloheX9TO0xKilo_T45gm+mS$A$6> z(Uap@-OAj*JaZlVJVsui;m%ja#w%dwSn+?s>THU}l+3!M0KU+33mfb}=~HylC$_ z{wHFab!%r&5qmEXS5y(^$*~+fkSHTi0XoU6lybRLMUN8NFnACn_a<#*vpT$c?#=4Z*U~#SUJap!9`f0E_)qnr|$iJHOw&=-m zz7JR#bv}uV^(ylUnC=dErM4RXnf@}K^+OkJQO^%(?}~fWb#=^%eW%VnXuIRuws$ig z?K{Wg&Db^ytZnDLFOFI9*8A0Zo|#bNHE@*i>AC3}TSUJZ=TD#~kInDE&vAPw?XoS} zFdF*_*U**;;B6D`Mus9m<_Ca0uRadW@$f>y|6_q)2j|%9CN^xNJ{h@XJ&&D3d$rB> zevGqBk36dA{O@Cn#4E`A)W|HUsC_)*I0L(9GZwq4?phu8eK6Q9~+*-hbV zgEB{Br#5TnI@p=pyD|8k@b%{|;5=6xRPYxR{4>DXp!}uajS{{Itj+R&0M2vQi-r7u z3i)?#Rgdef!0V;5dx5h(hZOt;1^+ZKp%v=-2-x+B^?tgLxe=V(@-R5t{5&|@yc7Nr z>z@O_d0ZR`&g0^#?ikOPA@j;X^*nG6<4zm?^0pBpCIRw%vV^jE%)Uuoj(2SvxpnRH zHNe@n_ki;`V%mmv+xLf`{cvm{e{#Y9c)|ZVIJfa$aBkx-!P&Qe0cV}7zN_Ys0%!i7 z;Ox(dh0I}K+htoi!MU!p3j7&xuJ>keuJ=K3*8gmQ{|U~1Sohtv&h5Zi&+iFTW3`uh zM>7u?+s*?Y!q3`Z-%Un7+x+6*aSnGrIfhErWBD1#j{43Ct?K~WQ);X_`IT37ol|K_~8^s?7^B3^L z=&?`bUkNkozYgs9lK*XR*7FEBxA)mX<`r-*`yViWq3o(fyVfc2_TX&)#^9{~OGUdL zS{P;Q_uY}nZQKu>^-lw5`{#ox9_sA@yLQ$7a|-@}^fk%QFNcFIYriiBJ8z560&9=> zB7}3jH=;b_I|{tQqS$urTnDUw#M9g37!*bTDgR-xZ4}Q(#<4HH5bW3&KM3|5C;kRF%fGLXzk_k4&5rBef|VCP3RaK!?MKw- z(3gs`b35wxZi!5me-jyF-g=*Ful@69u(2(FCCVBD;!%a3wZZn0{C&`=yf!?7LUkSh ze^+FT0cE}g&N^Z3{r;$>icDt>zT*q-B=cP@l)AIQHP zyivlB6t><9KihXgVaK!J+=j8(knNiUUJpIm^9nNAM~B0A{K!8QevX4hMcFaO$M{y} zWcWEg)_^}MmHiO>93Okb&-%Y#*m(?m{h*#Jkk9tq1kQ0Y5zL(j>VqB&ZWdnmbtUDw)0cStdjKH!rZ+w z*g5@9uznMN7OXwuN5J}DeC@30H_rzPW=5UjU%*#J{0FdoByIuQcJaou>+{NPVD-yC z7d^ID+%+lsWGr=cw#9Z`P2LqaUw``S?vwjO{mNVeUI)JTcCdAc9|Y%l=QHTEU*tbs zv}G4`YC}KtJNVjc8-GsOEdR%ewa%w{qTjs!xnTEbn>s(!9b@A%%Ktv$TWQMxY5ja7 z^alDza}4^4AANNT^b***#4mKkbNtQVSFl0b)IW0H*mm)1bE3Sy`YHLARsUwlh?Uu7 zo7i^i+5s$IJfXn5Aa8q>pA61^n*%n^>`)SH%`MKEa+@$?qhi?q1^MceDr%=~wN5+`ZwynXg zjl}mMpMCgDf&T*5|LVE27%yJ|=dt`Pu;;&CWF7z;W8y97BW)A^yeRuR{b5>M%{{%M8$dEk|j{Kvqy(Xv;8 z^@I47Y0+k{%~n1*`b~U3d}B;}8Gg`*`e7!GQqN74-IjW7qxJ3$UNhkqus)G*KiFR< zf`+@jbn~i~Eh?5{gzg!K*_2K@-7#yMv{m`LBz2ott?Xn+7 zoDl6-|1GpP&kyr4Se-Y)f1u#EqsOw^ybQcv!Z*{u`rJNRllaN8bUA$6CV%ei7!TsR z;Cs#z{~Nyk5g!iU^M!Z>{k}=Un}DrX{%G2s=T)DVX@hO~4mRmS!VPCi&dI)*Puk!DpF8Sie;ph3}Umels`lJ`*<=+H8A3Q4I?{Re8-3VPaE&9;0 za7;@)r;C4&&KxKI1>2|AwekC6zliq*t4Dk@dhAEb-UGJZ#b2ggV?!J60V^Z^Az1sx zca5y)kf(5nezv{OAmeyZ<~LydDc+G_AQ|wV0mi@lw^2}kiq`;V`P*S?k2-rfKWdNh zv+KdpKiat-*!7I~4PuP!AoCJKJ*2I~{?6nw4?W5E~0&-xFAuW#j_0pGq;{t9re_gZkS z_XaT8LFN{){!#uxurVY4H8|V$8hGWze*>I#j@-5$kL!W6%x2(he;c-mwXK73t$!TX zFB8LSap#>XM=NWd=YHF$iEq!$IBz&91p(&XFV^2vmY)j;jz{qoVEbBp2YAbbe*xD2^8bKN z`&Yalz7kv4ng`Z;UYil;H)YyrtUk2u>tg?!2`?-7Tf)zC!r#%qO47gF^t#@UAfLzV zdhl(p`nLe9U%Us{@h;vSo!Ph3;b)z5!MQDerd|43`IWHQm=TWxXP=x<=sz87Y$)>) zaIWhM;8BTxFF5Nw0~>PNF9xe$KkU&H+hW{a2S1PT+rYWscPZ>S5S;ZN(;f9(PuW+9 zTkX6BTK=f$6Y&yc%J+MN(e*$Zp z?fM5e+pyf2=ui23;|JSy6Zog-aU81iW$@|=U)B+Q*bDy}us#uANpR-4pN1Z7P|u9Q zx5t8&k^fJ0+ODzSN#p8%zmPU=1>ZK_0Nyy^AAq+`_*JmBDRU0zq0KpZUikvpaUs4R zyh*~(f%UWe*T9$&@Vc};kGrkFwoyMEKCV8`oe0k3^z?$?g%a(zEoXy`L-AE$$Eo-Z zu<;{)w2*%RJUa15;_xi9QGv&Ro!2Zo1#G*-i@;g`0oa_!)Xv~MKgRX|tnFuWc5CwLyF+Wv$DyBae=H^#3+s+ahj7Mt>^P z0^fGYKN{?q6`zMr`%azXkzWt2{H|dAFTRs;v0}m}%t&Jd-Z<}K%MVCSVR zXzPJs^@uM4;9FMy)8J7FzX7(t2H} z&gYRyVEaz~5n$UT?g1M!;&Z`y&c6tp%dUp4Yaru!=PcT;pL>zN7;OBAe@A2OJFi78 zs2{{fA5{DK3Up>0?rMu=oll+uYlHYzuzJKF#h5iY_Cw#GY(58l8>|i5{I;pFPo1kb z09#f(2F$b>@NM|k{?fPm!M87z*`+16QG5t|Z4*xe+YIqj<6=MR{|C{tHGK7Kgin;w zC!2${O}q_Qo5gz+{Esrew84JA3T$2CaZvW{W3)?byAFbHU#Mrr_S#p6!4KmU{wVnN zwZ3{{`Fajq1LqifH=$=kuzf8a12*2o{VT;jGA92-yXUbCh&gY}ksLMX;Md#M& zu^-j57cyDT3~(Mhx6O!c(VstAE@JOVJwGn$980~sqsOx9Ii9j>anzpOkk=k<{s7px zvh4c!Q$LH30b7@NDR{GlUnuIj7{2|h%yjBfk9A#-%zBCcajk?(o-dd77=pPsx^^uNBk0Bl>tp97ChctmH6H+{G&SQ+u%$gG)UehAL<%uC=r zN4bVtrs(A)%Kgxd$Yd_KYR?ldE#FW-Xh^2f!~qvbA`-uV{4f$!LC=;zaKd3IR>1|uFl1yePKMj zhMYbTFJyj`@BFp^=i9EE$e#?Y4L0`PkBt6TW()M>vO9q7FZE2v&-zwB&jC9JijM(1 zhlst-aeNu`?->{SUH*gv$*4U+<^HH(qCZuzFwkz`X0Qc-b1Zo6gii!#ou`AdeHVfAJpMP@rheNt^0>$se-a<5M<1;Pe;u&=Ey1=~ zd>MMO{=Y7adU}!nE@kCg_AAIZKDF%{_{N<4e-<(;O^E)LKaS3D{1|87q^$K?_6OiR zZZ}0^Kxp0b7@NcA@hr%I5y~8`wEcozH^TOZZK&u`d4$J<$&jFV9?zp6rKl z*sKle-|4veyt2}+b=eQE6U*L&%qf&Lrj@@0zI`Nr5@W!4?FG*$#zQ;UIYR!aVCxm{ ze_Y*1E71_k{&YFw8#}e<5b#Hlw~flrMP3>E=*v`U8};W}FxBb$Yzwe5;`ztL{!+dd zoaePGu~~c*GV9RB9Ag`UbH8s3Rz|-~1gl>>2b|+=0eIcSKe@mk0p~uw44lWtO$Glh zaIW_Oa2^XE#kcn3Sn9gqxH@h>1zs0^XgfIj;Z}Iobt5$TkmzUUl)b>C;E4|hTUOi! zcKnNHqJ&TgzWpXX;V<~)N$g>&2P6J!P+L?5gBzV(+WSw$(OOmxYEvNz{-ff3%0Cy z+r@G0IPXtD&w5GEX<++BoeRP05zhsyUwk5U<$ga6tRJ-J(e3Ja?-qQe{nm9wq333B zZrA-_^{Df4aGob0pzQjo>@R1>dR?o%dR#sKtk@dYWVayqI5PIBGWUWVr{XK$7P0+) zBYgcJ|I*HALofB7wO@=SZE!B3NVo?0L&ExJGXmQ_bw1gKdevjS8!#9>zsm0e+ZORB z!CNH!Vu8nl?MG#vWX^Y-iqA&B?G?X>^7X(sVb7WPHuw8J)N5Z@@5};sfIY9t{{-^+ z9Cr-?X<5hQ)oau---o>ZSN`ABrB3TwXWbglEZTAbb}FN7SA%mKp9kl*e1=N&xiZ(o zH%`Q-qX)GCk1X2$S7fw7nXk|n%Gej%0uT%K>yS@^ZHw~Pfb+a@Pr-iz zJUYp|4$e9^q=8v}H*nTJ1Dy4DgY~ESPXil!;)}q!Emwo}zx*4)ba%jafph=<6rA<^ z7R+Ce`8Oc@c0GhM|LZ6*b{yB|5Hsqz1-cxp{o?O}tyjDq0=eG3z}Y7Uf^)kTfOC7# z1mlWe!zEzHul8SE@NX;d!v%g8?0l>IKf$@|3NW)D)&XbzE7K6M@iq-icL#iI5uanh zIfnNrFuxE!1)~XL$E%V|1vnw4{PjR z&()uYuTPZu8(5v1cSS$yLS5T}vu%5T9kbdn32dB;=YaEd=5Lrcj4^#X6P?C@I(^Q6K1#K3ljV6Q z2ih3g4cZ&>y`OXO*YU`n27Y%TH<$F0&=Jt*kU5m&tB~@Gpw*xsBL8=2G4(u1`UlV) zbghZpJD?TeuL`XTtp{xk9SHpZ8jW2?KsQ4ZD0dR{9P|fh6gr-UenZ|Lpn1?T=u&jP z=l{?~T+?9ZRp|Kt!dCrFGe>O7@gi)0H;K)`TS8-@{h}?4rKSD{d+{|5aNx(xqb3E8J>p#L3E z57dgB&mi_gW)gHE_;kpAKMeX1_@mIn&^Xfjb37Jmg%&`@#ADC|bWMc1pzok(MR==1 z#>?u^TF@TQ1JDHW&qMBf=w#?a(D$G|=mF?n=rO1p*$X%tpX+e^CgpB{ZiVdMF6c@8 z^d-`VAbTUUCA>Yc^FZ*1l=&5O6Zt#9e;@Qk=)=&1(8JJUkn#Kk^c(1P=x>nmy%oCO z1?>*)2`z$pAmjd5(0$aiHM)0&J`P@+?ff*eoRkog{XGa<*;AE1Ze z%CYGD;CMU+Iv;Xez6gy%kK=P3G#B#TvtzXzIte-xa@^hpJpgToosQwj&`ij&ycEjg z*=JRoL3v!iAA9bCj-amRDepLc0s0;Ed&n{WGIS|rJ_CIYx*GaAbR%>tbQ^RB^exCa zcPDhcANm;dDd=Lz-+fPqehxhi9g0mp>w7O{o`9aF+^3+Lo96wLK*g5rV@=gR#fab$|oi@J<{=v|f!D}IZ9>nH9)uo& z9)o@aJr4Qo)JQeF6Fs7OKFY#1lMr;O(a`OY2A1?PhollNPQ;z9181vd8O zZ^p45@Coo}@Yc|A(C(0H$^W41O=uTvn+ml+>rux6=+p>yD!4}B17gO-Etfj$Ct zp}QMBi=kfV0C>|We;X_aG!I$?odBH#JpjD{y$QXI`c{D615JX?hAx1vg}w#-8u}e{ zE4FNj-mRebKx3etpf(Jd*2VOjIOnze&|`~ zSjrv+y@t#ODSshH4kO0kyC)&B^XO85crUPos_-0gNAP6mKLUhDD{#yrHH>Ga?e+;}md1IhIqhmeFehm6O>F+_0KtF|^hyDSrPaUU1 zXF;E`JY^n&ehmEzdKUT_<^K%*1NtwtB6X|=jfW0_j)WFK--o_~&hJ9cQSSYu&w)M& zeG}Rr{z=qxICvrXQ#l?DZx46_&=TleXe;XAZ^W1Q@9W6D2ps`lNZwfZ*Miri?Atl6 z0WA-G6Wf1H-pY_|pATIDJp-*qxiz47K)zeOFEkFC4t);#0(3oe5A-nfW9ZxH+n#!t zQvPC&pM@q;&oby#=xXRrXf$>_34Id!EOZTYEp#We24z2it})P4l%I|KkKvyTo=e{Q zse@ZYVa=Y`Vh@nFDKf69t|p(NA^+Y2dz~ZybLhJ%=@7f7bZwW{W>2GIOL!bcT*L9h z(1j$vhRkmvdFpwTqa=1deKG0(HOE&HKArq8C+s!Ds|lYA-)G&cQr7E;iIn#`U@g*l z-R7F@=hWvK?Y-nb0sS?V_nPDP36JCGb%%Bw!|@W1h>kc8+)Me>p}8;?aQpWd-upxeNbYl(4*yC%i7lPb9oPN7KsR$5DS-&mqw9FmFWh z1~7gJeLdMA|5M0*A9@2aUwLhqO8xSmC818QkK~zW8RegbV2!w&<6k-cj-%I1%72uj z#NUXI@ZSJ*KeP;5l8)*+7kpphnf@^NQOKj|lQ{k`@zlE%yeswCZ>NAy<#;D_A9N%F z?;>v#_@9QZg1!yi19`4h-|El}$SftHKGR;G*^V<{%mh3|`XS1gKN>nQ$%=h{O8yp* zjT4W9{ze(ZMofl|0uPYL=`X_j7YW2ezG?F<1vngd-z`u8YS_t}uwg09Oy z32g!M3kZJ|8Ou*b>0jaf16l>0?a+qgZwhSzZ3BG}`V;g#@+%yL0f|0?PG z!QY2|27VWLW1*v=bD%#$??Y}p^dxi~cAf#f0BuY9YaHL8PR~8oqwb4IzmwzUkow++ z%!A3U&8Xv}V2TENynei##EZz>44-7+XWkDg7nQ! z=*xb&3j7#6ePKKxI$|2>4*=Az+{91vpC@|R}j$s8or&GW-nD+Wb zeP2rQw~@Z4!2d!{{kOxnpDptUyvIrRkTCse(hdlZ%03AG3mN*$dC_yio?!1C?+%IBdY!1n24=yT9rkmsiFqVI7ipQA=m-?yM~=(K)q_8yE_yLzz& zR%oX&YF)E8O!UNZh*KA{71_07w};y^ya?snLkEBj<2Ij{|XoG$|4B$H1 zzEQ?PFMyr%9LLL%ehE4pxuc-(LrzZ2RU z`YiNaXb!seLys{r5*g1q2SC?Bo@0Ik|F@9mEawUH^Z7`hE93cRJTk`EOOSQ11%FlS z`ZNh(n5Wl6POMFi2a*kAdKt2ob(}lKPbQINOgp|GFL-$_xS%K}??a?@NjYCAb0KtD zAsgyI&ik70quc~&GPFN*FmyF^4fJK`tI&Y@yX>KuCo{O>|9!E}wMzE4orc~ak4*X11TT(S4*&)_Kb{P0VFW%8QqS1J8j z@_vU-eXH!ZIo^=Uc`iSXLYC9U>yZ07WZJR(Gw|g}_Ehk3kUEq(9Dqnzn@;4o5%z2f z!*R~vh*KbCE<*MLV9T8bd9E>E-aXLKWZcEkI`4(HMu%mU*`B<6$oK{c<;xC*`}KHB+AHcO)#|XBF!BBzS+y{5Iv?OWJwW zynN1FBjs7|Dg|D(z{ay>KF;xa=*J|q$+f2OAlCPugT>$FxK=7J&-D#r;kVvTBk&8z zbM-+<{vhzdkaZ~cJ^ni+l}BX6;iO59*d4kb{1cexg01T_{P&e)kM~c%Nm~9h;PaA< z>#aSL%sTK^B+q&8X=t|cq(2PJMen7^n&vO$XZ}hsEVDevr#OCua@!;8{UGlJwZr#% zbQClR`V91SXcls}K^u^N9&|Bfc0_(>=+ore=FOp*$n2leQ#rOkcaiBhRPJk#&v4F# z#v(h0@;gD+?;QODsI*H*&VxSS5gFUX--sunjQ}n17DBd%zlO2{FsLFt)BZrh+mh~2 z_)jTM+h2iN5k8GP(|?8zM6dGdcrEc@g}j}qdrxQ@^kYc>TJCb&MEbiVEN8ny-+<@C ze-1u}5&z)$IXC(I-&E){}6Ot zDzDu21wKAupMiBG?7H}=gw^?UfzK`Q!UF%az&|hWuL|5*;GZR|y{!p<1}A7U$q^@T zTm*fQe0^Yi-T}P}dIz*Kv>Vh1eGK{n^gC!*guemZ0X+r%2HFFK`$3bSnb1YhKIokR zT?btc-3>hfy#Z~29iySS&=TlO=mO{~(9O{L*tI=04mumU1$qwpCiQOyZLJ;9Oz0Ts zqtK_IYoXslo!Ha|od;bC-2%N2nUloN?G0Za$UmCnw>Vnn8SpQlGn3pD>bV`ha;Jf9ABWH>9py%eeWSKny65iiIf{Ml+I!pCqkUA`Nxh@J@2Ke=^Lu;x zdKUB_HN_pvPhwxoqsAOGd3K#zvg?@L$LxI6tgxfs820QN)7IJfm6b;>zw;ie-L~yv zoeTeb&g-jecJ3dp`_*%sPo4L}kzaatxk@S0Y)RV7mW90o^ZN&S+b1pSZtd!rUvI=a zHSAZMb}n=~bT;{mRk=+jy9svphfNkI(XjE|-92sv+SA=vE2wrMWUIwgfc@lmaktF4 zt7O=&aaP#PJnmLp)!_xqoY|cH%%^e@|D~jj%oL!`;(M3#Yes zbk6Ex>sO9a+)+`)-hw^7Y`QAW8v~26xpn@cF55)_{`PvrtgzjZm`QaF`*~K=u);5FS3z}1T=8gqS8}%V< z!ds2Ayl?FI&d#2b#&`F0FYD?V=&Q2hAjw;nhGE;^-`g>dUG38r;eXV*gK~)u1iYjrOO#kgY>l$4@Gf!aAoyK;%RRlV^X!PR2vzxRY^W zV`AGs%jXtdaAW5U1!=khjYpWumHIwYp`ENtfI z{ivJyPCv~&wkclN(b1R2LqlR#hdUP!RS09Jw6mpp(@f-CN!H}0Y}9J+RU5*>Oq<*G z0h>*j-A+ApK-*AN$qVf)cU!iH2QjTZtBxL<(mBw#NZHJu$i(G_v<+Tt$&47wlb5u1 zvK?)h>y6GJn?(K-qwi@Q3)=hH7d&UBi6SRMO})K6y_pgA zWzUH$TndaIXzQpdnu3?;jRs!hcp6IL(2n+#!lXA;=B$DF^EoHHh038M2u(}r^xm#8 zknvREhQ^H4u1023p<$el*@hSmvlsQUiE<$~llgo~M=#T0+|(PHsn4QmARxTUAaA9xz!cYNr)O^>V_=UwBW2dv-hBGd3PfD~L zJkY;*pg(Av+}+>1Y&z!m>dLZ6AymNJXG5^+PH)o0gwtfXeKU`d&5Sa++Y@aY!@8Va zs(CA%hX2=MgR2TETPQ}*b2?)BB>K`G+T;5c zmwReACF7}*po~IX>g)jRTkT37mJr!>6Bl)Kw#8-Q{}w-OM;}YXrO>SQPL?V?z11Qh z>|ReFH!!kQc{!lajMo17iz=y>=}YDlEey5zf0c1COZnc8w)R+Q%&eCjRc^z2VQ^ux zS&p9^TsbJW>f+(F(_!qt-kcj2PUD%2Dusbl2VVo9LF#tw-Ff4 zHK1TqU3I(r(p7bfd#jo*byQRwol(ayD2}7HBPs^W0Wqg%7{eGbGNO)Y%#Mnq==*+m zIOp8Z&hPU+^Lc-~M}Km`Plbw@|t> zYUf*N#7=rUzK%>ZXX~q`np?)FBBA83QrmrURC4wSY!_Y#LX`{IaB7-7pVF!HU-U{X z=7^ItansGYdXcfzm9|2QUGvRWM%#t?4RWQ~oJXgQ?iJ=k^b7OtC{mY`Mw7F$IX^QQ zxnhji4baTTo}o&#GlaEfrI>?DB77c^Svi3x_7*N=2u)Q!dG0J$TIX_nrD;`>=Vz*v%EK^kGltxz-E@K4Q zJnmA7trSC=&R9K!aofcOix4GQUdVI3j%fcwaMI=C z`Fd+%gvvg%tt0lH=qcJpJCeepgOlU4XwI;HerlWsVzw2h`MnHbU7>8jb3}?KtPgak z5LzwWse_snh$^qG&up73oBAYfeY0=5mu0oQSZV1faTyp5EnA?*wOZo~m1<0-O+&6q z&$eM^YN5y?N?IN4=r?S+ik>Se(?@xh$ofzh_E3%`SzCkwyCc;8^{YR%Q$%IOE3oG! zzSWIMhFrB7hD}ATbRrt}j`!iN@a1&Wl{QLK(SyVSQswUSlBMXaa((Dz+LI;wbNA2j zis@Na$Y?;PlC-j!D%~?K6RvF3r*dnAPT3k(!{iXw<1~lJOH5VKM2Zbjl~|_NHY&?5 znz9^T_?G8eMdyvBrN{A49)R>SVOBEto@I8sLxN7-#I|D#C*gSv*!`X|9@n5QX;8(8 zu(mOCHGTLvV`&W=yYt)!>5}R`OqW)8OVM^FdC^Q=T}+i&b}@OjuH00F^+A?xD3)!s zSflh2GetUU#&?d7Otc!ab5U6A3)a(~_6#C(g|8Qp%}4Q4#;lMg>a%m3>a8th=?z{r zzAJicx&NS0LJ%}+IMYm`%;U4+}-yED8#6e0NYF1kGu)LYey{i=RNFxk8Jug3PnE=)PG}>Q8>8yXqC2cI zr7l#$6Bs@33YEtCqPgXC*_;S(*p+Q>oHwp^c3BSci;8 zS%4eslVMpr2IjZXW*C4(Vr9&jyPM+8Fcy3uYQu&)26GY78Cb8e1EVe?rp}rZ5T%112Jix5KoDm+t9L3NOe->=Y1& z=hoRUvP-rNABPfNbvot+z2C3OG09l1(p&}&quZ7F*UVJ@o^KwpKg_A8g3KRm)UN38 zLPn@6HrpfH$6K?`yyE+&WhEXL97$?)yuG8nVrG6ijU97SklHVX7`50i7jBemTWxuR zC9Sr04{kj{DLNu^&CLBf`QKmocO;vg+y`|eboZIMAIQD!{^q~|iM|hrdza)n0^B`K z;{R8LKE;MIqJ%h4WdoY{UBKV7solL*^6y7l?xhp|B0}6_CH|HDD&y zkj%3I`D`x<{Eq|o+yl`DmLSu#Hp2s@-^@80OWUn(@QDnY@fSOm?8-GikwQBDqlI*BQX2MAHkI= z{qKnDUOMq6%o+btrR=VQc~Ro|JpAhP2>2h152)vb;13|P1O++TUSGNp_$fBYHhcw! z%6Y#WrsD`V-G9RYa=m+Vg?=sgX^H1`$T=qA2NEaS;Y4uDU7IY$$+OLWe2=J)_HqBL z_80#%4A~EVgpkaCH5t$Jhmzl{^97Vew%bbNJUGd5U!r!N0Nhur-F5>_aBVJq0bDzX zdv@0H+6Jrv&pvY%xMd-I7r4GB{+GnR1Ke{AnSWno$}jy<;VOs$ox|zk_DF z?k~Ine#`4>;F;i-*KXkD;MP0ouLW18_(u_#%kj(DKern{gsA?O*S-ie@6QFUqu@|4 z_~+-KtH0@92vIxi1|CBJnXYkvfy|5#rur`ZFVM4{>lBLil)e*O-NYXYp8fgh;91W5 zVK9&K{1_wTcI>0jvtK<0{d3&!Kqq?OzY{$3zk*DeFXik5G3R%Lchn1ZHX>01kN5Ot z9?xn@-wm{JlAP8*kdd61-5@#LLHJDTQNZ6J$8vlNa1KI@yBQb)SHAc&DF}HQ=yDLc z<+kob@LczwgFUsscJVyExW4gq^ihBF^)v9C-z6ALyL|&V2Sk4mzYolr|9r~P@-^=7 zQ6{H*0fm+G_+2WC_}kz)pNOU_{}9GkH|e*K_uK~F27Y|vIRgG%jyF+u*;c>{0Tecy!@89=3SmQqD;2u--73|{wTK9 z{_=SC(mdKmc;*Dx3blCzcp9S0(g|iNaSMuT>Vaxgjz%LP!{c1f5 zWd39Eft>e$A+!3@W6JALDw;Fu!d zEp(u0f<8y0aJK)~uzzlgK93OjmA|E8pMQs#eeyv3*>raU|5zzs?`5`p4SPKCwdXS6 z=ai8&%jmP{V|iUe_ zH$H-Hxs0wter|iO2Y*QX zf&Z*xL-(_*vvEHIu1&=EhB@2$_6m>ZY%|Z_z>w=;14Cs!&myxV7j)hTo_U@RfA-G< zz_SfM51wuK-ipi#3Qqf&_n*O#<$oK*HbnYcD{)^|iF+nIng1gdKUqxS=D43hfkjD9 z4dz_dA4hrp(0cuA%Ga_pt=IF!r9*wZNAl10(6_=s5`pJ-%G5I24IGR7oUaWSA?M{F zWM;ozPZ?$T4?(83Qs!yk+DE(zL)O`I7W@zGmFF(9pS%g&bZy5xd#9bn|B2m0`%aX| zb>P{!s*{;{N+=Qq7`$^3h+)AJsd z-)`VE^vP|?GBRR)_y({B+`NcihkbMYuSZBOv%4zw`Ctr^^&hLmy%O9qP|lg~WS{fQ zy*g`?yO4=WLFZv~7Po!hP9DWQC-!QDWFLAHc=n0CC=cbE-~GX}{BL0sOcCgwY0{pE z3unBJPWW5l$>qHqX2X?p14Q$ve}9l?*0YBGMZ1?5le}b}mthC<<-7k- zBm5hKt{tR51qS`cvr@OBTej!*7)Kq<%e}~mKL2#^Un4}G-N1g()j|3Ubn~kZ&x4ys z@oSK;Zu-ejNf48Ue0_$rq$~ev)RCOl!SGwx?E8NXzw)iWE2*&AH%>|V{3G;NqUTXb z&XS~$^c67Y@;!!d>-z@4JKZg>-N2*3O-ud_i7q}-p?k(!`@97Dhrunc-GFC?wTX1k zNKs4ye*p>QcHl`M8Gjt~tk1P%Jp0TX^xTeJNuj8xHrat4w2AZo>k*(&yBtecsBSFp2{=q6~H|3V8A@o zfK!3D^8O&;4Dbi?Jd5X*fa9diJTC&C23!X`6L>Lj1MmRCj{;T#mgz&pd9DH;2mC$n zYj{2aI0pRXz!Slr1Uv`u4u&Iuw}2na6W0#)_toG}1+?eC0NQCk-p$h$;BNvR1%5ft z19(0f*a^H6*dI6)I0QHl_-A+)cs_&YYQQz98-a%bm+|hIeaC>;0^UFHTHq#NoG{N@ zK9=WW0O!V!1s)DQ2wVbO3QPlk5BwAGZQxJ9UhwS=>;v2v*cVs_ECm)3eiqNi^V|kF z4zaFT?q>t`(Gxtc2L1pX&HHnCegn7?+%c`~lJ)s6Xx171>nDJ1kmYRo>kpQ3)hEQI z{RVg*u$p&$LLd4s;5^{>!1ICE0yV;R0Q!rvM}X&o`!tTvd-HxDU@dStFb+HsIGV5r zB(VN^j^B3i=|CNP7T5*Y2fPBfA8-n=9+-yy6`rQ440%2RsJoy~S>`|HDNm;T6dZE! z>7OTD-xj2w2I%MF4@qF$(}9bDIY9qc=9$27ddj~TkWYLGa2r7L80w1t{U$(v{1jk( z^J_l72W}kSUkDiXXu!J<-p{l8ekJefb1v{2;3{~uneaN`4Zs_Ln}9b1Hv%^Uu!ZyQ zU+1YjZG03&pVrH>!OsEC1zM)^d??Zv6FF@NJ2Rs3ofOisj6>tpi#{#yK@|_PH4r~JEfp-Gx zw-R_aa3t^!z;rCH6~K3Z>brE`j{+Wv+z;|p#wtMm_avO4@cv$&8Gj#mmfO!4{*`cL zE5~-|^E{R9yMAJN%Fps{t>E%VcMNb;!q0&4MQ~->9~=jKsq6jUyWU^LJ8a=z_lJU* z{zhO7xIdu%3?BuohvI(*?w9a=c^;T>pZ}6@pPvBk4RrgM{`G;s680RzO-CQPAmRFw z@8-?tn-cH{_;Q}&Z|2W05`G2G(|DKuY~WhJ{5=_X3h-3GwoaLs!gL8>xbI`&59Rq) zK$`DQ1~vhv#(M4^M3(?(@qj?qhj=I^mDuc?V#*{BQKF$}qh{0BvLbvQ4a0hFPbq zTN!_K!v6-sx`ZzR{}(`>6ZrG4grCS$pWEx62M_T7?tgb%;BE_Ofj?aOu)Ux9z-xbX z@?Skm?-rEy<>T$`t?|p_>8{ILb@p*wzNzird(K&~7w7U>P8hpwraV!9T0DPq8rzIc zJL|N?r!BdBs+DXUw!PK);HJv-QHh4 z@Bi6}_;Nc@dsTg=-fB$L+_zG1g`Gd;P9%0rGAPfOUBRuU_*MrP}r37Bd;zCPJ! zXBRtw(w?fgAJ09joR4N(?Y8=^u01$|Q?uLSL1%237?(Ah;pno*@DnMVzW3mR`_4-; z`^D-W7U(9U-Sl|3jOERFw%l~FuAFL)&vnsO%{RIe;^1EwQ{2ejO>A=Ruv5i#qhc9|P@(^>7~W<$52O^q*DdCPs66=DTt zH(}>nXcjtS)+TG7l?;E1U|ArhM<9nSpk;#LHT;1uKLcY*aTKpC*(<~fO4P~;kCHo< z^F~jlhI4IP8W1ogq8F}NDmSyv7p@wPFQmyyEp}q-UAix_zDu3*N$)Dc9DWN zyoNt8x{4!C zZ|ow;MUv@}bZ}E`DNuE!MXbkJ>-0-+q< zbcC-7r|IyA&Vzj&JV}#1u%^&*>vy=;Bvf>y#B-Q#ci+QVD;keHa40&}bUtle9w&4M z)bgpJ!E44joH|K+L=lX0vrxPds^sr~XG^#3%Wfq3ZrCOsMiE7CH9gCzkV$u&hrqbc zys{}i_tJ92z-s)G8e+S(TP4B~M* z^V>L#%-?V+iM^lmv~`X4#7fQv&=k$*D-Y&pCJg4V#l()a&E}5r?Od-Ak70QOoZt;8 z8|&P`GZRk654Pv}P;1gWqTw^VgvO=W%Cz(vg4W}0F^zoTkg-ZCo;HowLW@{9zhrP3 zki?aQGWPOjP%unQ!_@-{+SF(}#ELCa4}l>_)O=(88ZK7jDw7r`&1hBU7RvJ+F=)kj zYYHMa;_UKJAhj#S35SbfuDXM?V7infGNdTdOT8;ZF7%i~=^o}#ks~#q`!g?HB_t{2 zs3jIVdofO_F^gav7Q*LvV}7{H>ty5)?`5>4O$bcJlkXDx=hkF63&q$Y1ysV5oJ%;n zH34HqbQhZafr;?Q93A>}je$)oqJ!&4*KP!*VX6?wNU}%>-x%(Csf35IYkaSDStMqw zi^w!-u8RbvFRM=M^*`HYSfOYwYs_(3S*=nS9XNxIbR$vW-5ynqnw6QP3v6@C#az22 zQ48m&JaP|BF|ck-L_Ai9KrYcJFD;yem|P3Q4IsK?I-j(Bmk$RO2%9!P{tsxUb2+6(bfY zl~k^z=pPUkDf&bRHtI*mU9DZ!ptc9CRHz`X=bWIu+u&5GO!9%Ez&*Z&x|U9^c75F> zme%(1nVI@jJG`V?6w4}5BHeSX?Xj6H>AtlP5}C$kuE8nllYvxd85io}DjGdA_gD5k z?N#s>rBx0`^IDzFeO`H^F{m6Ko2qo+o)tTTcfW`EUCw`g8}i@nd`Q@zr{A5tm;Qi+ z`};M1yO93b3civLGVW!Neih*N2)}#mk8r;c`mO45@H~L0Jl6s4_mJl$fN6%e<*Ve=m5}^WVVzo@v~}5aRbR)4dJI^1TmUx;#GwFY>~>-_6wF2SE5f z!}IsRg8=Eu);`8Pn2(u654hi%w2wUA1%FVY?_J6Jqo8N|oJhDf(dLf?2nzTy@b3d| zo;N`>UDH}ZLfH-Mp1~|9Bp_kAdmWg2;{*D|2lZq-+i+Bk37Gs(C;~_T{+^XqJNG%2|d?e?@-Tnc7J^?_rHP1`lWn-_f47NCj$=$EVJVP%l8bx zw#xds9XJcnZ!M=4fHstG6=1sBPJZ*HPTEf$w68MO0OsQ|z;D2dfJwl-m``ON0c-{Q zetiXSB`^-u0rk8JP(QLA(l&jv5!#`9^ArrTTuucH_oNVN18IlF90qCOn({B0Myg4OM&wM z!_1rIehy&Rxxk`?%cD)@(}t$M1dz|NJu~5!u|6bU_9Mf6KNMJKJBVim9F4%F*vu0$|cq@#z0x2w4r;(NSH!?tE06Mk2KEWkYVd;WP zXQePGELQxK<5YE?o3R;3viOmfOVc!jYaX|R$*zOFIAmJOoUS!K)$x+zEyV94Ue;5e zsC(gLeM7i6GD%~g$I>3rD@yU*k%iABGTvqaQHu76wdt(1(MhE zu4#~ok??oO`SbQhJ4xnhfaW#I8Eq~2;FgY7q3)(7g(OUxty)p?67F9N<6kfDF}lw% zgOB-h$!FPAll!aVO>CSGC1z8=Q*_-(M?WPLK&)ORn{&8g?5_+rG)bZ~29+kEu; zn#;*<0)P~k#UswDe$$}%wv6xBQ&=Rvd7C1a9nB53+at3qVw3@1=jA+c%}8Rg7UnM; zF*43S8!yx?q7}J|97(gZAX9vOij!`Hm)^o9CZ^Ml2KIuVGHk_6o7;o=*fdg~wTAPl zjhlbDFKUMG>rPTHsxO3}2xte_)NKojFYB10j)$f6fR&#giogO1T)xE>^Jc3ZCq<~gE$y~dB!1gAY7tby+u>tC2n}~>XPyzRL9t0QM8C{*-^XSe>@jKkYXI?@ zRf*yH&-!GIpFC)ViySGOAa-s6@7i9khb5E1*)Au{c*Pdh%Ph_Ui2?Mg_#iK%Eg++XEf#0WV5$$@HrUs1GThsYz1DMNPTIrT4lO+Lb&&@4x zf$_{-Xg4An-gAzYv0}Qd<>i?@vD3l_>kp;G@JYE2!Bo1%n{>GrZ%>@Le+}Oqs!ZjAOqIGYGBF-+9!%Y+ zB~(Gf;+89GiAKJfEk86)r!R(yPJ=o%k7LA9!9t>jT{(TYdo)P=9rSoXbqWbSknrpZ zWoz0ei4@3?<(hhHg5DxUrr`_gVLW4ZGR-!P&G;P)?Y7~evtx~@F@YhdGW=~-)rv*L zWqV=8ucHC4b-cx|WSykEz}G=d-{3Ccw_3LH8w^F)6z`DEU+DZSR>kSjysa&K#~NX0 z5N%&C9##d*OHTs>W0r+w3w9Nu>sD@xpB=hGjvuyX=7t+Pn=vsLz=}R9Mf8UK*d_N6 z=*9e6t_zRP;M?JPSp+&<2w@SmkxXCnW0T`O#4h?ZTMoWb?eM1f&UD-~wvPHh@75nJ zD;xdeP)q4@6dQxqN!8P06QyMbL~oCv^O4-2Q-B)DT{HfaCu{#d&9!D_R?G9 z6Lal2{`CuXF`g-#hrB+R*9I|fWo=Mhy9QK+fAm~BRs9$hd^|dM{M)^3OzYWA>Uwvd zeE#RUvH1j!PQ6nrwB1!=cl`fcsNhx{05M&{JjA4BEC1EO!4!vL&guN z@ceg0W)mUms|}w3u5RKltk7Qp?wW=4cYtdX@q+ z=Cx_b@4j`{4aD68ubssw0M}N;UjjIn7xzq}x`}_ff`1o0^DGBHGVy!@d#al@@wXkb z&%6pe`=P&Mob@~#26dBv2t3>KhcKAeU}yNV|Ewgl($&Y`H_!Od*i(PL6v*dvtplHc zC)be=Vk>=BnNQ)#Yml>(XSTWP9a*O916k*d75Xh?(75{i?~?wYLGFhLQxC&xfVjH8 zh-WT?1Bk3#{rJo9o3{K-Am{To^v*inQOT!k*jdioV9;Lb>o|+s-?!|Qc@}i@E`6bb z?+?Qv(Dn6?^2~YsB8WCshjYoGbZs&RQQR_X6R7+T12>Xrw(WCJSe)bsK1E!0J`K1H z+;t=IGF$2^*!?ew4W8#kg;Qhol4l9QvOCuKpi{_&}b&1%88}ti#&YyKj^u{)`I#SolrLavV;$ zdCB;KVJR=_`61FZkLr0(^tW8J=f@!GGvYrbp`6yM$)Nu50$>xkd9>W00&aPI7<;avTG<{nD5IkYqlO_k4GfI{bk0(ti*!@a2j<{jFBA6ZG_cC9)jwqsWUoo0lhn zYpVwEXyU4;G9L)D{_s8EiwIGU_Iz6B|35aPuziy&3AFot38#1Rm(tLFxNd z@RKU_`e1O=mH+3+%=-TsJh#Q3_s{ix9meK0@Sj}C*C_PNQwPsF_tcuWu)Aw&!UmAg--;U`+Y-pWnh``pWqf0`=Q?aR|sBY2^MENY!dwFsh5ftM3JP|$B!E~=AQPWlLLy1dJpg$FYaji$cBq8&wAH0;b zw5N6R_2AOPy{9JI>U$6^cm4cp;K~>GPCC=k4yS;qr}7_0y4jxo26mR?@A_K5)bm2{ zOg{;kheO{EEJjGS^TvvtyC9lJ_1g?R`{9i#UCa0N;K~=@8{O1F-Bu7$o9jO(K({Qu z2V4N2>(N-nZZD$1v;I4vi<{3Ti0Pa68$hI6?(f2G>a5+qlw_LjkFa5u)2`&@Dd5@v z-$Vgfcl5E-!Lx6N-*|_nt?r$4GwmBt#4;6LTCu}zL?r2u-w&aWc~qaTf@@pxUscNY zC~*FV{M-d%S;+GQ6h4lpdEB2&<#DjTC9e(C=V3f^IlctjYQqL_0D7u}dTu4IGR412 znTlhMfe#`l`}4=awVN_$$dJ6^2a=FH{+l3Q#?_t=Lw@#wkVI_r-wSw$mvqxxL80Yxd@Juc zt?!YRxlRl$glb<|M4Ko@!zEwU%#>* z?S;bXtlj3ZRmR=Zk?njGxaFnHlPdI!Q9j%DM8aJ`U zh(*9rz*m8v0gnPc1e_1t7v6^h&fy&AcsIcBp?g2WTAruyd=gK~#QDrH@G{`dz&n8N z11H1ta-NP~FXp+3r}opfrvdK;z6Jav@Iv4#zz=}e0GKft#Cr$Kv-!LoFpuMa^;KJL z1Xcknf%gGhfY$@B0}dhXk9h6^-UPfI*a7?;_$KgeKsnAuJ`GF(xKQ{esV`pzycn1O z^phI!M!>VzPv-e0;1$5pyjy;@Z5x2&0L$gJqX(uaBtAN zc>g%?Nx=5zfxsN_bl?lX7lEGwcLIL^{u}rc@Mqu%;vWT=r~3o?|DnLqz$1WjfOCPT z0UrTA1$+(o1@HjkIbZ*KaP6c$%s-@1H?7at08atL~~Hd=OAi-!B8c4rup#0apNR;A+7A953amEX(6NfVP&O zN4Q7lSv(DY74SR2I`_{!mHiPwe#3mv;hVvYe={%%=x?V(_!UoW`h4I&fWHOgdnoWs zKp95@Uj=Rg46}Ydqk_LW;nvyLCfs`Zd2r)@0C+#}Pk{D(5^ykZ1TYM|1Nc7hY(V*M z2HunKi+J7vC}$n89?<91|8n5pf&T*D4g6ogR{+!aGH^ZcBH$;$U4Zu=NY{2J0Ck`V zd>1g?j{?_K@K;uFZM4_EKOEry-T&^kz}*(O+X8o6;BE`tZGpQjaJL2Sw!r^aEb!@l z7wvuRwrgK-?*Hbw&*H;9=RUc}Cmj1MX~o?=r(XG%nHOAk`AbiE-`D?q-a+5`%^kb1 z`{3T+J!)NJqSb6Sx6XOu-qZJC10u(s!$HSzSjjE5VRvWVa^jwuk*UT+o$Ui*JE8~v ziw!6e^Tv?OP;L}xx7`~7-Q7(H4jA&{W+yfty5q17HKXa^HTyy0z5@>cCPj)JQ?sq~ zGqL{IYTEW1uQw|8|0P~GK5=@vvI917#2u{uV)HV#V(u7Xv!@$}hTIt(HoLOI^^dz^ir)#|y63Pxgs|(YZ)$rIwPB_|Kj!tf8>cwCJwA=eSFnE- z(~i$sDCN&!rrp8VqNK%ryq0+`Bg=#hT5OD+2zCjDJDxYmRTQY~*@GGm46{i^H%P}A zFKLaliHu#;Y{=rkeb{Z-9X1TXO*lRpGxK5R-cXDEmD|&;3T_~rZ_hQumc4L*nTC%UGyvT=S*ylCX+%{iqB1|c;gC_2zEy{9vGi-=Xr*t{Vr}7v?={#yP zVb5(Pn|b$Pbl&`C9msg_uZ}(CVN*Lhdq`ai*IRM(ZeR?Xd?>GMTsJM}eT{6YP97Pw zDDqh=_IR&}7h)9kv-`cMr(>Mx-^vY3{ElNXRuQL9&`ylt&V6=EyE}Q!$cFVDyWiK0 z#7#SEM%7>Z^mI|*AGw@xfR z`<%0vbJ4)gy1%U4-dG!6v2OVpOHVJ5xF>6JXl zVfB*SVFTT(6Bp;AN-Ey>t0xMG+M$C!*$oZE0acN~sek|fX-7;94u8op>~ z<;aTS!A*^!4R(qD`PdTnwcE0Pi;)kY`o6bV#DOf>cKOFzVhnVY8$_&KDT{(lpp7vsxMzLQXqX5 z8fL?8gQL$hD=TJpHn{)Fids?!Cno4J`Ubg`kZo_Y2i@%bLZsC;^y92jSF?o%#;iNFT1>*%h?CDhhu8=a-t^k!P14}G4V{8eW$CL~45`*F` z-^XFQ9<9?8)Yn{v+WoB45m+@y5rDVb*oM2sN=1uc_sLE)X4y4g6lf7f)8vkGYh=H` z@T1fVeS&hn`UH*D`Vb$(IqCSTr0nJHO^GeG97}OO`CnsdP_E&ZP5a8=2SWc!=r9)q zHrm_SxVvWwT^`U!&n}KmA1RDlMx^U0sQpa6a%y~AKYE`c>$SL%d#NLRt@PInT!sZB zP2f(9<+fDI@e)p7G_R>rxRYjfOOtygs>HrU(7)(cjZgfQlIR=CO;C(cZON$ErH%W0 zzs70z56bNp7aabN4CSWW|BW;-yoVQNO~=TYgsUR+H-?aAWfz+>386R=4>*0zG1&oI-xB#!SP>6qL-cvB}Q!;G6A2sVt-zb@dR+LR~+a zl(?imHFc5a%tjiMDwOM0jO$^wEQRxJoE@CyFj=0U4TsEgTqhoPY;SMy1H);mGdMeo zWkS~DK)Kmk=tukOQ44LnMXi*W$+7e2@CqX!<{|Y8%V>*1eC2%;ML{uyxoTROoR3(zU1c4-IEECnnxdWWqT3z|eR5Pbyd~C$ zje{o~0a1y)^hsWrIK0!shRUmzsv^xoKMk^fo?WhC% z0=P%mLfQ8V4*46YPZPVr{ieyGxHXGgOr28CJCMue;qprM`*e}hrPEVf&^qT0hv~AM zk@?xMoG~_oP=k0E1S(erl7^WAq+>65mGUqJ| z_522dkm_qXd`T8UrbBaGx_>PjI@iQXP?i!-pLpn}mMN*0%uF;VBi&2PE*YQN;qW{& zr8=6fr0f&o_^;Bjqj#A&FZnD|2QdiuGAbsdIiXbH?xpOvA@Wkwe zvaNOwDMK}meB!%Qt@@l5kVC8+S`F@YUE3U=tVCVeYEIiE_8}+z$5}-Qok>W_Db7@; z49&MJ;P@N$wo%;u%=%t*>5yUO|D0?Z8lQEFp5n#>NKs~oxX@;|W58;9xAE4*_Jxrm z{Vdq*&}9^hQiVl|l23Iod5dYxx0n`E=ObpJ(Rt?AOQ;gXjR4rMv6Z$q2Nu$~g322M zMyU8x)T-k2W5KY#KF>KS7T!{FYgr}q!C?V=qB&b0>rdiJ$2&QN3tW4+}l>xs1y4-L2TTU@_T#`5unsm8YLbMh?5 zXXm&gfgvI%>Rc-r=lo#ILk}THUtQnQs$Y|NRyVF{HS){Y^x)LRoK(;6oTi=OT=3fY znTAvI!YC`o8K1OCsV8L3`0RM!C~M}YDwP*0;_ zL*bCoSU~INy)dIJp7L>mXCXP zy~etbh+KWjnqqn>4t%HgRJl{4F8!x~d(oNcbR;Nrw_?wW|THQs-|alFxXpcg7|yiPAH$+FnBjWz6aVtSZL zR8;HC%^ay+?H;3yK&4E2*o*rwqLF&Siy269dOJ5yIl**IXpQrsoCog_P;Gj90^?*o zpRTrOdRSOb4(IvP!RJ0%7~Db)-r4ZJfS%Z~@#!Ix8HAdp7A<$|h~i}utOa`Nw!L8{ z+?PT#OG^|cnuBn9ntH=jyx*a)oMxTk3Uz7(vHdO+iYe*5wQ*YM(p0$wmzYw9DfYWKVd!55I?uk;m}Z;3?V8F*ygUUF`UYUm@CApJm+s z)0Qs`5__m!vFj~cFe>J*UhUGa4fMod1~Jb?FkER`1d-On4!zb?Cw7FpSjs86c4YA9 zn6ShGBg-?~{4^1c)mu}^bN=m@lC!*eqNH)_2e+#`?QtkmZ-rYb%yos9I<-z>D&qM4 zO~cV5=OpbSyb+_9QmPQv%W{O!UX9$Z+GqsQb%|x9_@PubkKtK!{d#X(aL1K zrpgQX!)3EO>Gh(zUF2{_4#k3FgwKGbIbEeG(~fuRc55s(xW-`I8Q{l%T3vPt1b546 zn#i2qQp#IFW4`b|nX}5Sx7ro`pW3)PV>PYgz^FbM%*!Zkeu92ye9Gbp+SN*0)I3(} z%ok}4QD@q5szp;^TiW)IkS01*3D*OrlI!Q!{Nz%!S*#OQ2?C#l*dHpyp!pzjh{3D1 zEy*#E3h5{L9&e)-n_=h2(&(FK8NSo^Ai3H zvfykHtjAM!);H{A{=c%`nqoRrpY(Q=i0P5x(ma3AE4nn^=g7@@c^sIlmg{e`+Zlzf z{e(9F{|s3B@?FYB$Poz3^AK? z%UHNzlw6kk;4CiZ*Y}|H2ovt$b3Bb2eg=#0i*XpdcKq=<{^&OP}Z zy!<_V1)Hz(yf6GN3PZbeiC2CNORqFV?a)o}0}XuJqf#zkm|;8FL~U(YpouSWh8bGB z#1-)JO3y@%19z`gudNMZCA-sbw`Z_c;)>F;pjaP+WS7;qkMC?S&B95%g3W+RBVDvuS!!;?tg*WA>!FCw_*>itFJIACh#2o{(ZiwpOma6q>n#peF`3XMD0cUC!)9miWCKM)zK^c*43p3*-)R>v6wkk$6V~-W5iZ z-bHEGnC*t$id_L|lAjxixSZ%;YEV$mP8l5S9M#!jRGKuMpi7{u4P7Mj?g%j~R&|A0 z;fk>2aPcc*nbVHdlelJK!kz0D{Dxb7igDi7X5QJ5Yk484UF%95JBJw)v$oK#ham$B zF}7jHH+QX?-ws2ou4$x|y-I&j?N3uE;%NfCt(F2ww9rOW-eX%`A%tvH-jk4pE)nHx zlu*700p)9$16uT9+F#Pc_-!l853G7Ym(L zxXaO|V;wu2`AiYp> zST!fpMK4&S;N6sQC~uC67nBW`DGxUr&JwaWRHCIWG8#M&PeNm|i)lb6XkWif7OLig zDkU*>PP_DI(3}g7j<>c|emN$-;tr`e3sEtkP&thE%0Ln>(@+f>Y_IEWhIO>)4Y^uz zaphEVA?)Kcx2*ZbEqOXm`kENrlYq*0k-T>&jtg++3JZE=zw6!U*RrB}+>O0a(O>a*~ zVcT4wHqZ0Zfxjn=3xAug;r9fDJq)D=(KPGEcjVsN34zUcEb6dW$pUjZWHC{e_NiTX zSe}K`R=7W6W%z+F);{BmOI9aaGyHCmmxMFAh?^_4gI{F}<+wAI|Ff*xbu|pwGfWji zs}g%KyroUI#ZqDXTTlx`9}Az_3QF#I1J&T@jA5Cb0|Dc+`F_%(YstQ}ab3nnMk|b> zD;+Xf;C_n&Em9+U(9pA>WVgVViX72s#RkzXfNz4utcdyls>x_U`6-WTXbKr_&d$3r zI<3{l%{s8h_vF?itSdLEfS$$}T9|MH8_N^v3dVYuzb<03w>$@mhbzGZm$c`w-<2GrPD6V8%U6WV zv+Y7spEUC0 z3iti8`Zz!2Jj0JMq!*uoz`h9a^eA{%*LTI%!$5}}OV2Fdt?_(dHYnZ&z0+}GCh-BP zKQ&%W-^m+ptM4EU&Mb_z8p^)dW>$pn1i=j>&Q#0qN0Yb;_K_B+y&(C+dSFbEYkY{` z+LnSZ(hReiNRiWX;Wy$+G?FKBnzdlx5V?pOEEOvvTk%3o44;l7Nj4jdq8du*ZmuD9 z)?k^6@j^$`;sqz$h1x#K85c`hQ-OjL2Ztng_10{QEdiMlyDonHGOhxo>3Dw4T=q3o zy!H^|d?z%%q;W~H${eXA=OEq>9f7M*FcZ2N@_QOpcy6;##8zXATlA(Hj42WW%aS{S z&={81iMps9FljDy(PAa;BAV0ikuWqcicSKve)&Chaz^i34=%F0mVI1vEH_4VM;Hk) zH?6JZ7H*pI_!eG5Ly(yZQ*Vzy)0e(aXL9=4+e|feSC0~z!Hja0hN9|;08OSN)wm7w}>~s$KHa44SOj^#p!tcw6-w!WZ&Nve9HDxT;D!s!HY@jci zt~3r^9kNm!14+Xk*05Q>hy`jV<`5*;fPjbAR*VP?Wiu}+m&>O4h3_r#BT`bIzB+bN zO3q=027SVcc(HExjaCLRP|rdcz`E0kQBgI?u!fXW;^Sg*0;W`|lcSJPrqRhzh^R2s z_#}e;>il#`R-p{7@#_ug+)b63I9*=x*X;RjiGjk9xsQxadc|rXppX1cdUu4l02q#7 zhaZfO>eFr%!%<`SVK%LAKc1IgM&|exZd(1=^6&Jw<*M)g7`*RkwM!v+l$usXat`^qp}4G8M@-&06Lu}Jy`asK&j`PO+?a5< zSuD_m0T=n(ViA?$i5wPQ5KlK2)^%)ccq`NG3RvIVFq{h6kArsD#roCc&=kA4=V$pr zJHygjKvO}cxou@G9;<3lfHkn9NO9{h`RfhP9FXt8Rv!!acGG&IYgcK+5M>m_F~^OmJZ(85;1GPsBvl2049gTu*JgvLz{z4Wvr zxLk`VVz{`xx-r8nDtt67e}bss=tIiYIJI5*SAXzdznA7iW95oMt-Y*?)p*1$b2aB~ zY{cU_9S>sijdNi++fUM37JOQyAAJq`ZfF`BEJaS#__-~{%kAL?Z6tC0)<^#N{Nu{| zq!($_+GCS+x9)Kc#mZp|s@42-k+<~g@SO!0G7)PK13^0HbZ)ISH96ic#fVea;EWQDc_2d*m=}Tj+H2QP)F&9b-_5GrN9v%mbdy-gDd9g0<3A%W@n~SlR^s@gv4P3pBtu| zof|bGWsqHQer8T=4t&dDYLXudWVE?DBExg7{7b2c;_xG(UAm;@Os0D76EWlArzQ&| z1q2mbxy>Jr_Q*hc$Bd>~OHV4c%|d%wZT<4i8-_HT7 zwS%ihYU_sA7B3=$qoW&Fj;$Y3LT&k4nRxg%Jh*Xio$mpWBEQcSYq=(gr!cm@wqZS4 zFclsh^* z&7rMual-4kcn^!S0n4M^@DkiHlB?gQH^&d?MS7tgyJ6fR--fMQ+kUv3jwiG84PNQ< zb)k5$M7W89F19=rK{ae%v$4(uj9svPY2M*U%BgYy;Kzc>ZXP_MXtknoQ-kG8kr-TQ zR8laPVV(&q$VLmja6u^>^n_9{+bS84Y1Sw0|C1VpprWs^)i$t$P_U6++zwgfwKOwfrS@xCA}?a4#C(M9 zLFrw6tMBY}sJ_b8Ey5_>G@=zGaEDlhD=8y4>ZLwt8f{U;TQ%P(ho{U|+D_;h(-jQ0 za$5&;^MaheH5P>BQ&Um&2;Y(T`E!Ohd2rhsQfgF0D+JM^QP5<4z^*L3Mf-@CicefsVAdVM% zH}NgwT=&WbyCK5q+Co&a4~q)S%*(uj(;+Tdj8BEN!I{D%i8pYXsj6o6%BALmSo=D>Hel7Q1riT`nvX!K;R1fVs|iq%eF=8^n^E)mxj3 zXlWPJ227EDo1OSYXe`@sgfZNz$nNk|GLD{TFSF-X1`UJEJu0t!&9A&!=x$)$urkF#egKmHqS$AN8Ft- zSA@YA>KCLmJ%JL}?_}$y)$)lQ1MT9S>2$>CAy%X0#=^Q*jn$W4jTki|O4f+^xEnjU@}0D@wY9gBZ#D@OFgQFtH@Su#QpERMUm~aDF|%#JX?ou)GSMgh4AA z^2%nae6e1zDG+CggF3h+I%6AcrnwU7h2eg3M89%wqq+9 z`hFfaruLPv%LYve-2+y0K*?tTw4Y`Ce-Vwcrm?C!S zkeWc7&E7OCfnBLqLX4Kvs*qEJ)UOwJ8W%l5T9>cf-Z`>jbrI?|s<==q7R|p5`=|1V zwR&P9z2>GWy@u{G;i=tAZ^=#58?F=QZTdo5E%y7i^OLjyk+-kMWt{Yu!s2RqX9Z$a z!O!6Rg3@q?L}LXg@|ydG>QYP?$@8H!To)QfqQ#;Tx)w7aR7CGg8OG9*mgJ&@?fW&UK)gsbK0f zMD3s#ODJZo8j{VRTZ9qW#_^dQ+-}5hotw7vC&VJu=slsyTtyy=C7dw^wRssQ;IQ;v z%IOyvXilGcmvoAtQeL|cEiUa80kPdJUb~if0zD-a@XAt8c;Dl4PYAUw>sj&%AzB9~ z{eN-U=YMg%r^tc*#GcoD3N~sDc@0&f9X}EBx`ie5xJFqlxTNLm>M~A23e%5bzLd#& zLV>%^nP0*zG{02N6mAYD7IHxB%sSsTB4vCktp(+vVozT|NW16qdvT5`<}WN{ls-d+WR*03H-7B0=Wa=8$J)M0S9Cnf0z>W~KW09b`W<(Y^VK!FpKm zT6VLBD-2jXq)%fqJ;|1Sk^1&iP*ya*zWkJLHCwBNzcPq=f1=T47 z-5@6BY)tvRvDlWdVus5V%e9r|)AXny8ry-PPH7G714(>Ikys+UrA z3g3KPHuPI{naRAk8r%1B@pjA&qXpYC7SpC7n8WdMp^6J~$a<`v%&@}Z)~M$u&sZ8B zOBRR6(lbY!V~OfhvQOy@Y`3|UV|kN{>-kL;|E5St_k)B-59ZpLV;T1mu!ANxV(I#{ zS+`l4IECy(SR3Yqu^PHAC@o&v5R0=Y-NJOPpb8EV;IeI=-?-Wm)Cm$O!|Et!z$kNt2iOb+qFp9-iPZkVltWY%k9Q zS1mb@2)$+?uEF0lsp7l)TAGTmPMLIxS3ZO>RH}@<0r*nbH-hRx*~CFAC1%Hv-WW54 zBbYf(+UpV7UC2q(%EF{>mRovebQ;GQsrDjHpJA#U3v;xo-SGtr32OLT@t2A>W%o(m z)8C8mmAKsrB(>i812xivPO-VqZzdl)6PI7A4CQ;lg7RiH+{>1xQjy}u34VMeS169u zY}o3pr^}aFwUb86xrc8O2X$&*m?`-_ot6DtxPT-|E;#hb6`rLEV>~8)oj0NKrKN{f znZk$pwe@P8k)gXC^KYDZ>y9Hwcjd(o=#{`6%M~E1!8D^meN3N$(uc7>)gR~T&z$y3 zFZV}!6uGkLtss6~N{$r?(P=tJ!K+oI>fT`l-_;3*d3aGIU9DI0%W{j!s-g16usA*r zQ)~-`VTt8C-(EGuYFunq{G{fF!Z<1Eq>-Jp+(pbJwG246&D!AGv0p}f&$nDZ6X zk>ZeOJMWUpl#OZ19X7{gA_pr^{!#I9@bJdVZF`Af}EMHvMi<^jO|H=iIWM@_-ToG!94TtHVWFBee zbCY5C=GMPH9UmLm{el@-B8o%=u-@#4>vplNGn%5PJJq0KXcY!z1xvhkhhB?jWy#{u zw(y5l)x0_s>PJ54KeLk&+hn-ZMZYMdB<7&f_;fefebZhuUD8uC*l@_27ErQ1!lcvT z;fP01Tz5@P>oSUXYiu0Wxyx*#+2&SZzT=JuSUgncdUn4H(nhzpbK49%#<&oQdv_Z% z+j(r?=zWqSSGV{@w{84C<8E-_@^FEp+tY;?#L88T**)41O9G*nDTEDA zjn8dmNL5>&vA(v*PR>AZl6?~_trcpg^;+7(aHmM@=@ZeBN(Uj9YX>P5U!>6Dam7)@ zLrPLk{ul855`Mp{N;&7ipLIC@iV{Dp!gF+m=Q!wD&KVV+ zU!f2GF1lYz<4?S2{88{dAkp_hR;I75#J?E2=Ft|HRrt4oADHMv@MJl=pyzx(9D26P zGb{9Op+lDWJ@9)cIXA$Q^KkCNqmAB)-5<0tFhKGH&3g?D)OlCt=ZW-b!@!RLesZ6I zfd?ntI0q;Eb@z>W%5&zrfq_LlAG8-V==&y~U(5^)90qO~KL*8=FaLk=j@W=74PD)& z-ws{<#s78JzyN9m-CjODFhEd{^X4^C<~(|S0$kn1|7CSdSNwzISN}Nfo&y7evr$iV z_yPK$UXb%H__gg4;M`NA9o`84pGOA<_J?*2iaeSd9xaRK++$$iom-*~4U~G}6Jp#? zAoBtWmuLeG^4>zvgTPH|)1dTq;~N1MNqGCc}he^`%F zL?5^q`i|3MTy6h!1N}|2DY!6+Z!+JS5?7z*ff9 zR#PM@uFg*ZKOy1!ROHVR_x>sF72w)gnXiRkosIhe5ao;C2M16e@x#C~eQ^cW7rDw1^SsMM_b*=`=_AmZ^r!= z{MiomOJlif{}=6udAu2(&+jVz@OgVh`ybEqNtBU3Y#IIcnF9kyBz(&mQO-*i^gSvk*uM}5R^fG6{x3;xhV{|ivcMbGz=7xQag29J$(b2+s0D)@ys z&jSg!ZjOL2N_ZPw`%8a*1%ETRGNu0x-^hOcgNH{SekXaq7~DE2{#bC!Lj2b&qpv;z zzx~F>NVh%QcO>RT{J)@^FYzz!D*fsU=&`ZvwD~+b+YYGnl8Vf$+NJ#WtQ;6P5}vOCPXo7%#CL;R zcH)m|Mg31BFJqU-xXSWSk3h~Fwnbby zXDy9#^rgRhM9l9k=zJb@sARmYRiqBT)oAE1sL;6l|%SikmD)?t8qXVHU ze-$=72wWT9xik8PecVINh&=kn4^EHeE`Cqw$`}6w`L*t7t52L1>Du;oaD7JnTf3q? z9ap>xA0WwrrRejaiRhD-%d(X*Utc5a>C0o@?Yo~1ZXTr{+A8gQIC$>AzD-^%FZ1$z z5|v-uUcD&hMf^qz#d5JOf0=?n^uQg!=fF`t^toRLSElqIf-6V-ci_eqx58%n>6gX) zn(o8EwW0V6*T*t_8;M*!J}_`Bbo2N)bT(b<$QQ^LqC&nlfZredVt7u1hvb4ie@{KN ztd)7+BPc^~#|B#{IP3C%!T-5qqYu9inZG|QmY03&T5$bY{A$Wn`&g!%PmFo_IP|+H zBlCMFunQjZCC|H0i27TmZ$Jn2QHNU^QO;j@KO39d4oE-qF|mCUzXx_e)j;0|9@|6d zuOqJV#lH{TdMAE6akJgNb!nO3SJk6U%{v`kQw6Aoj7&z8E{)G#zcF9nRWNw$&Gb6Ft^T;77QYD|>!bK8aQi#)kDL(mVjh17uHBAAw}&8q5%^8W-n(!`NfX~ z*FNI!hTpWrZv=l}!Uxtx`&f>jJv!ny-;@54xQi0c5tX>_h0gyV=L!&_1pLY1)&=Fi z52AHbKY2NH+Xw0Qrcf*+<6leObD6%4`X#@1`1TdCZMU8L-mch3*kAkroJSZ7J?r$S z=R4tl?0C$t{9mT7YQqnc*4m9RkH>+}Y)Ruic&??awS#{3%gdu2{p}`b>i+?3{xqJ) zCH$Gq(*8#cMSrl2_9i3xgZ;=^;O0yG!#WJg##~&dDPcuD0_8Nhws+QKI2(4kzfBf4cxjR{(0n>uD<&_@}dpR*HU=QmpseB zACT}L!6PoueHN8@-%1_J{?`O2T8Mk^6Jj3qSM}$$GManxOv}2 z;oc8iKfeN;C;@-hrYQ3W=&zZmU2l!B;kD%ux5`7f> z9rUS35m)`6Mn7%6v!D3*<5C@@P5Bx|&=1M#z-M7rH}(9)iBV_A5cfMdmgAj-Jr>-u z5P#63vTpt>eEOktiKhbAW$~8+mW%k=Flh5*faj6H+&(;LL)24S{RrQ95aHqntc^O@ z*FK9psK0Tis9)-!eLj0>iLb>D+F2W(jUB}0c_O}dFu3`erF^Yx($4|6jKsePkLk+u zd~hBCf9cgx&v)_u0r+wrKLM^kn6GzM=+CQ^=?g1m_cZX_zP$llJ6NV40arKi7n81a zO&xBa&z9fz>eUteS&O1QZ3m7ezxs*!J(T>4o0rGIPtgWn-85C!uPeayCF{sMc&=Y> z0MGU7R&e!^=Yw9||7)4f;J$hT;qL?jNaK(p}eB zdri!vw=C8|v(w z-~@djCn0J_5d1!iQ1nFUZVwWIY+tR?cCT zfSa!P-y9hA6#oJI)-UzBA9BpQb?Qq`j6UZ0{*UV-ZoZy?Z)-!#aj)Z|OUBURJ>`1Xt&R7r?cxa+Xx+uLI9hMl@4zBQDRgv@l3ceZLtmDdD1U={LYUt`I{hQD;{sHW!p4#n`q-9+&t>2Kg zWp@m)AC=3xBYrz{Z76;$bnCMC7&5bM$6zKX%w4Yl*KW>ZH&JIz*E+kb5pm1#&S*Y8Nb7ETBc^$ZQLHyD1<8q;GKZbf?y7qTd)R#rz`qkgBjW)C` z{T+E!rg_{=y5`GtpL=ZdL+jf2NE=e<*Y1nn;`VF%;sd-6`~{wyNK4#0_<)6Syn6^d zwiWVxWh~ZZ^Z5L&QBU!=)MHtTKZEw)^0LkUGySr8k^TVWm>1>T2CmPj=N%QF|76AI ze_8Rv7t^-OubeMe%J)~itF!IQ{@B8D7k>h{elFg?Ao{T7^*0zwIo9O~aPuYpQj}z< z8Sn=aS3QmUT6narJkJL?B;mKf|KNll1wXHWe{m)5x!?yU`UY_8g)*OxaQ){P;4#qk zAL$d|S^taRQBQd`gX{C+)9~bcod;drq_@Dex%k4SsJ}jW>Gp_gw{x~ceVm^>>B5*_ zeR3!EQNH#$bU6B`%=bS!=KVj((}ORFwslSRZ^6xr^dFrcZ6f{>=-OF)pTr~oN5~i159?X` zfm_z*@u{1mZsJ#sMclQTQ|4lR$I#($aBV358#1CD?7ROJ+;%|x#_6)(`LBv?e^{~Y zLZuz3SK5Ki(ACYdxCpwqW$`Kut8eI6*MVF2#ea=c<+kO|;QE{8asf6ZtHGWR23Ke8 zdH5Bj%>BWQtNc5zigQTEhXXsJO~g+kF3E+s_lK^(Nq^!*$~$TO1Gu_rw_8q(_5DuX ze@1%p9|LT|ju}4;B`xcNkn@M7u};~Jod8`ur5^~h^~JdRFNuADK6Ao((I4J&Pv)+a zk-Aw%Z$$@Xs>7qu;PPw92i4do7g6rc{Kbvn2{DZUXs^b_ayKRzqcp8)N51fT%m2e6kHwD?ICMpS=i3Mu}|PUlMj_MW@M~k4O|}a3rQ=d`&{VSOZv;fl_`G9 zMbYlsWpTx(*O7nu&HuURe=N8475dE;`oY-2@|EZI3jLqK)lK>? zaLY*i{ovLI@vmMG>%2BO@$|^QojUw_=*pD7i#%F(=JB7&;}Hp8jD2!FKM30{O8mFN zCtbgNGx+@y{y56?FmTJ_v-q$!)Q6X0f7=)7gIAWmw-}irU3f;JYX^BYqQ5fVgYPVc zo^`kb`O1{%F7Pb#7Zv)KD)=G9H81jisFL3k(Z{ic^h4l3HsRmrY1_1gJY7abP@ivr zUvgyhCEN5P7eyO7Cp;Zo8;W0cP1z6q@-dO$wto0R)}r9CFF)prat!+R;i$iT?SoJT zRYG5KFixxA+P57IV)=?62G601XXD9H&Yiq3ULE^&*PhP?H?H`~MbTF3HVQ6X{5G82 zw3PWxa9kna-v!U<{sLS($n$$}x`%-81w+Q~SHUkhHTvE=vCqZe)+zBR;w%4+*zm@y zB5r^7Sqy7l>{AcN&f=ek{%+{nQ~EO~IDJF<6u9Lje%omDZRaX)B){sj1o+Qp^b^bI z-8i9sXy1Iw8PS*2=L*V*?1cVx(MXh|{eL?a^XoX^eFsOnIxJZc>0cwx87pI1h%cdD zE626S8a(=m^vl4lgW~6b>#O4TCvN8XI&|x%^l5POCH~Uo(GKDdg+I%AB|Q4D^tZu- zD+c@@r(@pD?^P$qJl;vz;U`7hdGA-?u^!1Y56^wU_YSkGs{a3jO7Fcx z8l6xA1VT^GKthI05_*};+{_G_nLFG&lLA-(r6WQ_LezJ>nmM?O*Y)!M0KSG#IxB z{ANM^^hJ4pO`yNjX@A)$>oPuPtQ!3$zP}WG?zmff_h_?wo&PEDJBR_x>XYpmk7DIN zL`ECL*U&&?(zcHQ*k1QZ&tbgdQT!&@I2TW19@9VWeZNrXiyaGnaVC8A>;L;`i#lz~ zXAX}(vEH{1i~7Zju`~7EXAg;E$9{RQJ>p<9edqX+|3-no{ID1sj`vN7nYEG8&#Qn_ zA5EvM_E>fwuzc}l1^f3b*neGtKdHdqlCq8k%gzOBv$(6k->)Is<9PWAdi0@wXhe_L zIQ&Z?o;M|6w8!!O=h<-#PC({>eWD)kE53|>To>%eCEzr!kD@PDf^T26W$TOhzCyjb zuNULrzB`kSvoGxH6Nqi=b^bgOU!giYV}CZAL;gy;9!C$wg8j|dFV_A>${GWfU2$yG zW9(fC(>PcEN0Vb)lv#F4v{}4n0dEI(evrQ@*f~VJ4_H0olkx2eVEz0Ym?04Gqr`yN z*m#Usa@>i(G%t^41; zyRkZ}5N}5p@ICm-cG=$dX}fXgy0!&vp_^dth%vAoeEZI}uQ@NyWBPw8?b-~! zGLxB$#Pat;-nmZsL&583xD4JP!(XIbD}p^gYC9yxyz$V~5wUvyM4E02dOp(-W5afx zz__qa9T&IJM`@n97pzX}y@pMTHtX9nkyFNVkWqBH*s*ygv6sgF{y5Na=a_nWtLUH2 zssF)(&UxF!xybQyS^+Nx8@KZ3?GgJc_-*&R-zVU=G(R6qf2A=pydlPn?doA5yFNPB zj>Vbw%X#q21$-ekJ0I$+B?m<8zWw9ctzyJw=~DLyKnq+L1yv6 zdHk<7CdzxC`NZVNe}eM+W5fDf_1hl!Q2WIPfbCQ953=#-8Q)p-kv`F$vkG&|Mex-l z|G$%>9`&CNb{-SII5EnIe+J)iD*hOL+CMB=6n$%7|Bbe6K)!8k+%($nzW2Wc{@S$B zxk#B|V2TBNG~>m#c<-<;W5jrHe*W$Lu^*3R{GN0mvYE`2l(%1ur4KXg9P;-yqW$i> zMp9mTj_L=x&uznY>ic_ptJREGCiFX9!zJT{D@TY<8S7i75;V^9#g=7STl}KZTLO%t}){4(5cUT2X7voWem9A zy?C1#C(fI@z}JWJ@4#vLO8i4)>^o)tydN?y~Ju3QN zAFj11zrX$dPSGCw_ad-yEAC^@p%0ZmZelF!JBr_;zqBXxZ%4$+OhHDzb9XP;*i-%v zY~~Vd{!cl!_d@iq(i43mZflHX?Yj;Jq4hdveF^ON7r#zhY`gomE3sd{S@xW@IDf{nA{f!|PEq^RsK>RNO|67+nAHR2u|Dzb}*Blw= zDck#d<`>($0%g1Rhc1Df0eta$GxBxobB(cIjG2efsejb}4`kK^%YVL5*Qn8X{G5eO$BR0j z0&kSzvB>BLW6Xb!LH~`RE!uBeHY)i1RrD_p-+Ct(+WQ3-q@nQ7gMS2keP!9>3-~f* zhGjAvj*auDdM08+^27QkMw=~L+9k$=GT$B*>%9g3BKm`7gmdnd$rF2S+f|8e4DaNl zXRXYJdx!`9qt4T@$F);@KRPKM;`RpwwsX`7=uWV{5`P!0f5Z=fwNrdC6SewXBQKd9 z?R2mI-Gk#;wl5w>-abVEdJ_LuvF zKY{hRc-GdjFWx8pS#&1-4GqyA%WjX()Yl6~#qGH7Q=)B-i`Vvz zK9v7B*ccYK5TCZ!F>)lBrUl#qc0Q4RGB}N+eXzmy>ho#fjWWFT5z#i=eosOFNZO@u zz2Ddb8T&$+V~AV%>X}z)*VDw3_1*&igF?MGz|;ok%o*Fow)>uQJ9sVl;zPjtN4!5+ zJH-pp&vrA^we}&gA6@U3>xfu;E+qz(F&-|WUi;m)-vr-2lK&5E)3@68Gx*je|9i;W zU&^mk(Em|;u7C2zaeZ`5ZJ717KDim?)@!@ILmpif=Hv&!`p5bC;DR64*)Wbr$Jf>v zxiT{9{61q=JH^c?w13^7?23{4LHzvCh#d>}BaEt0?^*aqpW7E-2eV8E{4i}a9&BSH z0Y-MvKZ=6t)Q06Yi`X@NZ}{3He>6&z(Vk-p@>9V2P?GCHF3#8Y zJG-I}wXN;wXpiH!8?4RZF$cxAc=j;^to`CYP0#ti0c(%^JHe}F_};yvjPDYEba?c+ z@$dw(x;Zl9)o~_6GPLDNd~1K{&o}WcZV&hXWYq7xGy`Fp8Rm-3vB$9)>fJ52*ESwH zKk9KUzW=aT*1CR#|5rfX_MQTz`RB2*G0rV}3-MrG#@mbV9aHju1>bhbzjJ)_mGj2E zVB^#GEzUhEmep_97x3eAbN->s`D-EX^W<+MV_D^I!{-U_xKZ?p{kV|HneYyNc$b1B zGrR{f`bU{NM#c5W`{$p7ZKHUZ5z%JPhIXJn+X8FI_pql{*S4|j`|zji7{{H@BUhUq zW9dN3K0Q3*Y2Z8XA=$x)YY>pG9geTN;p-oLdpvb1V_n-4NXm$xL*TPqmH#W)SQRg` zQyiPeQ0{H))=t;ur@_X&_<4L~yY$sZqhjCPLM1Q5H-6;5UBJuY&&2;P{1nf(Rbt<{ z);G_JW7+k$gL%V#@m^y?eBv0_Cnpy8x8rcz66P6vX#803xyR)Gd}MsA*LZm4;5di7 zrdJ_tI2ZX@JLhx4zlbqHJ;c~~1i$l=@xKbjY?|SP@b#7a&+QrG!I<1}Sk&X3b9F=H zdoSDtHa5i79imQs_4I1*T4zP_hW_RK=r4clV9j-8#sgj^W22ZFUz{-3$p zFJ*kVV8!Ue5v0!m+b;1tkbSDm5d6Tu8TPAb=V|qd$ATSu;_Gp={b8Fg0H^kE12c_> zcIq&Wt>a>F8qZVFW8Lam8LX}1!@$XoJLx}Iq5rli^ySH5>$P96**p5t`Rk_rV>_Kw zW;Db&aQqKHFxDkL9IOrE4X4I=%KgE3_}VZ3?v6M%J|VsN>=KiK(Hd^Y;EZ4vsfC9oW;t}FinDww3mh70!BFro^)P^Q*Hmf1>9?841uxp;U1mS`(r<_C|iS6s(oe*O~{JELY9_OH; zrRXci?Xo9EtjyP@N1rS6Hf2-H9JPD2-~N3bzGF)HVd&Hb<$ul9IP`Nt$F${V`JXS~ zeW};E&w7m=nh@lt7WnP(^p$$dH#QuzQ@9Sx_*-$cua)`xe$hYfvzbC`I@cq9lsB%{ z#mUxdY+p>L7!TqRw4F<6%Z!8L7_=?tVV`m6zVIPBLi~I6v}Q3z>}>_sPUna5;LwlY zi@~Aa!MB2kW->?NFJn@_O~8S+%{lF0u>KUkPF>n&T~C7br+5Js=`V3JIPrf$U?lmE zkXMf~Bk2_V<38!z)MvbnfW~EQSLSzgt}@m;5nx-yx59VL6aNdQSoyz$Q(fN&+eZ1T z0n{)44SdW9_`Cw%9Oon-K7*Wnp>Ic*BHwseb%$8jE!cbCPEn`$)a|34;;m1NZP$lS z?;T~Fhj$_dj8$XcII!&!PXKGb_%N{k5uXIcynxr)KaZbHCq?-u$lHav+V(nEpR`Ym zL(lbJMaH>8nJ34`K2>HoZIJ&9;^#qpCw9N`bFlsqpIC|5`T42i<2d~(c}LI9<{xBV zMo#5MKedUh%bH%ZhI)@b4_}e^cN;T;OlIIM(HR z!cW6bbNC-d$9{Kz{}-_1RQv{O0j7sD(0zzQZ7>esg|E%(sZP#gqZ{MpyDxth$Lcr7 z)a`4(wB zUG0UjQ>CmirvBl`Bt5Ga_?DHwGW=B6df?QqlaSHR%FHX^UxDpk z`L~0U{G?33_Iwj;S#c9GsjeHr$c2gkO!PAz7vso%Nr3!hAjeOVce>cZ=iT_%_4}-&;0RNI>qW_h-r+{w&t5bf%>^N_@ zZ-0Gs>__K~H48SJ$#^%O9q;eZp{|wA14~e{MTU3YGscg5ttH5Bn#r$$F}6|pQ;vu> z>*v+Bi`ZDY?&#>BV9(CchR{a~qOZJM*XK1RMX#{1WUOB|ZUcEQyz&6=jTvugs73=!Zk` z!@9`W_AaniR~ln{yZ<-? zzJ8H^8JJ=LpI^YQfc1+q&llvE93O4FmAoh6Yo{_t!?%s{uYxa@Un=l#F7P`G{Cf-h z!w8x+DeL{fabV+5d{IH>Y|2`%b^QT;vf-Tqt`=mzU*Mlu;QzG1KefPrpum57WNeG` z$chtU-}!#Tck#LX;`ai!Opg2~NN+hk@;!t67jud-orW4&+QW9+j;*v%IZVQUWklwsLUqJYx32zdPlD3#jNehUvofgm-~z>C~M4Ec1QM7 ztApLEJ&rxLT|EzAk63#iIXI3<=b+oc&R^mS4~_k<%n#714eETCdN&4J@56;Q{sNuK zD1QYuJ8rG(0&Et`zoaepk+^eS9JAu{56|(@V8^EX!w-vfi4QHvf4(4pP(l7`u>M!R z8*JOf!;Z|`vIg_Rn((!MH~g<3^#8t&t`wZB*MSKs~d0ae{_B!6htALZt zTZJ}`g`aGg3Qp}h7M%2V7WgND9c$|R7C8CsCt%}2{sR1&@TK6SXBh3GNuga^74WD6 z-UYmTCUX!5Th{%-F)Xykym&19gtr2_2Fu@_1#c+$JYt|3U|XCI_e5ukhuH<(19p7r z=bMK`KPbO1V@IF3Kf4JBIu;yjrDp)(kchlF& zCqt&iKJ}jSh3%rvu6cJKm7lqkcZ@cBzj`QGo#HLQ)+^qvF&_&n&_Mgzz0S`8R2gi3 zZ))@*CJs5g;I}{FG~2Go z-)i4-*E_kkV1s8%lSy+cHsmd0q8&O8+8IAyPyQJA2SU3+Ga;75As0ip zLO+F`hV+&Ds&gRku~(#Q1u{Mlpq|5_PRKK!KSCQ*=NRaI>T$0!llC709S8k{{O_al z2hcCj^*@k(>SqP_BL8v9y+PhKjL~=D`3}OP(DRUI(%(duX>Q2HT<<6UGVrC~3E)ize0b5{to>Esv>(V`kJBrNY8-i{_tHsbGRM?{RH zlJpm#1JLtz=p1C$Mc4M^oeO;xIv-jB{hVUYKr3Op&r45(&axfIA42}Y=;?xPfNq3t z#pan@zlx0K>_rrnb>64)mq=!Poq1UPRU1X_jzF25a?D*G_^PFe_Jm32~26;at<9jEs!G8mK6Y3@XOUnNWdW-ZK==lld z{a&N7VD|*?z`q{5MSha5!xRb2ki^(3hf5%1RaDO@6o;&zIK`SA%DzpytSJHl$UlrdSN7}jeCiL8az6J1q3oTFH9`wu0g&tI!g!$o>a<9~}$G zKOOoFdLKuwk^Cc|qo8A;gQ0(rw=D9@LH~pvBmEq-Ek61q*JYr;Lzk1@gzLA__axT~ zpe?~8A+{bvwud&Lj!|5Fp3@257X7WzRiw9o-$|LRxXvQ)Ij+yZKbiar=`!SVm+vEU z1#}v|Jsnzx{8`YU(AL=S5%h259zkX{CJk@KCMec>NRdR^#A+W!>P1K)RSx*@jM zLtcmXS@L%xeK+ZQpp~h+4>}XN2U>+X?nCZ2^zDY6-^qR^=>xc~fE^>C)u4@_4WKQc zjiFVc^`W()wV;vEH!1TUXfyB~=(r1-M4i)YEBG4dYUm5_x}XiP?MGaH2l<(m1E5Qw zbKoza%om{3pk+ya6+3q$?;oT$C4DCJ9=eXBtnUW>0Xm%Yqg>0#{h90eTrYsu!=|qx zKZ@&P$d`~?48ITh1l&oxzeL_-@EPEPDElt*yCb_g{L@K)8JYuqhV+Z@+p%XYWLJaM zfo4PdK#!3BAo+iWzJ~q=%A5@Ev(PEf$?(@eZWZWT=$MGiG1PS|^kedW1T9bA3eYl; z8}e@=cM;SHbwRJ8^Ht~!%AOA03-6Z_;`c(Q!TSm{hq8x2U#DG5phn8ffDVIqBiH?? zYZm+_$o-6az>okHGf=$Hd7Pu`cI6X8#V-1nZR9M^S_+ZDgOO#Z&4UqZ)R(jCwP)bUev{}Q?w zelPSfxD~k*z#EYN25IN)qu|{GZydaJNgo5XlXpFQ`_z4}d)z*-`?It!yAhdN$s0}m z$HKn_a_^M(OzuODCEvB;Y;>a{=x*lf-s@QCUC2F@`=s&6j390O%D6{%FYMmbz2_Ww z?lCR9w0)a(w?ZwDb)Eyce;a`f4}*ttb^n&?UE1DFd#<9MDrH;;l1=($X?7W(DK`H% z8*S?Z=>H8{wXqj^1bP(u1C;DvlXl>;VE*-9ZH?Qfp5J154{2nrOwSLzX)0%n|wCe3jPMVE`+WCZ;dYRb+_SqHrE#T=b>i} z+YbIAv>kcdL-XLbLCut#3;me9o1u5W??PWD?^NhG%Fc)Wh7Es*{zKk>p}(NxdC2cp zZGwIWehAu;GCM&l!dnU21bi#}TcDpnw?Qvb-WWh#979~w_%c3L&-jjqq0s-ySSZHS zM0Bi&4r9r&kYc77FP|1G#h56@gY(N1_L}{} zJi0b1=rYcW`jW2xv7K}o!`|-~b!xLQo9?f@4>bmjuf4h27n8}iFFcpx}V*wfDSu+1@c9OOBKYx{cm zH?5~@p~HLdUhva&_HoqfY1XbkFEL;vDpNkLdlH_h{+9#<|{mhSc^| zDTkWSrc=;uU#7M>w|1mE>3waGSUbF$4f zc`tZRQtn9bsmSkz4OPUDW>}Aw*CG=D1=g{5IcPRfO z=*Q44(EmVt;ICg$$8walUq(Z}MfOatePTu+B4QSW%<|A)N4L4Se%3Ox(`0r~;5zvMa+eHTJs zhc1AYK<7f|LEnJRhc1G4M0N_-snB$&5jq%Zf@VOIp-Ip|&}q~^6dPB9en>rQa9tBx z7wX2QuRvdd=0g?e%TOoO11*GHSIf|8&?4w~s2%EsPJ&K>7DLxj*B$8pDRe67Z&UBO z@Xo^4v!TmK_i|kwdK{UDp@$&fHT*5KI=m zHK4Vi$+V*rx|H&_LSLcWe9{x~`4`c34KhE3)+F!Oq-Ue^E6}ybeHNL|Kr`Uq2>ph- z9)Nxe9fQnR@;(PmApIaZzK@QNz%M|Xk@nx}@x6ur*RErFX8$GyvLyL!T&ws&vE)+5@O9{#g6yfte1ofFpX?z=Le9H?M#j1FJJ3szd0awld+*^~_cXK}v^P3E6TJZ; z-`!l=y~&%@X0t|G%USz%pp zO>jOk?-yX_BJqE@{yyV-j@?I^%aFIxzaE9BL0^QoIZW?GEMwjuDWh)j7s1}!S?*5g zSTYt^np*?Ylr0M2uW5BVkO$Dp^M!{HwZy+t|iHI<*owHxxj({vlx#gO_b zGUPMJK2N3M<-y*YioLJ=M}{9K|3R?j-+9!Ocw?@do4y$IvHnqD8g6Zw+q&yoHadEVQY9t(e2 zc#`RFQ2ztqZNQi@deW$prBn#s&pp8UDcl^MSknY+Q)L8u(kh0J#3 zm!PZR-4AskW19a%j^@vO$Seo(Ka^9(JbAx@T)WI$k8+oBHBWoA!*g`=E;mhvd3(ZJ z9%dV4UORuh_ZMHv^*jvYGGrg=FeGNt?N(V z%gOU<-V^*e#D2~2cgQ<8lYNT3Ye|1KOFvEeI@0@R?cJDibHQHq-6mW&g*JmWhlWDK zAnmb_EO$I~2|CuIz`D@-(1wtF?Wu6R5uiP9fG1#?>*iI;4^& z=n&|$*x7{cr=gL^oCs}?1ExY3KxZN|7MX3y?|?>wS6Ye=$Dw*GZyDux!JljNlOK}R zndJXZ>U|R(Ye8G0?=#pm8#)Zy2VLt>&n##@^k--k^)G==qAgoM4dCtIe-7FAptC4v zyY-8&FJ(eVVjosU)| zo#v=do0DEdcIASsW&gK%tO1!73S|b<@3Xll{x9tCxu13%1UaYvi?)owmnT4zY2*3O z*~oa`u?@O+RR%(A$V~XhLEk5_J90a5MJ(_W?{pZb8dRtHjwWB|C3$-Ea`K@XB-z9wvf|xU89Di=czT(;EX7JS`zmcnQZIr(Y z{g=YK9QqFAnW=JKN1!v|osbK4!(T$a_d(`eNt&#H+qfP^f~;`Q&O$ ztniF@F*@JRD=HtLF$a`UBPT+c9CVwx2-X|$Po$H>^XlM%b z0W#WsAb2}y2K4{cGv#U2ZClg*+w{y{@8u-(zJ@(hXjfB~XL?2fuS}zC?`zQhnZA9v zzDnAwdEz&-yw|z zHmyudZJXikxNe={ZMgc}Mjy38W00E$O@|JIE+bFf-{$&V=<+OmDc38Y7qaxb&+9#MGV-N`<;wgccQ|O$tUR?~*B!>}u=9~!)s}Llvt#ZKt(~3MuejW2 zcHVvDHZR|EN7Ic@y+3vJZ8{d8+`jrD%lu}!=RR1brt*-E?p;PVHP0(eZSHQx4xt9c zq^X&uwvK9VWpU0qq`9LvPepWisZyR%ncmUeSDn#aYN$4JFKF)UXw5Yb$eK{;=FTIf;ZA5TwaiaB{RBhd13S7~Q~sQe(!!a2-Mt-MrK#m=Z%20ouPU5PoTR0&pX$KTQA;U!ryswm)Y6Axi!+Zb zCAX;;s~Qd}SGov`6H1fIm41T#lA1BTqr166|1`IjDiI$-Mc}@9juP6anG-uIxV2na zJb_eisg|6yh_J2F`GJp*XVDk4dt2a4Yp(VNRrRbal4@cxO+WQk%AG{hv~rsPJF!9l zRY}*XnprOQlAh34VeIB?>+Z*zUS3d|Sn4bl>~vyiDm7PH+M@?+S`RAsPA>O#x7HjV zDxS5trxbwY0vI4Ssk?Q?yy%=-S^b$+TxzK-?&+P>9WP7qlFiYdncw;)b2rxc3@Kfk z^9C^Tf<^ylVl`I(G^JpT>+P*{%=?Q&RL~Jv5zyHvBxi_e5eS1 zNZ2KMCt5AivtFl_n{(&Om|kuTq60i`W)}a#ruODa5R9D=SYga3&3RKAX4JZ9dZ~*j zjzt=qd)sO9UOKHa3<1hgbjIO0%OzQ6I zDlxB@E47+CXErY!*V35^cg7_E&cu#tOQmE>nCg^pY?fV?I@;QMtF>fo=FGm%QqIz2 zb)4k6Neh^U@>M#j>c`9#_RmOa`|*?VJes54Je{j7@RGKiRi`KmmD;42GN&`n7sUz! z%yq|PQX5jK&_RULf~;c_FBZ&#kO54GwuGpQJytKKH$xx>w}zgs7pvJ>&u(N%U_iE& zm>H&)I`dg0Z3kjYQYvpujg#7w81;5#=7&Mh*W1oU;Dpcy%}kN!E~t=B3di-ApHS}1 z_92!7}_xurO09lbLTni9pDN|gm2EhVO`1s%+x<4V;dFH*>7AJjj$siUpCxwo$}c-dNRt>olN zxodoLwKQheT5ELFta3l*Aab#F;~E=kB_~vSQY%B3m~Qr_g9cpK?&f7?L*u0B z6L%i7lZmFO<95!jqjwvVp2dIHa1tQ-1@Z^T-bQvgr=SQ z%W}Ir0h-l2uF}R%Dcrg=E$rxRX%7>6yhp0kWw6*+(``u*s=6_*OzLdzsg_y;M`Z(; znXcK@Ql+ty?p!CZ3FlU2aX)St4!N$S=MJva;!FWGTLvkgvNHt@Y}=c=OTCAeyNS+H zEAviAb7y0@v!iA4?CvUej&Zq&-mNxFZ?06^o3oX9Vx@VZ`=Qd@an+uKO1;@VTz)e+ zt+b%jxs<%x?rtgh!H?Dc-YurHCIrDKohD=^v6}ig60)LH+MEf?xaeETP#Ae zsinQt>9V2H!4R$H1shtsGZo`{dT?Y2&rEmK`6gkv z&ROJSZAm#z%?tWat>3hvrlZ)yS@MNNujK<0dmA^U$u&iRBh{Yu>em zCbJ968lRcaFi1<&6q)%t>w$jd>Z^_0|F-UO1s{c)l73>U%AIQ1dUo46v8$>L38dPx zRcKn7d(g0($^=uslTY7Y%sGud3UG_Sd@Gg%wzt>qoW z4Q=e8?2ux14{LI3sV2~0SrQ*C%2VEyO1ZD+e-*H${i~@?54SGO@r-0ZZt~xN3>?mk z!ER$*HP2&50keMtoQ}fb$^btl^XqJAs?(B0iUWw~VFR4p8}63aOA(vVuh`6*Eb_-5{^& zD;(_Ac&VT2N@Vt=2uxQ4A>rJ*!Agckvp%s~6u9bi*jJ~QT05F+DbFqnVbaiL^AxwW-|TM97G z=d2FbR2DNv^E=jfIIVoSf-H>f&anslbVQXF1tW z0oA%s_GId?JuMwQ4y8}atJY=4yIfV|+opUTtz#<`18f5K62!C5INZH>cSOfe?2EgN z(zxidiL^1SZ}C{UrK@Mou0le(qovwldQ6_K>7%3PHOG^lhQ>@)p_ajTd5<(SPU$Sq zWd|9jULMROPF_=30>aj?p)qX8tgcv~#>~q!G%nb6P_`m{)!E%_v#Py=+4d<}x!Kbh zTT9jOshPQsTID%w3cLJ;&5LU}1vh?5R$jiY)kP027*lgb&dz#p+yY`TTgGd50$E9sp!34O4ENA-rCNhcWXpzdW~rxhv3GkNi?TCjp2j3R ztEGoIx;wjj$j2{yZ7XHhI80}^24+l5V1DJP-0^)Sw!-2tii(VQ=jO^)VCh+T*bi2o zoAfZ3jbGfuEqrHK`bx-Vstia@~&+3>BJqyNU`L1ngvz3__b~|-W zXDk%+7;>o(CvdFKNJ=(@CS{tVZ)bFeJE^d}tFmv5NAj5mBA4DO$E7Bw3xUT-$SUq< zV|JI;SnlZVjsE2vCEj(r$YskGFdN^+Oz#SK-q70E(K4TVo%CQciG&SamY_>wFNI^; zoSB(e=cK&*>ezWy^%qDH34eBPc(9yINKbb1SWk~(>mxf1OAO4G>5x2#V2c^cMRDjXow1s%LP;Wn_jvvY29%ly!P1&O9oI@rzxs3LnJ z75Bz*i(H%8vI%l>b5}8PB__gE3bOZ%m*-=>mg4@ZyINvCj{64(KrWRXkCN*&ZW&;nof1(;ZHMggkqyS;TEX2@ zM@vIEitSxo%$T%@8#_)6^I?}drYPkI<*u&Cs`6J$LrT3_U4OIQ|8 z=A?q*F?wWV#cG_~f97XrU+youdc4tN>dL%ncJ9MkD(Y*fkJC73Hx%Z%IE)Jep<2Y_ z7aMiz)Lp!g72f;cNjtMz7JNJw$%3b$QQ=8Ue2W_}2=^}vAgy#2U#ZEav$}n59`0#6 znbYB`MzpckC1IrZlq;NVhJNE6p4PnT;zG%?7~UaDy5j5@AG#G5(m1hXjfjasLcf0o zZS7G>E?P6pdT4f>e3(kRJ=Ga>vpjgF8)kFDdlO47H%P7pCo)xba!wv!!x*&mr->9* zOyrfqPgO8bz~Zxe{+IffE|3==s5(1$h=m7c=S7`O1~oet9hjXLjT^F0DLj~f#gj`3 zwKfOkAa{SCCX!q5DGH+bg9%uifU6CWB95~MoT*_#$)_(^dF<9sQ0llQ9J^ezp&L+~ zP=MJsE<|G7mV`sS{CV8qIq4ZiQr{GIn+>7tq(x3tWqIIA!0eH~C^;~@?*1X0RKh|Ucip)g2gz%1=ANn3d5QgWtgSp`)i#k@_1M493>2G!H#96El7yCM@ z?WI;5liubSnByxRN~l)c(B0D6*P87E8~b?QxrK-3{ayqaZF(~OkxCWT!qK_o`j^UI z!wNa=JgtvIESWc!9#6cQNDXAW=>F+`^{F9~tgmloX#o%FTo2vgt0m`XfE;!RwZq+d zqhjzV6JpSaaAMR+jrab44m&MkvD#a~LhcC+*`#JtH-XSnY8|w6Q(t(o zjl8%~^98uNkkF99gzBqE_0{{UCX+kMH-LE6GWyEJG&C-7jg(NEB7#E4*Xu20}PxnjKX7PUf(00Q-J?Jb~ zavh(VxwJyHn!I!HP0C!K&oTz*h7F-)hMy4+zzjQrrQoa z@z7dc$Oja9`g(bQ-_^ydU%dOlflJsjFek@{zLlEi!gHl2UlVQYY+hWd#FL`Hs1|S@ z6V>ebE{~2|$9MG3;n1gC;bRu@@TVZ>vOIP1+)77l{^XsPs+Bsuxl{K?@uKUJRJU!xdl1TQ}%=VN_~Zw zdYibTDYaUF<)mePUMgnfcIP?tL0)gp?$;4{M%2W~V$Sk)5W+Pzx*^NK6Aj4$h1}eT zT5f@rYh|o*=jEps#&>dD?&AFV5L$6&@v?WViQJTl*ZAgDX6}Ds#{qwswrXE@$TIxQTNnPaHRE+{A{N6X%R;YMeA- z*5ny8r;nR8Y1V{>ajgqFIDqECaf3@!jQ8N7T*k&X%^EjLCHZyA^hpyNW>24W7}soK zOP@LlgD>-Kxsp!y)61M8^lCF4f!y8NTxp%bXB^^daM1>rYhNm>c`D70VPiu`#SEr#o6n2B@kzF7;~`{F8DMrWnBTI*+6U%k z9Tu~BWEJPne#!o7YI1c?3$sGl7?Hh`qor7+P+e9ssJGn1YG6pD#222oQJt%4$nM%`L7n#!9yXH8RC6)T(@d6{a6D84{7H8 zQQviq@en_OHG>tdD@-UeBgV6=?EG(HX>MQJU(v2K(C zXqZ<^H_U6`WV5@Mhl=5vjl{YdeLaIC@wlqg<%Axx^|5Q&bg+dh;t(j+$d64b{;f4S zGJ|l9mwU3V%8&?uLgnE&J5Op$NJS$83~D3FTv(ULC-}h54*dg;c1IZAQRa=z*tz{Q zgok>Q(>V>?nRyQur1@ZB?dnl%T_X2h9ov3LjC|8OkP~;%gYeT{eqdHGd@1aK z*3@-WC>1-k*fUNq*?Q@toV1V8)yWb4ab8hTBIo94dbzuU{$wE@Z1zc$RNT(useTWL z2XfL2>`Twl_XBg2ozptz@qsQrnm3@XY&IE~0Vn&A@u%g*uKZMqtW&xFKV*>l^J+pD zf10Ksko$O`Xz)R$?5B=c&Ar426?KV%f+QMWR^w2xR*ua_h4C=2oE43mu)4$mJ#nwo z)VtUZE0=o~x>lrev4%J&g`FW4@ajo`E;KX4ryX2t`D6eO>AkNYa`@OyT-vkGR@DUR zxFq~25X**7qR`wjKbz3&#IQb|ccxJmD=1aM8|&=Gtd2X$fj65CDKAR;cxDjR=zhG+ ztQt2djt5ZT_2HD!ZlBy}n7LLnxtrIboJ{fiA051jsDag#MrxWLbf zBv-^`IrCCIGar75&!o>sXu@ktgRtWB0hhV3c4odVl*tA98NnhkHz^eNui1HZ8sm@W z)!7h?(gXP^E=sk*)?XK|0rxkt=t@4v8J?gr%#A3M+{XI}tXk|9c#3$M6z7x}5ScG? zwjcI&H_F5DFpK0l4J={Vu~Tgz)fAf)a~cL=Lvt4CRb!*yq;L zg(-lW&h#}JnIV~!@xW1csluljOSJ*sP@E0Qm2Bsnl?-|P`$T4#iu$~b&6L+!oz<@( zZ%W1Wz?~^KFzLmkjGIiN2g3bz)^HAoW13IycV@TkzI{Hc)Y9Hv?ku-0<{38=z(J*j zp*I{w^_*d_Rsp%F+gBc5hc}{rCz;z4f~I0*G4n1h?RwH6Is}nKRN}ux1J)n-*lg&6^(w zeB5L9=jQ73qqTN#bVEj}D9_8a+i8ok*5TJ4I+WMWb6b)pYc4HRo#)kz&HQd~dl#8? zCasC%rUvQ;$pmi2`7pBkv%KBm>l5lnmizZ`(opwAJSzs&8S~~<`TCONM_$0`;9F-3>F|7#dOxvhQfqX#7^N2 zaSma&X7X-`(}H)%9<96F$ER0$dy>l95Jo7iWBGY$E*}nv!#E2!(t0y*azp<$xxoXw z&Q1=O*)Wao>*!>?ZU~Ebm;oBPy7~&mYkk*n5D)iC`XpOXW4ehGs@g^+gk}98$(~%* zW`ba0JeW*Aj}B?gB>kE!(#=3gxazHRPPUBgr!wlSr+B zoYREQFBcds+gSV^_A>AoXGd*Q8sI-y)2MN@|{zOsG_lk*_#L5r1xbQtMrft_7HbDJzo-6jij z_aV&{9-HJJM&o8_m(ls;oPVcSt@gq#XE*}P)*rr*jW>Y%ulzi3gx$^o#R;|etJ?&n z60@4;)@ms5n*3^nETl3vv&#TRt!SZ#YCNA&P4rP!R}XV6Hy80aV8UdfIZW4PW#0

ymR5n=Za8kwnpRTcx=GV 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%0AUYd$^d&nIN;)@(}J#c|*i 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 fhjCWxtSHr5eIv2$H=U&qs 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%0AW(ZBl8$-f3;)rnhv}KYB|w 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
s!;G475)f(@g@}aTTzB7sd0DoGsr`z;c}itoIh! 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

wI)axmMQpZI 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

ge+7)~Dv2S6z!T*5#Gv!ptR> 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⁢6h1opW)DOW%lb?$tJFw$z)N=HHZJ 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

1&4t&4VkEs8-V{_|AMRtpefduemOWj3$&X@Q?2 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 literal 0 HcmV?d00001 diff --git a/etc/vsd/VsdConverter/.vs/config/applicationhost.config b/etc/vsd/VsdConverter/.vs/config/applicationhost.config new file mode 100644 index 00000000..20e386b8 --- /dev/null +++ b/etc/vsd/VsdConverter/.vs/config/applicationhost.config @@ -0,0 +1,1030 @@ + + + + + + + +
+
+
+
+
+
+
+
+ + + +
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ +
+
+ +
+
+
+
+
+
+ +
+
+
+
+
+ +
+
+
+ +
+
+ +
+
+ +
+
+
+ + +
+
+
+
+
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/etc/vsd/VsdConverter/VsdConverter.sln b/etc/vsd/VsdConverter/VsdConverter.sln new file mode 100644 index 00000000..5a61d033 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter.sln @@ -0,0 +1,31 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 15 +VisualStudioVersion = 15.0.27130.0 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VsdConverter", "VsdConverter\VsdConverter.csproj", "{61D7B18D-2DBB-411F-8854-7EAB3C226C37}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {61D7B18D-2DBB-411F-8854-7EAB3C226C37}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {61D7B18D-2DBB-411F-8854-7EAB3C226C37}.Debug|Any CPU.Build.0 = Debug|Any CPU + {61D7B18D-2DBB-411F-8854-7EAB3C226C37}.Debug|x64.ActiveCfg = Debug|x64 + {61D7B18D-2DBB-411F-8854-7EAB3C226C37}.Debug|x64.Build.0 = Debug|x64 + {61D7B18D-2DBB-411F-8854-7EAB3C226C37}.Release|Any CPU.ActiveCfg = Release|Any CPU + {61D7B18D-2DBB-411F-8854-7EAB3C226C37}.Release|Any CPU.Build.0 = Release|Any CPU + {61D7B18D-2DBB-411F-8854-7EAB3C226C37}.Release|x64.ActiveCfg = Release|x64 + {61D7B18D-2DBB-411F-8854-7EAB3C226C37}.Release|x64.Build.0 = Release|x64 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {D52B51F9-7EF9-477D-8D0D-AC0F20AA9F99} + EndGlobalSection +EndGlobal diff --git a/etc/vsd/VsdConverter/VsdConverter/App_Start/BundleConfig.cs b/etc/vsd/VsdConverter/VsdConverter/App_Start/BundleConfig.cs new file mode 100644 index 00000000..f8f2480a --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/App_Start/BundleConfig.cs @@ -0,0 +1,28 @@ +using System.Web; +using System.Web.Optimization; + +namespace VsdConverter +{ + public class BundleConfig + { + // For more information on bundling, visit https://go.microsoft.com/fwlink/?LinkId=301862 + public static void RegisterBundles(BundleCollection bundles) + { + bundles.Add(new ScriptBundle("~/bundles/jquery").Include( + "~/Scripts/jquery-{version}.js")); + + // Use the development version of Modernizr to develop with and learn from. Then, when you're + // ready for production, use the build tool at https://modernizr.com to pick only the tests you need. + bundles.Add(new ScriptBundle("~/bundles/modernizr").Include( + "~/Scripts/modernizr-*")); + + bundles.Add(new ScriptBundle("~/bundles/bootstrap").Include( + "~/Scripts/bootstrap.js", + "~/Scripts/respond.js")); + + bundles.Add(new StyleBundle("~/Content/css").Include( + "~/Content/bootstrap.css", + "~/Content/site.css")); + } + } +} diff --git a/etc/vsd/VsdConverter/VsdConverter/App_Start/FilterConfig.cs b/etc/vsd/VsdConverter/VsdConverter/App_Start/FilterConfig.cs new file mode 100644 index 00000000..28edfa22 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/App_Start/FilterConfig.cs @@ -0,0 +1,13 @@ +using System.Web; +using System.Web.Mvc; + +namespace VsdConverter +{ + public class FilterConfig + { + public static void RegisterGlobalFilters(GlobalFilterCollection filters) + { + filters.Add(new HandleErrorAttribute()); + } + } +} diff --git a/etc/vsd/VsdConverter/VsdConverter/App_Start/RouteConfig.cs b/etc/vsd/VsdConverter/VsdConverter/App_Start/RouteConfig.cs new file mode 100644 index 00000000..23513252 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/App_Start/RouteConfig.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; +using System.Web.Routing; + +namespace VsdConverter +{ + public class RouteConfig + { + public static void RegisterRoutes(RouteCollection routes) + { + routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); + + routes.MapRoute( + name: "Default", + url: "{controller}/{action}/{id}", + defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } + ); + } + } +} diff --git a/etc/vsd/VsdConverter/VsdConverter/App_Start/WebApiConfig.cs b/etc/vsd/VsdConverter/VsdConverter/App_Start/WebApiConfig.cs new file mode 100644 index 00000000..9b1d12f6 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/App_Start/WebApiConfig.cs @@ -0,0 +1,24 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web.Http; + +namespace VsdConverter +{ + public static class WebApiConfig + { + public static void Register(HttpConfiguration config) + { + // Web API configuration and services + + // Web API routes + config.MapHttpAttributeRoutes(); + + config.Routes.MapHttpRoute( + name: "DefaultApi", + routeTemplate: "api/{controller}/{id}", + defaults: new { id = RouteParameter.Optional } + ); + } + } +} diff --git a/etc/vsd/VsdConverter/VsdConverter/ApplicationInsights.config b/etc/vsd/VsdConverter/VsdConverter/ApplicationInsights.config new file mode 100644 index 00000000..2e0a49ad --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/ApplicationInsights.config @@ -0,0 +1,79 @@ + + + + + + + + + + + search|spider|crawl|Bot|Monitor|AlwaysOn + + + + + + + + + + + + + + + + + + + + + + System.Web.Handlers.TransferRequestHandler + Microsoft.VisualStudio.Web.PageInspector.Runtime.Tracing.RequestDataHttpHandler + System.Web.StaticFileHandler + System.Web.Handlers.AssemblyResourceLoader + System.Web.Optimization.BundleHandler + System.Web.Script.Services.ScriptHandlerFactory + System.Web.Handlers.TraceHandler + System.Web.Services.Discovery.DiscoveryRequestHandler + System.Web.HttpDebugHandler + + + + + + + + 5 + + + + \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ApiDescriptionExtensions.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ApiDescriptionExtensions.cs new file mode 100644 index 00000000..8f3ea950 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ApiDescriptionExtensions.cs @@ -0,0 +1,39 @@ +using System; +using System.Text; +using System.Web; +using System.Web.Http.Description; + +namespace VsdConverter.Areas.HelpPage +{ + public static class ApiDescriptionExtensions + { + /// + /// Generates an URI-friendly ID for the . E.g. "Get-Values-id_name" instead of "GetValues/{id}?name={name}" + /// + /// The . + /// The ID as a string. + public static string GetFriendlyId(this ApiDescription description) + { + string path = description.RelativePath; + string[] urlParts = path.Split('?'); + string localPath = urlParts[0]; + string queryKeyString = null; + if (urlParts.Length > 1) + { + string query = urlParts[1]; + string[] queryKeys = HttpUtility.ParseQueryString(query).AllKeys; + queryKeyString = String.Join("_", queryKeys); + } + + StringBuilder friendlyPath = new StringBuilder(); + friendlyPath.AppendFormat("{0}-{1}", + description.HttpMethod.Method, + localPath.Replace("/", "-").Replace("{", String.Empty).Replace("}", String.Empty)); + if (queryKeyString != null) + { + friendlyPath.AppendFormat("_{0}", queryKeyString.Replace('.', '-')); + } + return friendlyPath.ToString(); + } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/App_Start/HelpPageConfig.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/App_Start/HelpPageConfig.cs new file mode 100644 index 00000000..82203a16 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/App_Start/HelpPageConfig.cs @@ -0,0 +1,113 @@ +// Uncomment the following to provide samples for PageResult. Must also add the Microsoft.AspNet.WebApi.OData +// package to your project. +////#define Handle_PageResultOfT + +using System; +using System.Collections; +using System.Collections.Generic; +using System.Diagnostics; +using System.Diagnostics.CodeAnalysis; +using System.Linq; +using System.Net.Http.Headers; +using System.Reflection; +using System.Web; +using System.Web.Http; +#if Handle_PageResultOfT +using System.Web.Http.OData; +#endif + +namespace VsdConverter.Areas.HelpPage +{ + /// + /// Use this class to customize the Help Page. + /// For example you can set a custom to supply the documentation + /// or you can provide the samples for the requests/responses. + /// + public static class HelpPageConfig + { + [SuppressMessage("Microsoft.Globalization", "CA1303:Do not pass literals as localized parameters", + MessageId = "VsdConverter.Areas.HelpPage.TextSample.#ctor(System.String)", + Justification = "End users may choose to merge this string with existing localized resources.")] + [SuppressMessage("Microsoft.Naming", "CA2204:Literals should be spelled correctly", + MessageId = "bsonspec", + Justification = "Part of a URI.")] + public static void Register(HttpConfiguration config) + { + //// Uncomment the following to use the documentation from XML documentation file. + //config.SetDocumentationProvider(new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/XmlDocument.xml"))); + + //// Uncomment the following to use "sample string" as the sample for all actions that have string as the body parameter or return type. + //// Also, the string arrays will be used for IEnumerable. The sample objects will be serialized into different media type + //// formats by the available formatters. + //config.SetSampleObjects(new Dictionary + //{ + // {typeof(string), "sample string"}, + // {typeof(IEnumerable), new string[]{"sample 1", "sample 2"}} + //}); + + // Extend the following to provide factories for types not handled automatically (those lacking parameterless + // constructors) or for which you prefer to use non-default property values. Line below provides a fallback + // since automatic handling will fail and GeneratePageResult handles only a single type. +#if Handle_PageResultOfT + config.GetHelpPageSampleGenerator().SampleObjectFactories.Add(GeneratePageResult); +#endif + + // Extend the following to use a preset object directly as the sample for all actions that support a media + // type, regardless of the body parameter or return type. The lines below avoid display of binary content. + // The BsonMediaTypeFormatter (if available) is not used to serialize the TextSample object. + config.SetSampleForMediaType( + new TextSample("Binary JSON content. See http://bsonspec.org for details."), + new MediaTypeHeaderValue("application/bson")); + + //// Uncomment the following to use "[0]=foo&[1]=bar" directly as the sample for all actions that support form URL encoded format + //// and have IEnumerable as the body parameter or return type. + //config.SetSampleForType("[0]=foo&[1]=bar", new MediaTypeHeaderValue("application/x-www-form-urlencoded"), typeof(IEnumerable)); + + //// Uncomment the following to use "1234" directly as the request sample for media type "text/plain" on the controller named "Values" + //// and action named "Put". + //config.SetSampleRequest("1234", new MediaTypeHeaderValue("text/plain"), "Values", "Put"); + + //// Uncomment the following to use the image on "../images/aspNetHome.png" directly as the response sample for media type "image/png" + //// on the controller named "Values" and action named "Get" with parameter "id". + //config.SetSampleResponse(new ImageSample("../images/aspNetHome.png"), new MediaTypeHeaderValue("image/png"), "Values", "Get", "id"); + + //// Uncomment the following to correct the sample request when the action expects an HttpRequestMessage with ObjectContent. + //// The sample will be generated as if the controller named "Values" and action named "Get" were having string as the body parameter. + //config.SetActualRequestType(typeof(string), "Values", "Get"); + + //// Uncomment the following to correct the sample response when the action returns an HttpResponseMessage with ObjectContent. + //// The sample will be generated as if the controller named "Values" and action named "Post" were returning a string. + //config.SetActualResponseType(typeof(string), "Values", "Post"); + } + +#if Handle_PageResultOfT + private static object GeneratePageResult(HelpPageSampleGenerator sampleGenerator, Type type) + { + if (type.IsGenericType) + { + Type openGenericType = type.GetGenericTypeDefinition(); + if (openGenericType == typeof(PageResult<>)) + { + // Get the T in PageResult + Type[] typeParameters = type.GetGenericArguments(); + Debug.Assert(typeParameters.Length == 1); + + // Create an enumeration to pass as the first parameter to the PageResult constuctor + Type itemsType = typeof(List<>).MakeGenericType(typeParameters); + object items = sampleGenerator.GetSampleObject(itemsType); + + // Fill in the other information needed to invoke the PageResult constuctor + Type[] parameterTypes = new Type[] { itemsType, typeof(Uri), typeof(long?), }; + object[] parameters = new object[] { items, null, (long)ObjectGenerator.DefaultCollectionSize, }; + + // Call PageResult(IEnumerable items, Uri nextPageLink, long? count) constructor + ConstructorInfo constructor = type.GetConstructor(parameterTypes); + return constructor.Invoke(parameters); + } + } + + return null; + } +#endif + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Controllers/HelpController.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Controllers/HelpController.cs new file mode 100644 index 00000000..5a50e863 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Controllers/HelpController.cs @@ -0,0 +1,63 @@ +using System; +using System.Web.Http; +using System.Web.Mvc; +using VsdConverter.Areas.HelpPage.ModelDescriptions; +using VsdConverter.Areas.HelpPage.Models; + +namespace VsdConverter.Areas.HelpPage.Controllers +{ + /// + /// The controller that will handle requests for the help page. + /// + public class HelpController : Controller + { + private const string ErrorViewName = "Error"; + + public HelpController() + : this(GlobalConfiguration.Configuration) + { + } + + public HelpController(HttpConfiguration config) + { + Configuration = config; + } + + public HttpConfiguration Configuration { get; private set; } + + public ActionResult Index() + { + ViewBag.DocumentationProvider = Configuration.Services.GetDocumentationProvider(); + return View(Configuration.Services.GetApiExplorer().ApiDescriptions); + } + + public ActionResult Api(string apiId) + { + if (!String.IsNullOrEmpty(apiId)) + { + HelpPageApiModel apiModel = Configuration.GetHelpPageApiModel(apiId); + if (apiModel != null) + { + return View(apiModel); + } + } + + return View(ErrorViewName); + } + + public ActionResult ResourceModel(string modelName) + { + if (!String.IsNullOrEmpty(modelName)) + { + ModelDescriptionGenerator modelDescriptionGenerator = Configuration.GetModelDescriptionGenerator(); + ModelDescription modelDescription; + if (modelDescriptionGenerator.GeneratedModels.TryGetValue(modelName, out modelDescription)) + { + return View(modelDescription); + } + } + + return View(ErrorViewName); + } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/HelpPage.css b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/HelpPage.css new file mode 100644 index 00000000..aff22303 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/HelpPage.css @@ -0,0 +1,134 @@ +.help-page h1, +.help-page .h1, +.help-page h2, +.help-page .h2, +.help-page h3, +.help-page .h3, +#body.help-page, +.help-page-table th, +.help-page-table pre, +.help-page-table p { + font-family: "Segoe UI Light", Frutiger, "Frutiger Linotype", "Dejavu Sans", "Helvetica Neue", Arial, sans-serif; +} + +.help-page pre.wrapped { + white-space: -moz-pre-wrap; + white-space: -pre-wrap; + white-space: -o-pre-wrap; + white-space: pre-wrap; +} + +.help-page .warning-message-container { + margin-top: 20px; + padding: 0 10px; + color: #525252; + background: #EFDCA9; + border: 1px solid #CCCCCC; +} + +.help-page-table { + width: 100%; + border-collapse: collapse; + text-align: left; + margin: 0px 0px 20px 0px; + border-top: 1px solid #D4D4D4; +} + +.help-page-table th { + text-align: left; + font-weight: bold; + border-bottom: 1px solid #D4D4D4; + padding: 5px 6px 5px 6px; +} + +.help-page-table td { + border-bottom: 1px solid #D4D4D4; + padding: 10px 8px 10px 8px; + vertical-align: top; +} + +.help-page-table pre, +.help-page-table p { + margin: 0px; + padding: 0px; + font-family: inherit; + font-size: 100%; +} + +.help-page-table tbody tr:hover td { + background-color: #F3F3F3; +} + +.help-page a:hover { + background-color: transparent; +} + +.help-page .sample-header { + border: 2px solid #D4D4D4; + background: #00497E; + color: #FFFFFF; + padding: 8px 15px; + border-bottom: none; + display: inline-block; + margin: 10px 0px 0px 0px; +} + +.help-page .sample-content { + display: block; + border-width: 0; + padding: 15px 20px; + background: #FFFFFF; + border: 2px solid #D4D4D4; + margin: 0px 0px 10px 0px; +} + +.help-page .api-name { + width: 40%; +} + +.help-page .api-documentation { + width: 60%; +} + +.help-page .parameter-name { + width: 20%; +} + +.help-page .parameter-documentation { + width: 40%; +} + +.help-page .parameter-type { + width: 20%; +} + +.help-page .parameter-annotations { + width: 20%; +} + +.help-page h1, +.help-page .h1 { + font-size: 36px; + line-height: normal; +} + +.help-page h2, +.help-page .h2 { + font-size: 24px; +} + +.help-page h3, +.help-page .h3 { + font-size: 20px; +} + +#body.help-page { + font-size: 14px; + line-height: 143%; + color: #333; +} + +.help-page a { + color: #0000EE; + text-decoration: none; +} diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/HelpPageAreaRegistration.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/HelpPageAreaRegistration.cs new file mode 100644 index 00000000..cb1caa01 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/HelpPageAreaRegistration.cs @@ -0,0 +1,26 @@ +using System.Web.Http; +using System.Web.Mvc; + +namespace VsdConverter.Areas.HelpPage +{ + public class HelpPageAreaRegistration : AreaRegistration + { + public override string AreaName + { + get + { + return "HelpPage"; + } + } + + public override void RegisterArea(AreaRegistrationContext context) + { + context.MapRoute( + "HelpPage_Default", + "Help/{action}/{apiId}", + new { controller = "Help", action = "Index", apiId = UrlParameter.Optional }); + + HelpPageConfig.Register(GlobalConfiguration.Configuration); + } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/HelpPageConfigurationExtensions.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/HelpPageConfigurationExtensions.cs new file mode 100644 index 00000000..b5dc60df --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/HelpPageConfigurationExtensions.cs @@ -0,0 +1,467 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Diagnostics; +using System.Diagnostics.CodeAnalysis; +using System.Globalization; +using System.Linq; +using System.Net.Http; +using System.Net.Http.Headers; +using System.Web.Http; +using System.Web.Http.Controllers; +using System.Web.Http.Description; +using VsdConverter.Areas.HelpPage.ModelDescriptions; +using VsdConverter.Areas.HelpPage.Models; + +namespace VsdConverter.Areas.HelpPage +{ + public static class HelpPageConfigurationExtensions + { + private const string ApiModelPrefix = "MS_HelpPageApiModel_"; + + /// + /// Sets the documentation provider for help page. + /// + /// The . + /// The documentation provider. + public static void SetDocumentationProvider(this HttpConfiguration config, IDocumentationProvider documentationProvider) + { + config.Services.Replace(typeof(IDocumentationProvider), documentationProvider); + } + + /// + /// Sets the objects that will be used by the formatters to produce sample requests/responses. + /// + /// The . + /// The sample objects. + public static void SetSampleObjects(this HttpConfiguration config, IDictionary sampleObjects) + { + config.GetHelpPageSampleGenerator().SampleObjects = sampleObjects; + } + + /// + /// Sets the sample request directly for the specified media type and action. + /// + /// The . + /// The sample request. + /// The media type. + /// Name of the controller. + /// Name of the action. + public static void SetSampleRequest(this HttpConfiguration config, object sample, MediaTypeHeaderValue mediaType, string controllerName, string actionName) + { + config.GetHelpPageSampleGenerator().ActionSamples.Add(new HelpPageSampleKey(mediaType, SampleDirection.Request, controllerName, actionName, new[] { "*" }), sample); + } + + /// + /// Sets the sample request directly for the specified media type and action with parameters. + /// + /// The . + /// The sample request. + /// The media type. + /// Name of the controller. + /// Name of the action. + /// The parameter names. + public static void SetSampleRequest(this HttpConfiguration config, object sample, MediaTypeHeaderValue mediaType, string controllerName, string actionName, params string[] parameterNames) + { + config.GetHelpPageSampleGenerator().ActionSamples.Add(new HelpPageSampleKey(mediaType, SampleDirection.Request, controllerName, actionName, parameterNames), sample); + } + + /// + /// Sets the sample request directly for the specified media type of the action. + /// + /// The . + /// The sample response. + /// The media type. + /// Name of the controller. + /// Name of the action. + public static void SetSampleResponse(this HttpConfiguration config, object sample, MediaTypeHeaderValue mediaType, string controllerName, string actionName) + { + config.GetHelpPageSampleGenerator().ActionSamples.Add(new HelpPageSampleKey(mediaType, SampleDirection.Response, controllerName, actionName, new[] { "*" }), sample); + } + + /// + /// Sets the sample response directly for the specified media type of the action with specific parameters. + /// + /// The . + /// The sample response. + /// The media type. + /// Name of the controller. + /// Name of the action. + /// The parameter names. + public static void SetSampleResponse(this HttpConfiguration config, object sample, MediaTypeHeaderValue mediaType, string controllerName, string actionName, params string[] parameterNames) + { + config.GetHelpPageSampleGenerator().ActionSamples.Add(new HelpPageSampleKey(mediaType, SampleDirection.Response, controllerName, actionName, parameterNames), sample); + } + + /// + /// Sets the sample directly for all actions with the specified media type. + /// + /// The . + /// The sample. + /// The media type. + public static void SetSampleForMediaType(this HttpConfiguration config, object sample, MediaTypeHeaderValue mediaType) + { + config.GetHelpPageSampleGenerator().ActionSamples.Add(new HelpPageSampleKey(mediaType), sample); + } + + /// + /// Sets the sample directly for all actions with the specified type and media type. + /// + /// The . + /// The sample. + /// The media type. + /// The parameter type or return type of an action. + public static void SetSampleForType(this HttpConfiguration config, object sample, MediaTypeHeaderValue mediaType, Type type) + { + config.GetHelpPageSampleGenerator().ActionSamples.Add(new HelpPageSampleKey(mediaType, type), sample); + } + + /// + /// Specifies the actual type of passed to the in an action. + /// The help page will use this information to produce more accurate request samples. + /// + /// The . + /// The type. + /// Name of the controller. + /// Name of the action. + public static void SetActualRequestType(this HttpConfiguration config, Type type, string controllerName, string actionName) + { + config.GetHelpPageSampleGenerator().ActualHttpMessageTypes.Add(new HelpPageSampleKey(SampleDirection.Request, controllerName, actionName, new[] { "*" }), type); + } + + /// + /// Specifies the actual type of passed to the in an action. + /// The help page will use this information to produce more accurate request samples. + /// + /// The . + /// The type. + /// Name of the controller. + /// Name of the action. + /// The parameter names. + public static void SetActualRequestType(this HttpConfiguration config, Type type, string controllerName, string actionName, params string[] parameterNames) + { + config.GetHelpPageSampleGenerator().ActualHttpMessageTypes.Add(new HelpPageSampleKey(SampleDirection.Request, controllerName, actionName, parameterNames), type); + } + + /// + /// Specifies the actual type of returned as part of the in an action. + /// The help page will use this information to produce more accurate response samples. + /// + /// The . + /// The type. + /// Name of the controller. + /// Name of the action. + public static void SetActualResponseType(this HttpConfiguration config, Type type, string controllerName, string actionName) + { + config.GetHelpPageSampleGenerator().ActualHttpMessageTypes.Add(new HelpPageSampleKey(SampleDirection.Response, controllerName, actionName, new[] { "*" }), type); + } + + /// + /// Specifies the actual type of returned as part of the in an action. + /// The help page will use this information to produce more accurate response samples. + /// + /// The . + /// The type. + /// Name of the controller. + /// Name of the action. + /// The parameter names. + public static void SetActualResponseType(this HttpConfiguration config, Type type, string controllerName, string actionName, params string[] parameterNames) + { + config.GetHelpPageSampleGenerator().ActualHttpMessageTypes.Add(new HelpPageSampleKey(SampleDirection.Response, controllerName, actionName, parameterNames), type); + } + + /// + /// Gets the help page sample generator. + /// + /// The . + /// The help page sample generator. + public static HelpPageSampleGenerator GetHelpPageSampleGenerator(this HttpConfiguration config) + { + return (HelpPageSampleGenerator)config.Properties.GetOrAdd( + typeof(HelpPageSampleGenerator), + k => new HelpPageSampleGenerator()); + } + + /// + /// Sets the help page sample generator. + /// + /// The . + /// The help page sample generator. + public static void SetHelpPageSampleGenerator(this HttpConfiguration config, HelpPageSampleGenerator sampleGenerator) + { + config.Properties.AddOrUpdate( + typeof(HelpPageSampleGenerator), + k => sampleGenerator, + (k, o) => sampleGenerator); + } + + /// + /// Gets the model description generator. + /// + /// The configuration. + /// The + public static ModelDescriptionGenerator GetModelDescriptionGenerator(this HttpConfiguration config) + { + return (ModelDescriptionGenerator)config.Properties.GetOrAdd( + typeof(ModelDescriptionGenerator), + k => InitializeModelDescriptionGenerator(config)); + } + + /// + /// Gets the model that represents an API displayed on the help page. The model is initialized on the first call and cached for subsequent calls. + /// + /// The . + /// The ID. + /// + /// An + /// + public static HelpPageApiModel GetHelpPageApiModel(this HttpConfiguration config, string apiDescriptionId) + { + object model; + string modelId = ApiModelPrefix + apiDescriptionId; + if (!config.Properties.TryGetValue(modelId, out model)) + { + Collection apiDescriptions = config.Services.GetApiExplorer().ApiDescriptions; + ApiDescription apiDescription = apiDescriptions.FirstOrDefault(api => String.Equals(api.GetFriendlyId(), apiDescriptionId, StringComparison.OrdinalIgnoreCase)); + if (apiDescription != null) + { + model = GenerateApiModel(apiDescription, config); + config.Properties.TryAdd(modelId, model); + } + } + + return (HelpPageApiModel)model; + } + + private static HelpPageApiModel GenerateApiModel(ApiDescription apiDescription, HttpConfiguration config) + { + HelpPageApiModel apiModel = new HelpPageApiModel() + { + ApiDescription = apiDescription, + }; + + ModelDescriptionGenerator modelGenerator = config.GetModelDescriptionGenerator(); + HelpPageSampleGenerator sampleGenerator = config.GetHelpPageSampleGenerator(); + GenerateUriParameters(apiModel, modelGenerator); + GenerateRequestModelDescription(apiModel, modelGenerator, sampleGenerator); + GenerateResourceDescription(apiModel, modelGenerator); + GenerateSamples(apiModel, sampleGenerator); + + return apiModel; + } + + private static void GenerateUriParameters(HelpPageApiModel apiModel, ModelDescriptionGenerator modelGenerator) + { + ApiDescription apiDescription = apiModel.ApiDescription; + foreach (ApiParameterDescription apiParameter in apiDescription.ParameterDescriptions) + { + if (apiParameter.Source == ApiParameterSource.FromUri) + { + HttpParameterDescriptor parameterDescriptor = apiParameter.ParameterDescriptor; + Type parameterType = null; + ModelDescription typeDescription = null; + ComplexTypeModelDescription complexTypeDescription = null; + if (parameterDescriptor != null) + { + parameterType = parameterDescriptor.ParameterType; + typeDescription = modelGenerator.GetOrCreateModelDescription(parameterType); + complexTypeDescription = typeDescription as ComplexTypeModelDescription; + } + + // Example: + // [TypeConverter(typeof(PointConverter))] + // public class Point + // { + // public Point(int x, int y) + // { + // X = x; + // Y = y; + // } + // public int X { get; set; } + // public int Y { get; set; } + // } + // Class Point is bindable with a TypeConverter, so Point will be added to UriParameters collection. + // + // public class Point + // { + // public int X { get; set; } + // public int Y { get; set; } + // } + // Regular complex class Point will have properties X and Y added to UriParameters collection. + if (complexTypeDescription != null + && !IsBindableWithTypeConverter(parameterType)) + { + foreach (ParameterDescription uriParameter in complexTypeDescription.Properties) + { + apiModel.UriParameters.Add(uriParameter); + } + } + else if (parameterDescriptor != null) + { + ParameterDescription uriParameter = + AddParameterDescription(apiModel, apiParameter, typeDescription); + + if (!parameterDescriptor.IsOptional) + { + uriParameter.Annotations.Add(new ParameterAnnotation() { Documentation = "Required" }); + } + + object defaultValue = parameterDescriptor.DefaultValue; + if (defaultValue != null) + { + uriParameter.Annotations.Add(new ParameterAnnotation() { Documentation = "Default value is " + Convert.ToString(defaultValue, CultureInfo.InvariantCulture) }); + } + } + else + { + Debug.Assert(parameterDescriptor == null); + + // If parameterDescriptor is null, this is an undeclared route parameter which only occurs + // when source is FromUri. Ignored in request model and among resource parameters but listed + // as a simple string here. + ModelDescription modelDescription = modelGenerator.GetOrCreateModelDescription(typeof(string)); + AddParameterDescription(apiModel, apiParameter, modelDescription); + } + } + } + } + + private static bool IsBindableWithTypeConverter(Type parameterType) + { + if (parameterType == null) + { + return false; + } + + return TypeDescriptor.GetConverter(parameterType).CanConvertFrom(typeof(string)); + } + + private static ParameterDescription AddParameterDescription(HelpPageApiModel apiModel, + ApiParameterDescription apiParameter, ModelDescription typeDescription) + { + ParameterDescription parameterDescription = new ParameterDescription + { + Name = apiParameter.Name, + Documentation = apiParameter.Documentation, + TypeDescription = typeDescription, + }; + + apiModel.UriParameters.Add(parameterDescription); + return parameterDescription; + } + + private static void GenerateRequestModelDescription(HelpPageApiModel apiModel, ModelDescriptionGenerator modelGenerator, HelpPageSampleGenerator sampleGenerator) + { + ApiDescription apiDescription = apiModel.ApiDescription; + foreach (ApiParameterDescription apiParameter in apiDescription.ParameterDescriptions) + { + if (apiParameter.Source == ApiParameterSource.FromBody) + { + Type parameterType = apiParameter.ParameterDescriptor.ParameterType; + apiModel.RequestModelDescription = modelGenerator.GetOrCreateModelDescription(parameterType); + apiModel.RequestDocumentation = apiParameter.Documentation; + } + else if (apiParameter.ParameterDescriptor != null && + apiParameter.ParameterDescriptor.ParameterType == typeof(HttpRequestMessage)) + { + Type parameterType = sampleGenerator.ResolveHttpRequestMessageType(apiDescription); + + if (parameterType != null) + { + apiModel.RequestModelDescription = modelGenerator.GetOrCreateModelDescription(parameterType); + } + } + } + } + + private static void GenerateResourceDescription(HelpPageApiModel apiModel, ModelDescriptionGenerator modelGenerator) + { + ResponseDescription response = apiModel.ApiDescription.ResponseDescription; + Type responseType = response.ResponseType ?? response.DeclaredType; + if (responseType != null && responseType != typeof(void)) + { + apiModel.ResourceDescription = modelGenerator.GetOrCreateModelDescription(responseType); + } + } + + [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", Justification = "The exception is recorded as ErrorMessages.")] + private static void GenerateSamples(HelpPageApiModel apiModel, HelpPageSampleGenerator sampleGenerator) + { + try + { + foreach (var item in sampleGenerator.GetSampleRequests(apiModel.ApiDescription)) + { + apiModel.SampleRequests.Add(item.Key, item.Value); + LogInvalidSampleAsError(apiModel, item.Value); + } + + foreach (var item in sampleGenerator.GetSampleResponses(apiModel.ApiDescription)) + { + apiModel.SampleResponses.Add(item.Key, item.Value); + LogInvalidSampleAsError(apiModel, item.Value); + } + } + catch (Exception e) + { + apiModel.ErrorMessages.Add(String.Format(CultureInfo.CurrentCulture, + "An exception has occurred while generating the sample. Exception message: {0}", + HelpPageSampleGenerator.UnwrapException(e).Message)); + } + } + + private static bool TryGetResourceParameter(ApiDescription apiDescription, HttpConfiguration config, out ApiParameterDescription parameterDescription, out Type resourceType) + { + parameterDescription = apiDescription.ParameterDescriptions.FirstOrDefault( + p => p.Source == ApiParameterSource.FromBody || + (p.ParameterDescriptor != null && p.ParameterDescriptor.ParameterType == typeof(HttpRequestMessage))); + + if (parameterDescription == null) + { + resourceType = null; + return false; + } + + resourceType = parameterDescription.ParameterDescriptor.ParameterType; + + if (resourceType == typeof(HttpRequestMessage)) + { + HelpPageSampleGenerator sampleGenerator = config.GetHelpPageSampleGenerator(); + resourceType = sampleGenerator.ResolveHttpRequestMessageType(apiDescription); + } + + if (resourceType == null) + { + parameterDescription = null; + return false; + } + + return true; + } + + private static ModelDescriptionGenerator InitializeModelDescriptionGenerator(HttpConfiguration config) + { + ModelDescriptionGenerator modelGenerator = new ModelDescriptionGenerator(config); + Collection apis = config.Services.GetApiExplorer().ApiDescriptions; + foreach (ApiDescription api in apis) + { + ApiParameterDescription parameterDescription; + Type parameterType; + if (TryGetResourceParameter(api, config, out parameterDescription, out parameterType)) + { + modelGenerator.GetOrCreateModelDescription(parameterType); + } + } + return modelGenerator; + } + + private static void LogInvalidSampleAsError(HelpPageApiModel apiModel, object sample) + { + InvalidSample invalidSample = sample as InvalidSample; + if (invalidSample != null) + { + apiModel.ErrorMessages.Add(invalidSample.ErrorMessage); + } + } + } +} diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/CollectionModelDescription.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/CollectionModelDescription.cs new file mode 100644 index 00000000..ce7cf2b6 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/CollectionModelDescription.cs @@ -0,0 +1,7 @@ +namespace VsdConverter.Areas.HelpPage.ModelDescriptions +{ + public class CollectionModelDescription : ModelDescription + { + public ModelDescription ElementDescription { get; set; } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ComplexTypeModelDescription.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ComplexTypeModelDescription.cs new file mode 100644 index 00000000..5f8b9dcc --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ComplexTypeModelDescription.cs @@ -0,0 +1,14 @@ +using System.Collections.ObjectModel; + +namespace VsdConverter.Areas.HelpPage.ModelDescriptions +{ + public class ComplexTypeModelDescription : ModelDescription + { + public ComplexTypeModelDescription() + { + Properties = new Collection(); + } + + public Collection Properties { get; private set; } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/DictionaryModelDescription.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/DictionaryModelDescription.cs new file mode 100644 index 00000000..138c7035 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/DictionaryModelDescription.cs @@ -0,0 +1,6 @@ +namespace VsdConverter.Areas.HelpPage.ModelDescriptions +{ + public class DictionaryModelDescription : KeyValuePairModelDescription + { + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/EnumTypeModelDescription.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/EnumTypeModelDescription.cs new file mode 100644 index 00000000..f7290389 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/EnumTypeModelDescription.cs @@ -0,0 +1,15 @@ +using System.Collections.Generic; +using System.Collections.ObjectModel; + +namespace VsdConverter.Areas.HelpPage.ModelDescriptions +{ + public class EnumTypeModelDescription : ModelDescription + { + public EnumTypeModelDescription() + { + Values = new Collection(); + } + + public Collection Values { get; private set; } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/EnumValueDescription.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/EnumValueDescription.cs new file mode 100644 index 00000000..5e8c7b8d --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/EnumValueDescription.cs @@ -0,0 +1,11 @@ +namespace VsdConverter.Areas.HelpPage.ModelDescriptions +{ + public class EnumValueDescription + { + public string Documentation { get; set; } + + public string Name { get; set; } + + public string Value { get; set; } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/IModelDocumentationProvider.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/IModelDocumentationProvider.cs new file mode 100644 index 00000000..2d26d453 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/IModelDocumentationProvider.cs @@ -0,0 +1,12 @@ +using System; +using System.Reflection; + +namespace VsdConverter.Areas.HelpPage.ModelDescriptions +{ + public interface IModelDocumentationProvider + { + string GetDocumentation(MemberInfo member); + + string GetDocumentation(Type type); + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/KeyValuePairModelDescription.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/KeyValuePairModelDescription.cs new file mode 100644 index 00000000..3f1dbd4d --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/KeyValuePairModelDescription.cs @@ -0,0 +1,9 @@ +namespace VsdConverter.Areas.HelpPage.ModelDescriptions +{ + public class KeyValuePairModelDescription : ModelDescription + { + public ModelDescription KeyModelDescription { get; set; } + + public ModelDescription ValueModelDescription { get; set; } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ModelDescription.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ModelDescription.cs new file mode 100644 index 00000000..1b944b25 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ModelDescription.cs @@ -0,0 +1,16 @@ +using System; + +namespace VsdConverter.Areas.HelpPage.ModelDescriptions +{ + /// + /// Describes a type model. + /// + public abstract class ModelDescription + { + public string Documentation { get; set; } + + public Type ModelType { get; set; } + + public string Name { get; set; } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ModelDescriptionGenerator.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ModelDescriptionGenerator.cs new file mode 100644 index 00000000..06aa9e57 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ModelDescriptionGenerator.cs @@ -0,0 +1,451 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.ComponentModel.DataAnnotations; +using System.Globalization; +using System.Reflection; +using System.Runtime.Serialization; +using System.Web.Http; +using System.Web.Http.Description; +using System.Xml.Serialization; +using Newtonsoft.Json; + +namespace VsdConverter.Areas.HelpPage.ModelDescriptions +{ + /// + /// Generates model descriptions for given types. + /// + public class ModelDescriptionGenerator + { + // Modify this to support more data annotation attributes. + private readonly IDictionary> AnnotationTextGenerator = new Dictionary> + { + { typeof(RequiredAttribute), a => "Required" }, + { typeof(RangeAttribute), a => + { + RangeAttribute range = (RangeAttribute)a; + return String.Format(CultureInfo.CurrentCulture, "Range: inclusive between {0} and {1}", range.Minimum, range.Maximum); + } + }, + { typeof(MaxLengthAttribute), a => + { + MaxLengthAttribute maxLength = (MaxLengthAttribute)a; + return String.Format(CultureInfo.CurrentCulture, "Max length: {0}", maxLength.Length); + } + }, + { typeof(MinLengthAttribute), a => + { + MinLengthAttribute minLength = (MinLengthAttribute)a; + return String.Format(CultureInfo.CurrentCulture, "Min length: {0}", minLength.Length); + } + }, + { typeof(StringLengthAttribute), a => + { + StringLengthAttribute strLength = (StringLengthAttribute)a; + return String.Format(CultureInfo.CurrentCulture, "String length: inclusive between {0} and {1}", strLength.MinimumLength, strLength.MaximumLength); + } + }, + { typeof(DataTypeAttribute), a => + { + DataTypeAttribute dataType = (DataTypeAttribute)a; + return String.Format(CultureInfo.CurrentCulture, "Data type: {0}", dataType.CustomDataType ?? dataType.DataType.ToString()); + } + }, + { typeof(RegularExpressionAttribute), a => + { + RegularExpressionAttribute regularExpression = (RegularExpressionAttribute)a; + return String.Format(CultureInfo.CurrentCulture, "Matching regular expression pattern: {0}", regularExpression.Pattern); + } + }, + }; + + // Modify this to add more default documentations. + private readonly IDictionary DefaultTypeDocumentation = new Dictionary + { + { typeof(Int16), "integer" }, + { typeof(Int32), "integer" }, + { typeof(Int64), "integer" }, + { typeof(UInt16), "unsigned integer" }, + { typeof(UInt32), "unsigned integer" }, + { typeof(UInt64), "unsigned integer" }, + { typeof(Byte), "byte" }, + { typeof(Char), "character" }, + { typeof(SByte), "signed byte" }, + { typeof(Uri), "URI" }, + { typeof(Single), "decimal number" }, + { typeof(Double), "decimal number" }, + { typeof(Decimal), "decimal number" }, + { typeof(String), "string" }, + { typeof(Guid), "globally unique identifier" }, + { typeof(TimeSpan), "time interval" }, + { typeof(DateTime), "date" }, + { typeof(DateTimeOffset), "date" }, + { typeof(Boolean), "boolean" }, + }; + + private Lazy _documentationProvider; + + public ModelDescriptionGenerator(HttpConfiguration config) + { + if (config == null) + { + throw new ArgumentNullException("config"); + } + + _documentationProvider = new Lazy(() => config.Services.GetDocumentationProvider() as IModelDocumentationProvider); + GeneratedModels = new Dictionary(StringComparer.OrdinalIgnoreCase); + } + + public Dictionary GeneratedModels { get; private set; } + + private IModelDocumentationProvider DocumentationProvider + { + get + { + return _documentationProvider.Value; + } + } + + public ModelDescription GetOrCreateModelDescription(Type modelType) + { + if (modelType == null) + { + throw new ArgumentNullException("modelType"); + } + + Type underlyingType = Nullable.GetUnderlyingType(modelType); + if (underlyingType != null) + { + modelType = underlyingType; + } + + ModelDescription modelDescription; + string modelName = ModelNameHelper.GetModelName(modelType); + if (GeneratedModels.TryGetValue(modelName, out modelDescription)) + { + if (modelType != modelDescription.ModelType) + { + throw new InvalidOperationException( + String.Format( + CultureInfo.CurrentCulture, + "A model description could not be created. Duplicate model name '{0}' was found for types '{1}' and '{2}'. " + + "Use the [ModelName] attribute to change the model name for at least one of the types so that it has a unique name.", + modelName, + modelDescription.ModelType.FullName, + modelType.FullName)); + } + + return modelDescription; + } + + if (DefaultTypeDocumentation.ContainsKey(modelType)) + { + return GenerateSimpleTypeModelDescription(modelType); + } + + if (modelType.IsEnum) + { + return GenerateEnumTypeModelDescription(modelType); + } + + if (modelType.IsGenericType) + { + Type[] genericArguments = modelType.GetGenericArguments(); + + if (genericArguments.Length == 1) + { + Type enumerableType = typeof(IEnumerable<>).MakeGenericType(genericArguments); + if (enumerableType.IsAssignableFrom(modelType)) + { + return GenerateCollectionModelDescription(modelType, genericArguments[0]); + } + } + if (genericArguments.Length == 2) + { + Type dictionaryType = typeof(IDictionary<,>).MakeGenericType(genericArguments); + if (dictionaryType.IsAssignableFrom(modelType)) + { + return GenerateDictionaryModelDescription(modelType, genericArguments[0], genericArguments[1]); + } + + Type keyValuePairType = typeof(KeyValuePair<,>).MakeGenericType(genericArguments); + if (keyValuePairType.IsAssignableFrom(modelType)) + { + return GenerateKeyValuePairModelDescription(modelType, genericArguments[0], genericArguments[1]); + } + } + } + + if (modelType.IsArray) + { + Type elementType = modelType.GetElementType(); + return GenerateCollectionModelDescription(modelType, elementType); + } + + if (modelType == typeof(NameValueCollection)) + { + return GenerateDictionaryModelDescription(modelType, typeof(string), typeof(string)); + } + + if (typeof(IDictionary).IsAssignableFrom(modelType)) + { + return GenerateDictionaryModelDescription(modelType, typeof(object), typeof(object)); + } + + if (typeof(IEnumerable).IsAssignableFrom(modelType)) + { + return GenerateCollectionModelDescription(modelType, typeof(object)); + } + + return GenerateComplexTypeModelDescription(modelType); + } + + // Change this to provide different name for the member. + private static string GetMemberName(MemberInfo member, bool hasDataContractAttribute) + { + JsonPropertyAttribute jsonProperty = member.GetCustomAttribute(); + if (jsonProperty != null && !String.IsNullOrEmpty(jsonProperty.PropertyName)) + { + return jsonProperty.PropertyName; + } + + if (hasDataContractAttribute) + { + DataMemberAttribute dataMember = member.GetCustomAttribute(); + if (dataMember != null && !String.IsNullOrEmpty(dataMember.Name)) + { + return dataMember.Name; + } + } + + return member.Name; + } + + private static bool ShouldDisplayMember(MemberInfo member, bool hasDataContractAttribute) + { + JsonIgnoreAttribute jsonIgnore = member.GetCustomAttribute(); + XmlIgnoreAttribute xmlIgnore = member.GetCustomAttribute(); + IgnoreDataMemberAttribute ignoreDataMember = member.GetCustomAttribute(); + NonSerializedAttribute nonSerialized = member.GetCustomAttribute(); + ApiExplorerSettingsAttribute apiExplorerSetting = member.GetCustomAttribute(); + + bool hasMemberAttribute = member.DeclaringType.IsEnum ? + member.GetCustomAttribute() != null : + member.GetCustomAttribute() != null; + + // Display member only if all the followings are true: + // no JsonIgnoreAttribute + // no XmlIgnoreAttribute + // no IgnoreDataMemberAttribute + // no NonSerializedAttribute + // no ApiExplorerSettingsAttribute with IgnoreApi set to true + // no DataContractAttribute without DataMemberAttribute or EnumMemberAttribute + return jsonIgnore == null && + xmlIgnore == null && + ignoreDataMember == null && + nonSerialized == null && + (apiExplorerSetting == null || !apiExplorerSetting.IgnoreApi) && + (!hasDataContractAttribute || hasMemberAttribute); + } + + private string CreateDefaultDocumentation(Type type) + { + string documentation; + if (DefaultTypeDocumentation.TryGetValue(type, out documentation)) + { + return documentation; + } + if (DocumentationProvider != null) + { + documentation = DocumentationProvider.GetDocumentation(type); + } + + return documentation; + } + + private void GenerateAnnotations(MemberInfo property, ParameterDescription propertyModel) + { + List annotations = new List(); + + IEnumerable attributes = property.GetCustomAttributes(); + foreach (Attribute attribute in attributes) + { + Func textGenerator; + if (AnnotationTextGenerator.TryGetValue(attribute.GetType(), out textGenerator)) + { + annotations.Add( + new ParameterAnnotation + { + AnnotationAttribute = attribute, + Documentation = textGenerator(attribute) + }); + } + } + + // Rearrange the annotations + annotations.Sort((x, y) => + { + // Special-case RequiredAttribute so that it shows up on top + if (x.AnnotationAttribute is RequiredAttribute) + { + return -1; + } + if (y.AnnotationAttribute is RequiredAttribute) + { + return 1; + } + + // Sort the rest based on alphabetic order of the documentation + return String.Compare(x.Documentation, y.Documentation, StringComparison.OrdinalIgnoreCase); + }); + + foreach (ParameterAnnotation annotation in annotations) + { + propertyModel.Annotations.Add(annotation); + } + } + + private CollectionModelDescription GenerateCollectionModelDescription(Type modelType, Type elementType) + { + ModelDescription collectionModelDescription = GetOrCreateModelDescription(elementType); + if (collectionModelDescription != null) + { + return new CollectionModelDescription + { + Name = ModelNameHelper.GetModelName(modelType), + ModelType = modelType, + ElementDescription = collectionModelDescription + }; + } + + return null; + } + + private ModelDescription GenerateComplexTypeModelDescription(Type modelType) + { + ComplexTypeModelDescription complexModelDescription = new ComplexTypeModelDescription + { + Name = ModelNameHelper.GetModelName(modelType), + ModelType = modelType, + Documentation = CreateDefaultDocumentation(modelType) + }; + + GeneratedModels.Add(complexModelDescription.Name, complexModelDescription); + bool hasDataContractAttribute = modelType.GetCustomAttribute() != null; + PropertyInfo[] properties = modelType.GetProperties(BindingFlags.Public | BindingFlags.Instance); + foreach (PropertyInfo property in properties) + { + if (ShouldDisplayMember(property, hasDataContractAttribute)) + { + ParameterDescription propertyModel = new ParameterDescription + { + Name = GetMemberName(property, hasDataContractAttribute) + }; + + if (DocumentationProvider != null) + { + propertyModel.Documentation = DocumentationProvider.GetDocumentation(property); + } + + GenerateAnnotations(property, propertyModel); + complexModelDescription.Properties.Add(propertyModel); + propertyModel.TypeDescription = GetOrCreateModelDescription(property.PropertyType); + } + } + + FieldInfo[] fields = modelType.GetFields(BindingFlags.Public | BindingFlags.Instance); + foreach (FieldInfo field in fields) + { + if (ShouldDisplayMember(field, hasDataContractAttribute)) + { + ParameterDescription propertyModel = new ParameterDescription + { + Name = GetMemberName(field, hasDataContractAttribute) + }; + + if (DocumentationProvider != null) + { + propertyModel.Documentation = DocumentationProvider.GetDocumentation(field); + } + + complexModelDescription.Properties.Add(propertyModel); + propertyModel.TypeDescription = GetOrCreateModelDescription(field.FieldType); + } + } + + return complexModelDescription; + } + + private DictionaryModelDescription GenerateDictionaryModelDescription(Type modelType, Type keyType, Type valueType) + { + ModelDescription keyModelDescription = GetOrCreateModelDescription(keyType); + ModelDescription valueModelDescription = GetOrCreateModelDescription(valueType); + + return new DictionaryModelDescription + { + Name = ModelNameHelper.GetModelName(modelType), + ModelType = modelType, + KeyModelDescription = keyModelDescription, + ValueModelDescription = valueModelDescription + }; + } + + private EnumTypeModelDescription GenerateEnumTypeModelDescription(Type modelType) + { + EnumTypeModelDescription enumDescription = new EnumTypeModelDescription + { + Name = ModelNameHelper.GetModelName(modelType), + ModelType = modelType, + Documentation = CreateDefaultDocumentation(modelType) + }; + bool hasDataContractAttribute = modelType.GetCustomAttribute() != null; + foreach (FieldInfo field in modelType.GetFields(BindingFlags.Public | BindingFlags.Static)) + { + if (ShouldDisplayMember(field, hasDataContractAttribute)) + { + EnumValueDescription enumValue = new EnumValueDescription + { + Name = field.Name, + Value = field.GetRawConstantValue().ToString() + }; + if (DocumentationProvider != null) + { + enumValue.Documentation = DocumentationProvider.GetDocumentation(field); + } + enumDescription.Values.Add(enumValue); + } + } + GeneratedModels.Add(enumDescription.Name, enumDescription); + + return enumDescription; + } + + private KeyValuePairModelDescription GenerateKeyValuePairModelDescription(Type modelType, Type keyType, Type valueType) + { + ModelDescription keyModelDescription = GetOrCreateModelDescription(keyType); + ModelDescription valueModelDescription = GetOrCreateModelDescription(valueType); + + return new KeyValuePairModelDescription + { + Name = ModelNameHelper.GetModelName(modelType), + ModelType = modelType, + KeyModelDescription = keyModelDescription, + ValueModelDescription = valueModelDescription + }; + } + + private ModelDescription GenerateSimpleTypeModelDescription(Type modelType) + { + SimpleTypeModelDescription simpleModelDescription = new SimpleTypeModelDescription + { + Name = ModelNameHelper.GetModelName(modelType), + ModelType = modelType, + Documentation = CreateDefaultDocumentation(modelType) + }; + GeneratedModels.Add(simpleModelDescription.Name, simpleModelDescription); + + return simpleModelDescription; + } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ModelNameAttribute.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ModelNameAttribute.cs new file mode 100644 index 00000000..e71342ea --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ModelNameAttribute.cs @@ -0,0 +1,18 @@ +using System; + +namespace VsdConverter.Areas.HelpPage.ModelDescriptions +{ + /// + /// Use this attribute to change the name of the generated for a type. + /// + [AttributeUsage(AttributeTargets.Class | AttributeTargets.Struct | AttributeTargets.Enum, AllowMultiple = false, Inherited = false)] + public sealed class ModelNameAttribute : Attribute + { + public ModelNameAttribute(string name) + { + Name = name; + } + + public string Name { get; private set; } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ModelNameHelper.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ModelNameHelper.cs new file mode 100644 index 00000000..fc11bc20 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ModelNameHelper.cs @@ -0,0 +1,36 @@ +using System; +using System.Globalization; +using System.Linq; +using System.Reflection; + +namespace VsdConverter.Areas.HelpPage.ModelDescriptions +{ + internal static class ModelNameHelper + { + // Modify this to provide custom model name mapping. + public static string GetModelName(Type type) + { + ModelNameAttribute modelNameAttribute = type.GetCustomAttribute(); + if (modelNameAttribute != null && !String.IsNullOrEmpty(modelNameAttribute.Name)) + { + return modelNameAttribute.Name; + } + + string modelName = type.Name; + if (type.IsGenericType) + { + // Format the generic type name to something like: GenericOfAgurment1AndArgument2 + Type genericType = type.GetGenericTypeDefinition(); + Type[] genericArguments = type.GetGenericArguments(); + string genericTypeName = genericType.Name; + + // Trim the generic parameter counts from the name + genericTypeName = genericTypeName.Substring(0, genericTypeName.IndexOf('`')); + string[] argumentTypeNames = genericArguments.Select(t => GetModelName(t)).ToArray(); + modelName = String.Format(CultureInfo.InvariantCulture, "{0}Of{1}", genericTypeName, String.Join("And", argumentTypeNames)); + } + + return modelName; + } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ParameterAnnotation.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ParameterAnnotation.cs new file mode 100644 index 00000000..7b68d486 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ParameterAnnotation.cs @@ -0,0 +1,11 @@ +using System; + +namespace VsdConverter.Areas.HelpPage.ModelDescriptions +{ + public class ParameterAnnotation + { + public Attribute AnnotationAttribute { get; set; } + + public string Documentation { get; set; } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ParameterDescription.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ParameterDescription.cs new file mode 100644 index 00000000..915fdb9c --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/ParameterDescription.cs @@ -0,0 +1,21 @@ +using System.Collections.Generic; +using System.Collections.ObjectModel; + +namespace VsdConverter.Areas.HelpPage.ModelDescriptions +{ + public class ParameterDescription + { + public ParameterDescription() + { + Annotations = new Collection(); + } + + public Collection Annotations { get; private set; } + + public string Documentation { get; set; } + + public string Name { get; set; } + + public ModelDescription TypeDescription { get; set; } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/SimpleTypeModelDescription.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/SimpleTypeModelDescription.cs new file mode 100644 index 00000000..860b99fb --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/ModelDescriptions/SimpleTypeModelDescription.cs @@ -0,0 +1,6 @@ +namespace VsdConverter.Areas.HelpPage.ModelDescriptions +{ + public class SimpleTypeModelDescription : ModelDescription + { + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Models/HelpPageApiModel.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Models/HelpPageApiModel.cs new file mode 100644 index 00000000..eb4b383a --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Models/HelpPageApiModel.cs @@ -0,0 +1,108 @@ +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Net.Http.Headers; +using System.Web.Http.Description; +using VsdConverter.Areas.HelpPage.ModelDescriptions; + +namespace VsdConverter.Areas.HelpPage.Models +{ + /// + /// The model that represents an API displayed on the help page. + /// + public class HelpPageApiModel + { + /// + /// Initializes a new instance of the class. + /// + public HelpPageApiModel() + { + UriParameters = new Collection(); + SampleRequests = new Dictionary(); + SampleResponses = new Dictionary(); + ErrorMessages = new Collection(); + } + + /// + /// Gets or sets the that describes the API. + /// + public ApiDescription ApiDescription { get; set; } + + /// + /// Gets or sets the collection that describes the URI parameters for the API. + /// + public Collection UriParameters { get; private set; } + + /// + /// Gets or sets the documentation for the request. + /// + public string RequestDocumentation { get; set; } + + /// + /// Gets or sets the that describes the request body. + /// + public ModelDescription RequestModelDescription { get; set; } + + /// + /// Gets the request body parameter descriptions. + /// + public IList RequestBodyParameters + { + get + { + return GetParameterDescriptions(RequestModelDescription); + } + } + + /// + /// Gets or sets the that describes the resource. + /// + public ModelDescription ResourceDescription { get; set; } + + /// + /// Gets the resource property descriptions. + /// + public IList ResourceProperties + { + get + { + return GetParameterDescriptions(ResourceDescription); + } + } + + /// + /// Gets the sample requests associated with the API. + /// + public IDictionary SampleRequests { get; private set; } + + /// + /// Gets the sample responses associated with the API. + /// + public IDictionary SampleResponses { get; private set; } + + /// + /// Gets the error messages associated with this model. + /// + public Collection ErrorMessages { get; private set; } + + private static IList GetParameterDescriptions(ModelDescription modelDescription) + { + ComplexTypeModelDescription complexTypeModelDescription = modelDescription as ComplexTypeModelDescription; + if (complexTypeModelDescription != null) + { + return complexTypeModelDescription.Properties; + } + + CollectionModelDescription collectionModelDescription = modelDescription as CollectionModelDescription; + if (collectionModelDescription != null) + { + complexTypeModelDescription = collectionModelDescription.ElementDescription as ComplexTypeModelDescription; + if (complexTypeModelDescription != null) + { + return complexTypeModelDescription.Properties; + } + } + + return null; + } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/HelpPageSampleGenerator.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/HelpPageSampleGenerator.cs new file mode 100644 index 00000000..beebd6ca --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/HelpPageSampleGenerator.cs @@ -0,0 +1,444 @@ +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.ComponentModel; +using System.Diagnostics.CodeAnalysis; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Net.Http; +using System.Net.Http.Formatting; +using System.Net.Http.Headers; +using System.Web.Http.Description; +using System.Xml.Linq; +using Newtonsoft.Json; + +namespace VsdConverter.Areas.HelpPage +{ + /// + /// This class will generate the samples for the help page. + /// + public class HelpPageSampleGenerator + { + /// + /// Initializes a new instance of the class. + /// + public HelpPageSampleGenerator() + { + ActualHttpMessageTypes = new Dictionary(); + ActionSamples = new Dictionary(); + SampleObjects = new Dictionary(); + SampleObjectFactories = new List> + { + DefaultSampleObjectFactory, + }; + } + + /// + /// Gets CLR types that are used as the content of or . + /// + public IDictionary ActualHttpMessageTypes { get; internal set; } + + /// + /// Gets the objects that are used directly as samples for certain actions. + /// + public IDictionary ActionSamples { get; internal set; } + + /// + /// Gets the objects that are serialized as samples by the supported formatters. + /// + public IDictionary SampleObjects { get; internal set; } + + /// + /// Gets factories for the objects that the supported formatters will serialize as samples. Processed in order, + /// stopping when the factory successfully returns a non- object. + /// + /// + /// Collection includes just initially. Use + /// SampleObjectFactories.Insert(0, func) to provide an override and + /// SampleObjectFactories.Add(func) to provide a fallback. + [SuppressMessage("Microsoft.Design", "CA1006:DoNotNestGenericTypesInMemberSignatures", + Justification = "This is an appropriate nesting of generic types")] + public IList> SampleObjectFactories { get; private set; } + + /// + /// Gets the request body samples for a given . + /// + /// The . + /// The samples keyed by media type. + public IDictionary GetSampleRequests(ApiDescription api) + { + return GetSample(api, SampleDirection.Request); + } + + /// + /// Gets the response body samples for a given . + /// + /// The . + /// The samples keyed by media type. + public IDictionary GetSampleResponses(ApiDescription api) + { + return GetSample(api, SampleDirection.Response); + } + + /// + /// Gets the request or response body samples. + /// + /// The . + /// The value indicating whether the sample is for a request or for a response. + /// The samples keyed by media type. + public virtual IDictionary GetSample(ApiDescription api, SampleDirection sampleDirection) + { + if (api == null) + { + throw new ArgumentNullException("api"); + } + string controllerName = api.ActionDescriptor.ControllerDescriptor.ControllerName; + string actionName = api.ActionDescriptor.ActionName; + IEnumerable parameterNames = api.ParameterDescriptions.Select(p => p.Name); + Collection formatters; + Type type = ResolveType(api, controllerName, actionName, parameterNames, sampleDirection, out formatters); + var samples = new Dictionary(); + + // Use the samples provided directly for actions + var actionSamples = GetAllActionSamples(controllerName, actionName, parameterNames, sampleDirection); + foreach (var actionSample in actionSamples) + { + samples.Add(actionSample.Key.MediaType, WrapSampleIfString(actionSample.Value)); + } + + // Do the sample generation based on formatters only if an action doesn't return an HttpResponseMessage. + // Here we cannot rely on formatters because we don't know what's in the HttpResponseMessage, it might not even use formatters. + if (type != null && !typeof(HttpResponseMessage).IsAssignableFrom(type)) + { + object sampleObject = GetSampleObject(type); + foreach (var formatter in formatters) + { + foreach (MediaTypeHeaderValue mediaType in formatter.SupportedMediaTypes) + { + if (!samples.ContainsKey(mediaType)) + { + object sample = GetActionSample(controllerName, actionName, parameterNames, type, formatter, mediaType, sampleDirection); + + // If no sample found, try generate sample using formatter and sample object + if (sample == null && sampleObject != null) + { + sample = WriteSampleObjectUsingFormatter(formatter, sampleObject, type, mediaType); + } + + samples.Add(mediaType, WrapSampleIfString(sample)); + } + } + } + } + + return samples; + } + + /// + /// Search for samples that are provided directly through . + /// + /// Name of the controller. + /// Name of the action. + /// The parameter names. + /// The CLR type. + /// The formatter. + /// The media type. + /// The value indicating whether the sample is for a request or for a response. + /// The sample that matches the parameters. + public virtual object GetActionSample(string controllerName, string actionName, IEnumerable parameterNames, Type type, MediaTypeFormatter formatter, MediaTypeHeaderValue mediaType, SampleDirection sampleDirection) + { + object sample; + + // First, try to get the sample provided for the specified mediaType, sampleDirection, controllerName, actionName and parameterNames. + // If not found, try to get the sample provided for the specified mediaType, sampleDirection, controllerName and actionName regardless of the parameterNames. + // If still not found, try to get the sample provided for the specified mediaType and type. + // Finally, try to get the sample provided for the specified mediaType. + if (ActionSamples.TryGetValue(new HelpPageSampleKey(mediaType, sampleDirection, controllerName, actionName, parameterNames), out sample) || + ActionSamples.TryGetValue(new HelpPageSampleKey(mediaType, sampleDirection, controllerName, actionName, new[] { "*" }), out sample) || + ActionSamples.TryGetValue(new HelpPageSampleKey(mediaType, type), out sample) || + ActionSamples.TryGetValue(new HelpPageSampleKey(mediaType), out sample)) + { + return sample; + } + + return null; + } + + /// + /// Gets the sample object that will be serialized by the formatters. + /// First, it will look at the . If no sample object is found, it will try to create + /// one using (which wraps an ) and other + /// factories in . + /// + /// The type. + /// The sample object. + [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", + Justification = "Even if all items in SampleObjectFactories throw, problem will be visible as missing sample.")] + public virtual object GetSampleObject(Type type) + { + object sampleObject; + + if (!SampleObjects.TryGetValue(type, out sampleObject)) + { + // No specific object available, try our factories. + foreach (Func factory in SampleObjectFactories) + { + if (factory == null) + { + continue; + } + + try + { + sampleObject = factory(this, type); + if (sampleObject != null) + { + break; + } + } + catch + { + // Ignore any problems encountered in the factory; go on to the next one (if any). + } + } + } + + return sampleObject; + } + + /// + /// Resolves the actual type of passed to the in an action. + /// + /// The . + /// The type. + public virtual Type ResolveHttpRequestMessageType(ApiDescription api) + { + string controllerName = api.ActionDescriptor.ControllerDescriptor.ControllerName; + string actionName = api.ActionDescriptor.ActionName; + IEnumerable parameterNames = api.ParameterDescriptions.Select(p => p.Name); + Collection formatters; + return ResolveType(api, controllerName, actionName, parameterNames, SampleDirection.Request, out formatters); + } + + /// + /// Resolves the type of the action parameter or return value when or is used. + /// + /// The . + /// Name of the controller. + /// Name of the action. + /// The parameter names. + /// The value indicating whether the sample is for a request or a response. + /// The formatters. + [SuppressMessage("Microsoft.Design", "CA1021:AvoidOutParameters", Justification = "This is only used in advanced scenarios.")] + public virtual Type ResolveType(ApiDescription api, string controllerName, string actionName, IEnumerable parameterNames, SampleDirection sampleDirection, out Collection formatters) + { + if (!Enum.IsDefined(typeof(SampleDirection), sampleDirection)) + { + throw new InvalidEnumArgumentException("sampleDirection", (int)sampleDirection, typeof(SampleDirection)); + } + if (api == null) + { + throw new ArgumentNullException("api"); + } + Type type; + if (ActualHttpMessageTypes.TryGetValue(new HelpPageSampleKey(sampleDirection, controllerName, actionName, parameterNames), out type) || + ActualHttpMessageTypes.TryGetValue(new HelpPageSampleKey(sampleDirection, controllerName, actionName, new[] { "*" }), out type)) + { + // Re-compute the supported formatters based on type + Collection newFormatters = new Collection(); + foreach (var formatter in api.ActionDescriptor.Configuration.Formatters) + { + if (IsFormatSupported(sampleDirection, formatter, type)) + { + newFormatters.Add(formatter); + } + } + formatters = newFormatters; + } + else + { + switch (sampleDirection) + { + case SampleDirection.Request: + ApiParameterDescription requestBodyParameter = api.ParameterDescriptions.FirstOrDefault(p => p.Source == ApiParameterSource.FromBody); + type = requestBodyParameter == null ? null : requestBodyParameter.ParameterDescriptor.ParameterType; + formatters = api.SupportedRequestBodyFormatters; + break; + case SampleDirection.Response: + default: + type = api.ResponseDescription.ResponseType ?? api.ResponseDescription.DeclaredType; + formatters = api.SupportedResponseFormatters; + break; + } + } + + return type; + } + + /// + /// Writes the sample object using formatter. + /// + /// The formatter. + /// The value. + /// The type. + /// Type of the media. + /// + [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", Justification = "The exception is recorded as InvalidSample.")] + public virtual object WriteSampleObjectUsingFormatter(MediaTypeFormatter formatter, object value, Type type, MediaTypeHeaderValue mediaType) + { + if (formatter == null) + { + throw new ArgumentNullException("formatter"); + } + if (mediaType == null) + { + throw new ArgumentNullException("mediaType"); + } + + object sample = String.Empty; + MemoryStream ms = null; + HttpContent content = null; + try + { + if (formatter.CanWriteType(type)) + { + ms = new MemoryStream(); + content = new ObjectContent(type, value, formatter, mediaType); + formatter.WriteToStreamAsync(type, value, ms, content, null).Wait(); + ms.Position = 0; + StreamReader reader = new StreamReader(ms); + string serializedSampleString = reader.ReadToEnd(); + if (mediaType.MediaType.ToUpperInvariant().Contains("XML")) + { + serializedSampleString = TryFormatXml(serializedSampleString); + } + else if (mediaType.MediaType.ToUpperInvariant().Contains("JSON")) + { + serializedSampleString = TryFormatJson(serializedSampleString); + } + + sample = new TextSample(serializedSampleString); + } + else + { + sample = new InvalidSample(String.Format( + CultureInfo.CurrentCulture, + "Failed to generate the sample for media type '{0}'. Cannot use formatter '{1}' to write type '{2}'.", + mediaType, + formatter.GetType().Name, + type.Name)); + } + } + catch (Exception e) + { + sample = new InvalidSample(String.Format( + CultureInfo.CurrentCulture, + "An exception has occurred while using the formatter '{0}' to generate sample for media type '{1}'. Exception message: {2}", + formatter.GetType().Name, + mediaType.MediaType, + UnwrapException(e).Message)); + } + finally + { + if (ms != null) + { + ms.Dispose(); + } + if (content != null) + { + content.Dispose(); + } + } + + return sample; + } + + internal static Exception UnwrapException(Exception exception) + { + AggregateException aggregateException = exception as AggregateException; + if (aggregateException != null) + { + return aggregateException.Flatten().InnerException; + } + return exception; + } + + // Default factory for sample objects + private static object DefaultSampleObjectFactory(HelpPageSampleGenerator sampleGenerator, Type type) + { + // Try to create a default sample object + ObjectGenerator objectGenerator = new ObjectGenerator(); + return objectGenerator.GenerateObject(type); + } + + [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", Justification = "Handling the failure by returning the original string.")] + private static string TryFormatJson(string str) + { + try + { + object parsedJson = JsonConvert.DeserializeObject(str); + return JsonConvert.SerializeObject(parsedJson, Formatting.Indented); + } + catch + { + // can't parse JSON, return the original string + return str; + } + } + + [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", Justification = "Handling the failure by returning the original string.")] + private static string TryFormatXml(string str) + { + try + { + XDocument xml = XDocument.Parse(str); + return xml.ToString(); + } + catch + { + // can't parse XML, return the original string + return str; + } + } + + private static bool IsFormatSupported(SampleDirection sampleDirection, MediaTypeFormatter formatter, Type type) + { + switch (sampleDirection) + { + case SampleDirection.Request: + return formatter.CanReadType(type); + case SampleDirection.Response: + return formatter.CanWriteType(type); + } + return false; + } + + private IEnumerable> GetAllActionSamples(string controllerName, string actionName, IEnumerable parameterNames, SampleDirection sampleDirection) + { + HashSet parameterNamesSet = new HashSet(parameterNames, StringComparer.OrdinalIgnoreCase); + foreach (var sample in ActionSamples) + { + HelpPageSampleKey sampleKey = sample.Key; + if (String.Equals(controllerName, sampleKey.ControllerName, StringComparison.OrdinalIgnoreCase) && + String.Equals(actionName, sampleKey.ActionName, StringComparison.OrdinalIgnoreCase) && + (sampleKey.ParameterNames.SetEquals(new[] { "*" }) || parameterNamesSet.SetEquals(sampleKey.ParameterNames)) && + sampleDirection == sampleKey.SampleDirection) + { + yield return sample; + } + } + } + + private static object WrapSampleIfString(object sample) + { + string stringSample = sample as string; + if (stringSample != null) + { + return new TextSample(stringSample); + } + + return sample; + } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/HelpPageSampleKey.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/HelpPageSampleKey.cs new file mode 100644 index 00000000..c65044ae --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/HelpPageSampleKey.cs @@ -0,0 +1,172 @@ +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Net.Http.Headers; + +namespace VsdConverter.Areas.HelpPage +{ + /// + /// This is used to identify the place where the sample should be applied. + /// + public class HelpPageSampleKey + { + /// + /// Creates a new based on media type. + /// + /// The media type. + public HelpPageSampleKey(MediaTypeHeaderValue mediaType) + { + if (mediaType == null) + { + throw new ArgumentNullException("mediaType"); + } + + ActionName = String.Empty; + ControllerName = String.Empty; + MediaType = mediaType; + ParameterNames = new HashSet(StringComparer.OrdinalIgnoreCase); + } + + /// + /// Creates a new based on media type and CLR type. + /// + /// The media type. + /// The CLR type. + public HelpPageSampleKey(MediaTypeHeaderValue mediaType, Type type) + : this(mediaType) + { + if (type == null) + { + throw new ArgumentNullException("type"); + } + + ParameterType = type; + } + + /// + /// Creates a new based on , controller name, action name and parameter names. + /// + /// The . + /// Name of the controller. + /// Name of the action. + /// The parameter names. + public HelpPageSampleKey(SampleDirection sampleDirection, string controllerName, string actionName, IEnumerable parameterNames) + { + if (!Enum.IsDefined(typeof(SampleDirection), sampleDirection)) + { + throw new InvalidEnumArgumentException("sampleDirection", (int)sampleDirection, typeof(SampleDirection)); + } + if (controllerName == null) + { + throw new ArgumentNullException("controllerName"); + } + if (actionName == null) + { + throw new ArgumentNullException("actionName"); + } + if (parameterNames == null) + { + throw new ArgumentNullException("parameterNames"); + } + + ControllerName = controllerName; + ActionName = actionName; + ParameterNames = new HashSet(parameterNames, StringComparer.OrdinalIgnoreCase); + SampleDirection = sampleDirection; + } + + /// + /// Creates a new based on media type, , controller name, action name and parameter names. + /// + /// The media type. + /// The . + /// Name of the controller. + /// Name of the action. + /// The parameter names. + public HelpPageSampleKey(MediaTypeHeaderValue mediaType, SampleDirection sampleDirection, string controllerName, string actionName, IEnumerable parameterNames) + : this(sampleDirection, controllerName, actionName, parameterNames) + { + if (mediaType == null) + { + throw new ArgumentNullException("mediaType"); + } + + MediaType = mediaType; + } + + /// + /// Gets the name of the controller. + /// + /// + /// The name of the controller. + /// + public string ControllerName { get; private set; } + + /// + /// Gets the name of the action. + /// + /// + /// The name of the action. + /// + public string ActionName { get; private set; } + + /// + /// Gets the media type. + /// + /// + /// The media type. + /// + public MediaTypeHeaderValue MediaType { get; private set; } + + /// + /// Gets the parameter names. + /// + public HashSet ParameterNames { get; private set; } + + public Type ParameterType { get; private set; } + + /// + /// Gets the . + /// + public SampleDirection? SampleDirection { get; private set; } + + public override bool Equals(object obj) + { + HelpPageSampleKey otherKey = obj as HelpPageSampleKey; + if (otherKey == null) + { + return false; + } + + return String.Equals(ControllerName, otherKey.ControllerName, StringComparison.OrdinalIgnoreCase) && + String.Equals(ActionName, otherKey.ActionName, StringComparison.OrdinalIgnoreCase) && + (MediaType == otherKey.MediaType || (MediaType != null && MediaType.Equals(otherKey.MediaType))) && + ParameterType == otherKey.ParameterType && + SampleDirection == otherKey.SampleDirection && + ParameterNames.SetEquals(otherKey.ParameterNames); + } + + public override int GetHashCode() + { + int hashCode = ControllerName.ToUpperInvariant().GetHashCode() ^ ActionName.ToUpperInvariant().GetHashCode(); + if (MediaType != null) + { + hashCode ^= MediaType.GetHashCode(); + } + if (SampleDirection != null) + { + hashCode ^= SampleDirection.GetHashCode(); + } + if (ParameterType != null) + { + hashCode ^= ParameterType.GetHashCode(); + } + foreach (string parameterName in ParameterNames) + { + hashCode ^= parameterName.ToUpperInvariant().GetHashCode(); + } + + return hashCode; + } + } +} diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/ImageSample.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/ImageSample.cs new file mode 100644 index 00000000..903899a1 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/ImageSample.cs @@ -0,0 +1,41 @@ +using System; + +namespace VsdConverter.Areas.HelpPage +{ + /// + /// This represents an image sample on the help page. There's a display template named ImageSample associated with this class. + /// + public class ImageSample + { + /// + /// Initializes a new instance of the class. + /// + /// The URL of an image. + public ImageSample(string src) + { + if (src == null) + { + throw new ArgumentNullException("src"); + } + Src = src; + } + + public string Src { get; private set; } + + public override bool Equals(object obj) + { + ImageSample other = obj as ImageSample; + return other != null && Src == other.Src; + } + + public override int GetHashCode() + { + return Src.GetHashCode(); + } + + public override string ToString() + { + return Src; + } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/InvalidSample.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/InvalidSample.cs new file mode 100644 index 00000000..b96db777 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/InvalidSample.cs @@ -0,0 +1,37 @@ +using System; + +namespace VsdConverter.Areas.HelpPage +{ + /// + /// This represents an invalid sample on the help page. There's a display template named InvalidSample associated with this class. + /// + public class InvalidSample + { + public InvalidSample(string errorMessage) + { + if (errorMessage == null) + { + throw new ArgumentNullException("errorMessage"); + } + ErrorMessage = errorMessage; + } + + public string ErrorMessage { get; private set; } + + public override bool Equals(object obj) + { + InvalidSample other = obj as InvalidSample; + return other != null && ErrorMessage == other.ErrorMessage; + } + + public override int GetHashCode() + { + return ErrorMessage.GetHashCode(); + } + + public override string ToString() + { + return ErrorMessage; + } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/ObjectGenerator.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/ObjectGenerator.cs new file mode 100644 index 00000000..5b91399c --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/ObjectGenerator.cs @@ -0,0 +1,456 @@ +using System; +using System.Collections; +using System.Collections.Generic; +using System.Diagnostics.CodeAnalysis; +using System.Globalization; +using System.Linq; +using System.Reflection; + +namespace VsdConverter.Areas.HelpPage +{ + /// + /// This class will create an object of a given type and populate it with sample data. + /// + public class ObjectGenerator + { + internal const int DefaultCollectionSize = 2; + private readonly SimpleTypeObjectGenerator SimpleObjectGenerator = new SimpleTypeObjectGenerator(); + + /// + /// Generates an object for a given type. The type needs to be public, have a public default constructor and settable public properties/fields. Currently it supports the following types: + /// Simple types: , , , , , etc. + /// Complex types: POCO types. + /// Nullables: . + /// Arrays: arrays of simple types or complex types. + /// Key value pairs: + /// Tuples: , , etc + /// Dictionaries: or anything deriving from . + /// Collections: , , , , , or anything deriving from or . + /// Queryables: , . + /// + /// The type. + /// An object of the given type. + public object GenerateObject(Type type) + { + return GenerateObject(type, new Dictionary()); + } + + [SuppressMessage("Microsoft.Design", "CA1031:DoNotCatchGeneralExceptionTypes", Justification = "Here we just want to return null if anything goes wrong.")] + private object GenerateObject(Type type, Dictionary createdObjectReferences) + { + try + { + if (SimpleTypeObjectGenerator.CanGenerateObject(type)) + { + return SimpleObjectGenerator.GenerateObject(type); + } + + if (type.IsArray) + { + return GenerateArray(type, DefaultCollectionSize, createdObjectReferences); + } + + if (type.IsGenericType) + { + return GenerateGenericType(type, DefaultCollectionSize, createdObjectReferences); + } + + if (type == typeof(IDictionary)) + { + return GenerateDictionary(typeof(Hashtable), DefaultCollectionSize, createdObjectReferences); + } + + if (typeof(IDictionary).IsAssignableFrom(type)) + { + return GenerateDictionary(type, DefaultCollectionSize, createdObjectReferences); + } + + if (type == typeof(IList) || + type == typeof(IEnumerable) || + type == typeof(ICollection)) + { + return GenerateCollection(typeof(ArrayList), DefaultCollectionSize, createdObjectReferences); + } + + if (typeof(IList).IsAssignableFrom(type)) + { + return GenerateCollection(type, DefaultCollectionSize, createdObjectReferences); + } + + if (type == typeof(IQueryable)) + { + return GenerateQueryable(type, DefaultCollectionSize, createdObjectReferences); + } + + if (type.IsEnum) + { + return GenerateEnum(type); + } + + if (type.IsPublic || type.IsNestedPublic) + { + return GenerateComplexObject(type, createdObjectReferences); + } + } + catch + { + // Returns null if anything fails + return null; + } + + return null; + } + + private static object GenerateGenericType(Type type, int collectionSize, Dictionary createdObjectReferences) + { + Type genericTypeDefinition = type.GetGenericTypeDefinition(); + if (genericTypeDefinition == typeof(Nullable<>)) + { + return GenerateNullable(type, createdObjectReferences); + } + + if (genericTypeDefinition == typeof(KeyValuePair<,>)) + { + return GenerateKeyValuePair(type, createdObjectReferences); + } + + if (IsTuple(genericTypeDefinition)) + { + return GenerateTuple(type, createdObjectReferences); + } + + Type[] genericArguments = type.GetGenericArguments(); + if (genericArguments.Length == 1) + { + if (genericTypeDefinition == typeof(IList<>) || + genericTypeDefinition == typeof(IEnumerable<>) || + genericTypeDefinition == typeof(ICollection<>)) + { + Type collectionType = typeof(List<>).MakeGenericType(genericArguments); + return GenerateCollection(collectionType, collectionSize, createdObjectReferences); + } + + if (genericTypeDefinition == typeof(IQueryable<>)) + { + return GenerateQueryable(type, collectionSize, createdObjectReferences); + } + + Type closedCollectionType = typeof(ICollection<>).MakeGenericType(genericArguments[0]); + if (closedCollectionType.IsAssignableFrom(type)) + { + return GenerateCollection(type, collectionSize, createdObjectReferences); + } + } + + if (genericArguments.Length == 2) + { + if (genericTypeDefinition == typeof(IDictionary<,>)) + { + Type dictionaryType = typeof(Dictionary<,>).MakeGenericType(genericArguments); + return GenerateDictionary(dictionaryType, collectionSize, createdObjectReferences); + } + + Type closedDictionaryType = typeof(IDictionary<,>).MakeGenericType(genericArguments[0], genericArguments[1]); + if (closedDictionaryType.IsAssignableFrom(type)) + { + return GenerateDictionary(type, collectionSize, createdObjectReferences); + } + } + + if (type.IsPublic || type.IsNestedPublic) + { + return GenerateComplexObject(type, createdObjectReferences); + } + + return null; + } + + private static object GenerateTuple(Type type, Dictionary createdObjectReferences) + { + Type[] genericArgs = type.GetGenericArguments(); + object[] parameterValues = new object[genericArgs.Length]; + bool failedToCreateTuple = true; + ObjectGenerator objectGenerator = new ObjectGenerator(); + for (int i = 0; i < genericArgs.Length; i++) + { + parameterValues[i] = objectGenerator.GenerateObject(genericArgs[i], createdObjectReferences); + failedToCreateTuple &= parameterValues[i] == null; + } + if (failedToCreateTuple) + { + return null; + } + object result = Activator.CreateInstance(type, parameterValues); + return result; + } + + private static bool IsTuple(Type genericTypeDefinition) + { + return genericTypeDefinition == typeof(Tuple<>) || + genericTypeDefinition == typeof(Tuple<,>) || + genericTypeDefinition == typeof(Tuple<,,>) || + genericTypeDefinition == typeof(Tuple<,,,>) || + genericTypeDefinition == typeof(Tuple<,,,,>) || + genericTypeDefinition == typeof(Tuple<,,,,,>) || + genericTypeDefinition == typeof(Tuple<,,,,,,>) || + genericTypeDefinition == typeof(Tuple<,,,,,,,>); + } + + private static object GenerateKeyValuePair(Type keyValuePairType, Dictionary createdObjectReferences) + { + Type[] genericArgs = keyValuePairType.GetGenericArguments(); + Type typeK = genericArgs[0]; + Type typeV = genericArgs[1]; + ObjectGenerator objectGenerator = new ObjectGenerator(); + object keyObject = objectGenerator.GenerateObject(typeK, createdObjectReferences); + object valueObject = objectGenerator.GenerateObject(typeV, createdObjectReferences); + if (keyObject == null && valueObject == null) + { + // Failed to create key and values + return null; + } + object result = Activator.CreateInstance(keyValuePairType, keyObject, valueObject); + return result; + } + + private static object GenerateArray(Type arrayType, int size, Dictionary createdObjectReferences) + { + Type type = arrayType.GetElementType(); + Array result = Array.CreateInstance(type, size); + bool areAllElementsNull = true; + ObjectGenerator objectGenerator = new ObjectGenerator(); + for (int i = 0; i < size; i++) + { + object element = objectGenerator.GenerateObject(type, createdObjectReferences); + result.SetValue(element, i); + areAllElementsNull &= element == null; + } + + if (areAllElementsNull) + { + return null; + } + + return result; + } + + private static object GenerateDictionary(Type dictionaryType, int size, Dictionary createdObjectReferences) + { + Type typeK = typeof(object); + Type typeV = typeof(object); + if (dictionaryType.IsGenericType) + { + Type[] genericArgs = dictionaryType.GetGenericArguments(); + typeK = genericArgs[0]; + typeV = genericArgs[1]; + } + + object result = Activator.CreateInstance(dictionaryType); + MethodInfo addMethod = dictionaryType.GetMethod("Add") ?? dictionaryType.GetMethod("TryAdd"); + MethodInfo containsMethod = dictionaryType.GetMethod("Contains") ?? dictionaryType.GetMethod("ContainsKey"); + ObjectGenerator objectGenerator = new ObjectGenerator(); + for (int i = 0; i < size; i++) + { + object newKey = objectGenerator.GenerateObject(typeK, createdObjectReferences); + if (newKey == null) + { + // Cannot generate a valid key + return null; + } + + bool containsKey = (bool)containsMethod.Invoke(result, new object[] { newKey }); + if (!containsKey) + { + object newValue = objectGenerator.GenerateObject(typeV, createdObjectReferences); + addMethod.Invoke(result, new object[] { newKey, newValue }); + } + } + + return result; + } + + private static object GenerateEnum(Type enumType) + { + Array possibleValues = Enum.GetValues(enumType); + if (possibleValues.Length > 0) + { + return possibleValues.GetValue(0); + } + return null; + } + + private static object GenerateQueryable(Type queryableType, int size, Dictionary createdObjectReferences) + { + bool isGeneric = queryableType.IsGenericType; + object list; + if (isGeneric) + { + Type listType = typeof(List<>).MakeGenericType(queryableType.GetGenericArguments()); + list = GenerateCollection(listType, size, createdObjectReferences); + } + else + { + list = GenerateArray(typeof(object[]), size, createdObjectReferences); + } + if (list == null) + { + return null; + } + if (isGeneric) + { + Type argumentType = typeof(IEnumerable<>).MakeGenericType(queryableType.GetGenericArguments()); + MethodInfo asQueryableMethod = typeof(Queryable).GetMethod("AsQueryable", new[] { argumentType }); + return asQueryableMethod.Invoke(null, new[] { list }); + } + + return Queryable.AsQueryable((IEnumerable)list); + } + + private static object GenerateCollection(Type collectionType, int size, Dictionary createdObjectReferences) + { + Type type = collectionType.IsGenericType ? + collectionType.GetGenericArguments()[0] : + typeof(object); + object result = Activator.CreateInstance(collectionType); + MethodInfo addMethod = collectionType.GetMethod("Add"); + bool areAllElementsNull = true; + ObjectGenerator objectGenerator = new ObjectGenerator(); + for (int i = 0; i < size; i++) + { + object element = objectGenerator.GenerateObject(type, createdObjectReferences); + addMethod.Invoke(result, new object[] { element }); + areAllElementsNull &= element == null; + } + + if (areAllElementsNull) + { + return null; + } + + return result; + } + + private static object GenerateNullable(Type nullableType, Dictionary createdObjectReferences) + { + Type type = nullableType.GetGenericArguments()[0]; + ObjectGenerator objectGenerator = new ObjectGenerator(); + return objectGenerator.GenerateObject(type, createdObjectReferences); + } + + private static object GenerateComplexObject(Type type, Dictionary createdObjectReferences) + { + object result = null; + + if (createdObjectReferences.TryGetValue(type, out result)) + { + // The object has been created already, just return it. This will handle the circular reference case. + return result; + } + + if (type.IsValueType) + { + result = Activator.CreateInstance(type); + } + else + { + ConstructorInfo defaultCtor = type.GetConstructor(Type.EmptyTypes); + if (defaultCtor == null) + { + // Cannot instantiate the type because it doesn't have a default constructor + return null; + } + + result = defaultCtor.Invoke(new object[0]); + } + createdObjectReferences.Add(type, result); + SetPublicProperties(type, result, createdObjectReferences); + SetPublicFields(type, result, createdObjectReferences); + return result; + } + + private static void SetPublicProperties(Type type, object obj, Dictionary createdObjectReferences) + { + PropertyInfo[] properties = type.GetProperties(BindingFlags.Public | BindingFlags.Instance); + ObjectGenerator objectGenerator = new ObjectGenerator(); + foreach (PropertyInfo property in properties) + { + if (property.CanWrite) + { + object propertyValue = objectGenerator.GenerateObject(property.PropertyType, createdObjectReferences); + property.SetValue(obj, propertyValue, null); + } + } + } + + private static void SetPublicFields(Type type, object obj, Dictionary createdObjectReferences) + { + FieldInfo[] fields = type.GetFields(BindingFlags.Public | BindingFlags.Instance); + ObjectGenerator objectGenerator = new ObjectGenerator(); + foreach (FieldInfo field in fields) + { + object fieldValue = objectGenerator.GenerateObject(field.FieldType, createdObjectReferences); + field.SetValue(obj, fieldValue); + } + } + + private class SimpleTypeObjectGenerator + { + private long _index = 0; + private static readonly Dictionary> DefaultGenerators = InitializeGenerators(); + + [SuppressMessage("Microsoft.Maintainability", "CA1502:AvoidExcessiveComplexity", Justification = "These are simple type factories and cannot be split up.")] + private static Dictionary> InitializeGenerators() + { + return new Dictionary> + { + { typeof(Boolean), index => true }, + { typeof(Byte), index => (Byte)64 }, + { typeof(Char), index => (Char)65 }, + { typeof(DateTime), index => DateTime.Now }, + { typeof(DateTimeOffset), index => new DateTimeOffset(DateTime.Now) }, + { typeof(DBNull), index => DBNull.Value }, + { typeof(Decimal), index => (Decimal)index }, + { typeof(Double), index => (Double)(index + 0.1) }, + { typeof(Guid), index => Guid.NewGuid() }, + { typeof(Int16), index => (Int16)(index % Int16.MaxValue) }, + { typeof(Int32), index => (Int32)(index % Int32.MaxValue) }, + { typeof(Int64), index => (Int64)index }, + { typeof(Object), index => new object() }, + { typeof(SByte), index => (SByte)64 }, + { typeof(Single), index => (Single)(index + 0.1) }, + { + typeof(String), index => + { + return String.Format(CultureInfo.CurrentCulture, "sample string {0}", index); + } + }, + { + typeof(TimeSpan), index => + { + return TimeSpan.FromTicks(1234567); + } + }, + { typeof(UInt16), index => (UInt16)(index % UInt16.MaxValue) }, + { typeof(UInt32), index => (UInt32)(index % UInt32.MaxValue) }, + { typeof(UInt64), index => (UInt64)index }, + { + typeof(Uri), index => + { + return new Uri(String.Format(CultureInfo.CurrentCulture, "http://webapihelppage{0}.com", index)); + } + }, + }; + } + + public static bool CanGenerateObject(Type type) + { + return DefaultGenerators.ContainsKey(type); + } + + public object GenerateObject(Type type) + { + return DefaultGenerators[type](++_index); + } + } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/SampleDirection.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/SampleDirection.cs new file mode 100644 index 00000000..fb1d3c1e --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/SampleDirection.cs @@ -0,0 +1,11 @@ +namespace VsdConverter.Areas.HelpPage +{ + /// + /// Indicates whether the sample is used for request or response + /// + public enum SampleDirection + { + Request = 0, + Response + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/TextSample.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/TextSample.cs new file mode 100644 index 00000000..1bdf9f92 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/SampleGeneration/TextSample.cs @@ -0,0 +1,37 @@ +using System; + +namespace VsdConverter.Areas.HelpPage +{ + /// + /// This represents a preformatted text sample on the help page. There's a display template named TextSample associated with this class. + /// + public class TextSample + { + public TextSample(string text) + { + if (text == null) + { + throw new ArgumentNullException("text"); + } + Text = text; + } + + public string Text { get; private set; } + + public override bool Equals(object obj) + { + TextSample other = obj as TextSample; + return other != null && Text == other.Text; + } + + public override int GetHashCode() + { + return Text.GetHashCode(); + } + + public override string ToString() + { + return Text; + } + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/Api.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/Api.cshtml new file mode 100644 index 00000000..53b7fb82 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/Api.cshtml @@ -0,0 +1,22 @@ +@using System.Web.Http +@using VsdConverter.Areas.HelpPage.Models +@model HelpPageApiModel + +@{ + var description = Model.ApiDescription; + ViewBag.Title = description.HttpMethod.Method + " " + description.RelativePath; +} + + +
+ +
+ @Html.DisplayForModel() +
+
diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/ApiGroup.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/ApiGroup.cshtml new file mode 100644 index 00000000..7bf33300 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/ApiGroup.cshtml @@ -0,0 +1,41 @@ +@using System.Web.Http +@using System.Web.Http.Controllers +@using System.Web.Http.Description +@using VsdConverter.Areas.HelpPage +@using VsdConverter.Areas.HelpPage.Models +@model IGrouping + +@{ + var controllerDocumentation = ViewBag.DocumentationProvider != null ? + ViewBag.DocumentationProvider.GetDocumentation(Model.Key) : + null; +} + +

@Model.Key.ControllerName

+@if (!String.IsNullOrEmpty(controllerDocumentation)) +{ +

@controllerDocumentation

+} + + + + + + @foreach (var api in Model) + { + + + + + } + +
APIDescription
@api.HttpMethod.Method @api.RelativePath + @if (api.Documentation != null) + { +

@api.Documentation

+ } + else + { +

No documentation available.

+ } +
\ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/CollectionModelDescription.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/CollectionModelDescription.cshtml new file mode 100644 index 00000000..1015ad34 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/CollectionModelDescription.cshtml @@ -0,0 +1,6 @@ +@using VsdConverter.Areas.HelpPage.ModelDescriptions +@model CollectionModelDescription +@if (Model.ElementDescription is ComplexTypeModelDescription) +{ + @Html.DisplayFor(m => m.ElementDescription) +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/ComplexTypeModelDescription.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/ComplexTypeModelDescription.cshtml new file mode 100644 index 00000000..a711a02a --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/ComplexTypeModelDescription.cshtml @@ -0,0 +1,3 @@ +@using VsdConverter.Areas.HelpPage.ModelDescriptions +@model ComplexTypeModelDescription +@Html.DisplayFor(m => m.Properties, "Parameters") \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/DictionaryModelDescription.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/DictionaryModelDescription.cshtml new file mode 100644 index 00000000..d7987d9f --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/DictionaryModelDescription.cshtml @@ -0,0 +1,4 @@ +@using VsdConverter.Areas.HelpPage.ModelDescriptions +@model DictionaryModelDescription +Dictionary of @Html.DisplayFor(m => Model.KeyModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.KeyModelDescription }) [key] +and @Html.DisplayFor(m => Model.ValueModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.ValueModelDescription }) [value] \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/EnumTypeModelDescription.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/EnumTypeModelDescription.cshtml new file mode 100644 index 00000000..32d498d7 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/EnumTypeModelDescription.cshtml @@ -0,0 +1,24 @@ +@using VsdConverter.Areas.HelpPage.ModelDescriptions +@model EnumTypeModelDescription + +

Possible enumeration values:

+ + + + + + + @foreach (EnumValueDescription value in Model.Values) + { + + + + + + } + +
NameValueDescription
@value.Name +

@value.Value

+
+

@value.Documentation

+
\ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/HelpPageApiModel.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/HelpPageApiModel.cshtml new file mode 100644 index 00000000..8ed7db13 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/HelpPageApiModel.cshtml @@ -0,0 +1,67 @@ +@using System.Web.Http +@using System.Web.Http.Description +@using VsdConverter.Areas.HelpPage.Models +@using VsdConverter.Areas.HelpPage.ModelDescriptions +@model HelpPageApiModel + +@{ + ApiDescription description = Model.ApiDescription; +} +

@description.HttpMethod.Method @description.RelativePath

+
+

@description.Documentation

+ +

Request Information

+ +

URI Parameters

+ @Html.DisplayFor(m => m.UriParameters, "Parameters") + +

Body Parameters

+ +

@Model.RequestDocumentation

+ + @if (Model.RequestModelDescription != null) + { + @Html.DisplayFor(m => m.RequestModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.RequestModelDescription }) + if (Model.RequestBodyParameters != null) + { + @Html.DisplayFor(m => m.RequestBodyParameters, "Parameters") + } + } + else + { +

None.

+ } + + @if (Model.SampleRequests.Count > 0) + { +

Request Formats

+ @Html.DisplayFor(m => m.SampleRequests, "Samples") + } + +

Response Information

+ +

Resource Description

+ +

@description.ResponseDescription.Documentation

+ + @if (Model.ResourceDescription != null) + { + @Html.DisplayFor(m => m.ResourceDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.ResourceDescription }) + if (Model.ResourceProperties != null) + { + @Html.DisplayFor(m => m.ResourceProperties, "Parameters") + } + } + else + { +

None.

+ } + + @if (Model.SampleResponses.Count > 0) + { +

Response Formats

+ @Html.DisplayFor(m => m.SampleResponses, "Samples") + } + +
\ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/ImageSample.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/ImageSample.cshtml new file mode 100644 index 00000000..cfb10965 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/ImageSample.cshtml @@ -0,0 +1,4 @@ +@using VsdConverter.Areas.HelpPage +@model ImageSample + + \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/InvalidSample.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/InvalidSample.cshtml new file mode 100644 index 00000000..e210ab42 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/InvalidSample.cshtml @@ -0,0 +1,13 @@ +@using VsdConverter.Areas.HelpPage +@model InvalidSample + +@if (HttpContext.Current.IsDebuggingEnabled) +{ +
+

@Model.ErrorMessage

+
+} +else +{ +

Sample not available.

+} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/KeyValuePairModelDescription.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/KeyValuePairModelDescription.cshtml new file mode 100644 index 00000000..5831d85b --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/KeyValuePairModelDescription.cshtml @@ -0,0 +1,4 @@ +@using VsdConverter.Areas.HelpPage.ModelDescriptions +@model KeyValuePairModelDescription +Pair of @Html.DisplayFor(m => Model.KeyModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.KeyModelDescription }) [key] +and @Html.DisplayFor(m => Model.ValueModelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = Model.ValueModelDescription }) [value] \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/ModelDescriptionLink.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/ModelDescriptionLink.cshtml new file mode 100644 index 00000000..8bd9ac3f --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/ModelDescriptionLink.cshtml @@ -0,0 +1,26 @@ +@using VsdConverter.Areas.HelpPage.ModelDescriptions +@model Type +@{ + ModelDescription modelDescription = ViewBag.modelDescription; + if (modelDescription is ComplexTypeModelDescription || modelDescription is EnumTypeModelDescription) + { + if (Model == typeof(Object)) + { + @:Object + } + else + { + @Html.ActionLink(modelDescription.Name, "ResourceModel", "Help", new { modelName = modelDescription.Name }, null) + } + } + else if (modelDescription is CollectionModelDescription) + { + var collectionDescription = modelDescription as CollectionModelDescription; + var elementDescription = collectionDescription.ElementDescription; + @:Collection of @Html.DisplayFor(m => elementDescription.ModelType, "ModelDescriptionLink", new { modelDescription = elementDescription }) + } + else + { + @Html.DisplayFor(m => modelDescription) + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/Parameters.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/Parameters.cshtml new file mode 100644 index 00000000..162e462a --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/Parameters.cshtml @@ -0,0 +1,48 @@ +@using System.Collections.Generic +@using System.Collections.ObjectModel +@using System.Web.Http.Description +@using System.Threading +@using VsdConverter.Areas.HelpPage.ModelDescriptions +@model IList + +@if (Model.Count > 0) +{ + + + + + + @foreach (ParameterDescription parameter in Model) + { + ModelDescription modelDescription = parameter.TypeDescription; + + + + + + + } + +
NameDescriptionTypeAdditional information
@parameter.Name +

@parameter.Documentation

+
+ @Html.DisplayFor(m => modelDescription.ModelType, "ModelDescriptionLink", new { modelDescription = modelDescription }) + + @if (parameter.Annotations.Count > 0) + { + foreach (var annotation in parameter.Annotations) + { +

@annotation.Documentation

+ } + } + else + { +

None.

+ } +
+} +else +{ +

None.

+} + diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/Samples.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/Samples.cshtml new file mode 100644 index 00000000..c19596fb --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/Samples.cshtml @@ -0,0 +1,30 @@ +@using System.Net.Http.Headers +@model Dictionary + +@{ + // Group the samples into a single tab if they are the same. + Dictionary samples = Model.GroupBy(pair => pair.Value).ToDictionary( + pair => String.Join(", ", pair.Select(m => m.Key.ToString()).ToArray()), + pair => pair.Key); + var mediaTypes = samples.Keys; +} +
+ @foreach (var mediaType in mediaTypes) + { +

@mediaType

+
+ Sample: + @{ + var sample = samples[mediaType]; + if (sample == null) + { +

Sample not available.

+ } + else + { + @Html.DisplayFor(s => sample); + } + } +
+ } +
\ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/SimpleTypeModelDescription.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/SimpleTypeModelDescription.cshtml new file mode 100644 index 00000000..8c417597 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/SimpleTypeModelDescription.cshtml @@ -0,0 +1,3 @@ +@using VsdConverter.Areas.HelpPage.ModelDescriptions +@model SimpleTypeModelDescription +@Model.Documentation \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/TextSample.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/TextSample.cshtml new file mode 100644 index 00000000..27135f51 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/DisplayTemplates/TextSample.cshtml @@ -0,0 +1,6 @@ +@using VsdConverter.Areas.HelpPage +@model TextSample + +
+@Model.Text
+
\ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/Index.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/Index.cshtml new file mode 100644 index 00000000..4e022661 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/Index.cshtml @@ -0,0 +1,38 @@ +@using System.Web.Http +@using System.Web.Http.Controllers +@using System.Web.Http.Description +@using System.Collections.ObjectModel +@using VsdConverter.Areas.HelpPage.Models +@model Collection + +@{ + ViewBag.Title = "ASP.NET Web API Help Page"; + + // Group APIs by controller + ILookup apiGroups = Model.ToLookup(api => api.ActionDescriptor.ControllerDescriptor); +} + + +
+
+
+

@ViewBag.Title

+
+
+
+
+ +
+ @foreach (var group in apiGroups) + { + @Html.DisplayFor(m => group, "ApiGroup") + } +
+
diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/ResourceModel.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/ResourceModel.cshtml new file mode 100644 index 00000000..3e5731ce --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Help/ResourceModel.cshtml @@ -0,0 +1,19 @@ +@using System.Web.Http +@using VsdConverter.Areas.HelpPage.ModelDescriptions +@model ModelDescription + + +
+ +

@Model.Name

+

@Model.Documentation

+
+ @Html.DisplayFor(m => Model) +
+
diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Shared/_Layout.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Shared/_Layout.cshtml new file mode 100644 index 00000000..896c833a --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Shared/_Layout.cshtml @@ -0,0 +1,12 @@ + + + + + + @ViewBag.Title + @RenderSection("scripts", required: false) + + + @RenderBody() + + \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Web.config b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Web.config new file mode 100644 index 00000000..09717322 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/Web.config @@ -0,0 +1,41 @@ + + + + + +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/_ViewStart.cshtml b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/_ViewStart.cshtml new file mode 100644 index 00000000..d735b1cb --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/Views/_ViewStart.cshtml @@ -0,0 +1,4 @@ +@{ + // Change the Layout path below to blend the look and feel of the help page with your existing web pages + Layout = "~/Views/Shared/_Layout.cshtml"; +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/XmlDocumentationProvider.cs b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/XmlDocumentationProvider.cs new file mode 100644 index 00000000..ff74a4bd --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Areas/HelpPage/XmlDocumentationProvider.cs @@ -0,0 +1,161 @@ +using System; +using System.Globalization; +using System.Linq; +using System.Reflection; +using System.Web.Http.Controllers; +using System.Web.Http.Description; +using System.Xml.XPath; +using VsdConverter.Areas.HelpPage.ModelDescriptions; + +namespace VsdConverter.Areas.HelpPage +{ + /// + /// A custom that reads the API documentation from an XML documentation file. + /// + public class XmlDocumentationProvider : IDocumentationProvider, IModelDocumentationProvider + { + private XPathNavigator _documentNavigator; + private const string TypeExpression = "/doc/members/member[@name='T:{0}']"; + private const string MethodExpression = "/doc/members/member[@name='M:{0}']"; + private const string PropertyExpression = "/doc/members/member[@name='P:{0}']"; + private const string FieldExpression = "/doc/members/member[@name='F:{0}']"; + private const string ParameterExpression = "param[@name='{0}']"; + + /// + /// Initializes a new instance of the class. + /// + /// The physical path to XML document. + public XmlDocumentationProvider(string documentPath) + { + if (documentPath == null) + { + throw new ArgumentNullException("documentPath"); + } + XPathDocument xpath = new XPathDocument(documentPath); + _documentNavigator = xpath.CreateNavigator(); + } + + public string GetDocumentation(HttpControllerDescriptor controllerDescriptor) + { + XPathNavigator typeNode = GetTypeNode(controllerDescriptor.ControllerType); + return GetTagValue(typeNode, "summary"); + } + + public virtual string GetDocumentation(HttpActionDescriptor actionDescriptor) + { + XPathNavigator methodNode = GetMethodNode(actionDescriptor); + return GetTagValue(methodNode, "summary"); + } + + public virtual string GetDocumentation(HttpParameterDescriptor parameterDescriptor) + { + ReflectedHttpParameterDescriptor reflectedParameterDescriptor = parameterDescriptor as ReflectedHttpParameterDescriptor; + if (reflectedParameterDescriptor != null) + { + XPathNavigator methodNode = GetMethodNode(reflectedParameterDescriptor.ActionDescriptor); + if (methodNode != null) + { + string parameterName = reflectedParameterDescriptor.ParameterInfo.Name; + XPathNavigator parameterNode = methodNode.SelectSingleNode(String.Format(CultureInfo.InvariantCulture, ParameterExpression, parameterName)); + if (parameterNode != null) + { + return parameterNode.Value.Trim(); + } + } + } + + return null; + } + + public string GetResponseDocumentation(HttpActionDescriptor actionDescriptor) + { + XPathNavigator methodNode = GetMethodNode(actionDescriptor); + return GetTagValue(methodNode, "returns"); + } + + public string GetDocumentation(MemberInfo member) + { + string memberName = String.Format(CultureInfo.InvariantCulture, "{0}.{1}", GetTypeName(member.DeclaringType), member.Name); + string expression = member.MemberType == MemberTypes.Field ? FieldExpression : PropertyExpression; + string selectExpression = String.Format(CultureInfo.InvariantCulture, expression, memberName); + XPathNavigator propertyNode = _documentNavigator.SelectSingleNode(selectExpression); + return GetTagValue(propertyNode, "summary"); + } + + public string GetDocumentation(Type type) + { + XPathNavigator typeNode = GetTypeNode(type); + return GetTagValue(typeNode, "summary"); + } + + private XPathNavigator GetMethodNode(HttpActionDescriptor actionDescriptor) + { + ReflectedHttpActionDescriptor reflectedActionDescriptor = actionDescriptor as ReflectedHttpActionDescriptor; + if (reflectedActionDescriptor != null) + { + string selectExpression = String.Format(CultureInfo.InvariantCulture, MethodExpression, GetMemberName(reflectedActionDescriptor.MethodInfo)); + return _documentNavigator.SelectSingleNode(selectExpression); + } + + return null; + } + + private static string GetMemberName(MethodInfo method) + { + string name = String.Format(CultureInfo.InvariantCulture, "{0}.{1}", GetTypeName(method.DeclaringType), method.Name); + ParameterInfo[] parameters = method.GetParameters(); + if (parameters.Length != 0) + { + string[] parameterTypeNames = parameters.Select(param => GetTypeName(param.ParameterType)).ToArray(); + name += String.Format(CultureInfo.InvariantCulture, "({0})", String.Join(",", parameterTypeNames)); + } + + return name; + } + + private static string GetTagValue(XPathNavigator parentNode, string tagName) + { + if (parentNode != null) + { + XPathNavigator node = parentNode.SelectSingleNode(tagName); + if (node != null) + { + return node.Value.Trim(); + } + } + + return null; + } + + private XPathNavigator GetTypeNode(Type type) + { + string controllerTypeName = GetTypeName(type); + string selectExpression = String.Format(CultureInfo.InvariantCulture, TypeExpression, controllerTypeName); + return _documentNavigator.SelectSingleNode(selectExpression); + } + + private static string GetTypeName(Type type) + { + string name = type.FullName; + if (type.IsGenericType) + { + // Format the generic type name to something like: Generic{System.Int32,System.String} + Type genericType = type.GetGenericTypeDefinition(); + Type[] genericArguments = type.GetGenericArguments(); + string genericTypeName = genericType.FullName; + + // Trim the generic parameter counts from the name + genericTypeName = genericTypeName.Substring(0, genericTypeName.IndexOf('`')); + string[] argumentTypeNames = genericArguments.Select(t => GetTypeName(t)).ToArray(); + name = String.Format(CultureInfo.InvariantCulture, "{0}{{{1}}}", genericTypeName, String.Join(",", argumentTypeNames)); + } + if (type.IsNested) + { + // Changing the nested type name from OuterType+InnerType to OuterType.InnerType to match the XML documentation syntax. + name = name.Replace("+", "."); + } + + return name; + } + } +} diff --git a/etc/vsd/VsdConverter/VsdConverter/Content/Site.css b/etc/vsd/VsdConverter/VsdConverter/Content/Site.css new file mode 100644 index 00000000..d825a52a --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Content/Site.css @@ -0,0 +1,17 @@ +body { + padding-top: 50px; + padding-bottom: 20px; +} + +/* Set padding to keep content from hitting the edges */ +.body-content { + padding-left: 15px; + padding-right: 15px; +} + +/* Set width on the form input elements since they're 100% wide by default */ +input, +select, +textarea { + max-width: 280px; +} diff --git a/etc/vsd/VsdConverter/VsdConverter/Content/bootstrap.css b/etc/vsd/VsdConverter/VsdConverter/Content/bootstrap.css new file mode 100644 index 00000000..6d6e6828 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Content/bootstrap.css @@ -0,0 +1,6816 @@ +/* NUGET: BEGIN LICENSE TEXT + * + * Microsoft grants you the right to use these script files for the sole + * purpose of either: (i) interacting through your browser with the Microsoft + * website or online service, subject to the applicable licensing or use + * terms; or (ii) using the files as included with a Microsoft product subject + * to that product's license terms. Microsoft reserves all other rights to the + * files not expressly granted by Microsoft, whether by implication, estoppel + * or otherwise. The notices and licenses below are for informational purposes only. + * + * NUGET: END LICENSE TEXT */ +/*! + * Bootstrap v3.0.0 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + */ + +/*! normalize.css v2.1.0 | MIT License | git.io/normalize */ + +article, +aside, +details, +figcaption, +figure, +footer, +header, +hgroup, +main, +nav, +section, +summary { + display: block; +} + +audio, +canvas, +video { + display: inline-block; +} + +audio:not([controls]) { + display: none; + height: 0; +} + +[hidden] { + display: none; +} + +html { + font-family: sans-serif; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} + +body { + margin: 0; +} + +a:focus { + outline: thin dotted; +} + +a:active, +a:hover { + outline: 0; +} + +h1 { + margin: 0.67em 0; + font-size: 2em; +} + +abbr[title] { + border-bottom: 1px dotted; +} + +b, +strong { + font-weight: bold; +} + +dfn { + font-style: italic; +} + +hr { + height: 0; + -moz-box-sizing: content-box; + box-sizing: content-box; +} + +mark { + color: #000; + background: #ff0; +} + +code, +kbd, +pre, +samp { + font-family: monospace, serif; + font-size: 1em; +} + +pre { + white-space: pre-wrap; +} + +q { + quotes: "\201C" "\201D" "\2018" "\2019"; +} + +small { + font-size: 80%; +} + +sub, +sup { + position: relative; + font-size: 75%; + line-height: 0; + vertical-align: baseline; +} + +sup { + top: -0.5em; +} + +sub { + bottom: -0.25em; +} + +img { + border: 0; +} + +svg:not(:root) { + overflow: hidden; +} + +figure { + margin: 0; +} + +fieldset { + padding: 0.35em 0.625em 0.75em; + margin: 0 2px; + border: 1px solid #c0c0c0; +} + +legend { + padding: 0; + border: 0; +} + +button, +input, +select, +textarea { + margin: 0; + font-family: inherit; + font-size: 100%; +} + +button, +input { + line-height: normal; +} + +button, +select { + text-transform: none; +} + +button, +html input[type="button"], +input[type="reset"], +input[type="submit"] { + cursor: pointer; + -webkit-appearance: button; +} + +button[disabled], +html input[disabled] { + cursor: default; +} + +input[type="checkbox"], +input[type="radio"] { + padding: 0; + box-sizing: border-box; +} + +input[type="search"] { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + -webkit-appearance: textfield; +} + +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} + +button::-moz-focus-inner, +input::-moz-focus-inner { + padding: 0; + border: 0; +} + +textarea { + overflow: auto; + vertical-align: top; +} + +table { + border-collapse: collapse; + border-spacing: 0; +} + +@media print { + * { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + .ir a:after, + a[href^="javascript:"]:after, + a[href^="#"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + @page { + margin: 2cm .5cm; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .table td, + .table th { + background-color: #fff !important; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} + +*, +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +html { + font-size: 62.5%; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} + +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.428571429; + color: #333333; + background-color: #ffffff; +} + +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} + +button, +input, +select[multiple], +textarea { + background-image: none; +} + +a { + color: #428bca; + text-decoration: none; +} + +a:hover, +a:focus { + color: #2a6496; + text-decoration: underline; +} + +a:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +img { + vertical-align: middle; +} + +.img-responsive { + display: block; + height: auto; + max-width: 100%; +} + +.img-rounded { + border-radius: 6px; +} + +.img-thumbnail { + display: inline-block; + height: auto; + max-width: 100%; + padding: 4px; + line-height: 1.428571429; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 4px; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} + +.img-circle { + border-radius: 50%; +} + +hr { + margin-top: 20px; + margin-bottom: 20px; + border: 0; + border-top: 1px solid #eeeeee; +} + +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0 0 0 0); + border: 0; +} + +p { + margin: 0 0 10px; +} + +.lead { + margin-bottom: 20px; + font-size: 16.099999999999998px; + font-weight: 200; + line-height: 1.4; +} + +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} + +small { + font-size: 85%; +} + +cite { + font-style: normal; +} + +.text-muted { + color: #999999; +} + +.text-primary { + color: #428bca; +} + +.text-warning { + color: #c09853; +} + +.text-danger { + color: #b94a48; +} + +.text-success { + color: #468847; +} + +.text-info { + color: #3a87ad; +} + +.text-left { + text-align: left; +} + +.text-right { + text-align: right; +} + +.text-center { + text-align: center; +} + +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-weight: 500; + line-height: 1.1; +} + +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small { + font-weight: normal; + line-height: 1; + color: #999999; +} + +h1, +h2, +h3 { + margin-top: 20px; + margin-bottom: 10px; +} + +h4, +h5, +h6 { + margin-top: 10px; + margin-bottom: 10px; +} + +h1, +.h1 { + font-size: 36px; +} + +h2, +.h2 { + font-size: 30px; +} + +h3, +.h3 { + font-size: 24px; +} + +h4, +.h4 { + font-size: 18px; +} + +h5, +.h5 { + font-size: 14px; +} + +h6, +.h6 { + font-size: 12px; +} + +h1 small, +.h1 small { + font-size: 24px; +} + +h2 small, +.h2 small { + font-size: 18px; +} + +h3 small, +.h3 small, +h4 small, +.h4 small { + font-size: 14px; +} + +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eeeeee; +} + +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} + +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} + +.list-unstyled { + padding-left: 0; + list-style: none; +} + +.list-inline { + padding-left: 0; + list-style: none; +} + +.list-inline > li { + display: inline-block; + padding-right: 5px; + padding-left: 5px; +} + +dl { + margin-bottom: 20px; +} + +dt, +dd { + line-height: 1.428571429; +} + +dt { + font-weight: bold; +} + +dd { + margin-left: 0; +} + +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + overflow: hidden; + clear: left; + text-align: right; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } + .dl-horizontal dd:before, + .dl-horizontal dd:after { + display: table; + content: " "; + } + .dl-horizontal dd:after { + clear: both; + } + .dl-horizontal dd:before, + .dl-horizontal dd:after { + display: table; + content: " "; + } + .dl-horizontal dd:after { + clear: both; + } +} + +abbr[title], +abbr[data-original-title] { + cursor: help; + border-bottom: 1px dotted #999999; +} + +abbr.initialism { + font-size: 90%; + text-transform: uppercase; +} + +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + border-left: 5px solid #eeeeee; +} + +blockquote p { + font-size: 17.5px; + font-weight: 300; + line-height: 1.25; +} + +blockquote p:last-child { + margin-bottom: 0; +} + +blockquote small { + display: block; + line-height: 1.428571429; + color: #999999; +} + +blockquote small:before { + content: '\2014 \00A0'; +} + +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + border-right: 5px solid #eeeeee; + border-left: 0; +} + +blockquote.pull-right p, +blockquote.pull-right small { + text-align: right; +} + +blockquote.pull-right small:before { + content: ''; +} + +blockquote.pull-right small:after { + content: '\00A0 \2014'; +} + +q:before, +q:after, +blockquote:before, +blockquote:after { + content: ""; +} + +address { + display: block; + margin-bottom: 20px; + font-style: normal; + line-height: 1.428571429; +} + +code, +pre { + font-family: Monaco, Menlo, Consolas, "Courier New", monospace; +} + +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + white-space: nowrap; + background-color: #f9f2f4; + border-radius: 4px; +} + +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.428571429; + color: #333333; + word-break: break-all; + word-wrap: break-word; + background-color: #f5f5f5; + border: 1px solid #cccccc; + border-radius: 4px; +} + +pre.prettyprint { + margin-bottom: 20px; +} + +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border: 0; +} + +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} + +.container { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} + +.container:before, +.container:after { + display: table; + content: " "; +} + +.container:after { + clear: both; +} + +.container:before, +.container:after { + display: table; + content: " "; +} + +.container:after { + clear: both; +} + +.row { + margin-right: -15px; + margin-left: -15px; +} + +.row:before, +.row:after { + display: table; + content: " "; +} + +.row:after { + clear: both; +} + +.row:before, +.row:after { + display: table; + content: " "; +} + +.row:after { + clear: both; +} + +.col-xs-1, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9, +.col-xs-10, +.col-xs-11, +.col-xs-12, +.col-sm-1, +.col-sm-2, +.col-sm-3, +.col-sm-4, +.col-sm-5, +.col-sm-6, +.col-sm-7, +.col-sm-8, +.col-sm-9, +.col-sm-10, +.col-sm-11, +.col-sm-12, +.col-md-1, +.col-md-2, +.col-md-3, +.col-md-4, +.col-md-5, +.col-md-6, +.col-md-7, +.col-md-8, +.col-md-9, +.col-md-10, +.col-md-11, +.col-md-12, +.col-lg-1, +.col-lg-2, +.col-lg-3, +.col-lg-4, +.col-lg-5, +.col-lg-6, +.col-lg-7, +.col-lg-8, +.col-lg-9, +.col-lg-10, +.col-lg-11, +.col-lg-12 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} + +.col-xs-1, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9, +.col-xs-10, +.col-xs-11 { + float: left; +} + +.col-xs-1 { + width: 8.333333333333332%; +} + +.col-xs-2 { + width: 16.666666666666664%; +} + +.col-xs-3 { + width: 25%; +} + +.col-xs-4 { + width: 33.33333333333333%; +} + +.col-xs-5 { + width: 41.66666666666667%; +} + +.col-xs-6 { + width: 50%; +} + +.col-xs-7 { + width: 58.333333333333336%; +} + +.col-xs-8 { + width: 66.66666666666666%; +} + +.col-xs-9 { + width: 75%; +} + +.col-xs-10 { + width: 83.33333333333334%; +} + +.col-xs-11 { + width: 91.66666666666666%; +} + +.col-xs-12 { + width: 100%; +} + +@media (min-width: 768px) { + .container { + max-width: 750px; + } + .col-sm-1, + .col-sm-2, + .col-sm-3, + .col-sm-4, + .col-sm-5, + .col-sm-6, + .col-sm-7, + .col-sm-8, + .col-sm-9, + .col-sm-10, + .col-sm-11 { + float: left; + } + .col-sm-1 { + width: 8.333333333333332%; + } + .col-sm-2 { + width: 16.666666666666664%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-4 { + width: 33.33333333333333%; + } + .col-sm-5 { + width: 41.66666666666667%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-7 { + width: 58.333333333333336%; + } + .col-sm-8 { + width: 66.66666666666666%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-10 { + width: 83.33333333333334%; + } + .col-sm-11 { + width: 91.66666666666666%; + } + .col-sm-12 { + width: 100%; + } + .col-sm-push-1 { + left: 8.333333333333332%; + } + .col-sm-push-2 { + left: 16.666666666666664%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-4 { + left: 33.33333333333333%; + } + .col-sm-push-5 { + left: 41.66666666666667%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-7 { + left: 58.333333333333336%; + } + .col-sm-push-8 { + left: 66.66666666666666%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-10 { + left: 83.33333333333334%; + } + .col-sm-push-11 { + left: 91.66666666666666%; + } + .col-sm-pull-1 { + right: 8.333333333333332%; + } + .col-sm-pull-2 { + right: 16.666666666666664%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-4 { + right: 33.33333333333333%; + } + .col-sm-pull-5 { + right: 41.66666666666667%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-7 { + right: 58.333333333333336%; + } + .col-sm-pull-8 { + right: 66.66666666666666%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-10 { + right: 83.33333333333334%; + } + .col-sm-pull-11 { + right: 91.66666666666666%; + } + .col-sm-offset-1 { + margin-left: 8.333333333333332%; + } + .col-sm-offset-2 { + margin-left: 16.666666666666664%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-4 { + margin-left: 33.33333333333333%; + } + .col-sm-offset-5 { + margin-left: 41.66666666666667%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-7 { + margin-left: 58.333333333333336%; + } + .col-sm-offset-8 { + margin-left: 66.66666666666666%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-10 { + margin-left: 83.33333333333334%; + } + .col-sm-offset-11 { + margin-left: 91.66666666666666%; + } +} + +@media (min-width: 992px) { + .container { + max-width: 970px; + } + .col-md-1, + .col-md-2, + .col-md-3, + .col-md-4, + .col-md-5, + .col-md-6, + .col-md-7, + .col-md-8, + .col-md-9, + .col-md-10, + .col-md-11 { + float: left; + } + .col-md-1 { + width: 8.333333333333332%; + } + .col-md-2 { + width: 16.666666666666664%; + } + .col-md-3 { + width: 25%; + } + .col-md-4 { + width: 33.33333333333333%; + } + .col-md-5 { + width: 41.66666666666667%; + } + .col-md-6 { + width: 50%; + } + .col-md-7 { + width: 58.333333333333336%; + } + .col-md-8 { + width: 66.66666666666666%; + } + .col-md-9 { + width: 75%; + } + .col-md-10 { + width: 83.33333333333334%; + } + .col-md-11 { + width: 91.66666666666666%; + } + .col-md-12 { + width: 100%; + } + .col-md-push-0 { + left: auto; + } + .col-md-push-1 { + left: 8.333333333333332%; + } + .col-md-push-2 { + left: 16.666666666666664%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-4 { + left: 33.33333333333333%; + } + .col-md-push-5 { + left: 41.66666666666667%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-7 { + left: 58.333333333333336%; + } + .col-md-push-8 { + left: 66.66666666666666%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-10 { + left: 83.33333333333334%; + } + .col-md-push-11 { + left: 91.66666666666666%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-pull-1 { + right: 8.333333333333332%; + } + .col-md-pull-2 { + right: 16.666666666666664%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-4 { + right: 33.33333333333333%; + } + .col-md-pull-5 { + right: 41.66666666666667%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-7 { + right: 58.333333333333336%; + } + .col-md-pull-8 { + right: 66.66666666666666%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-10 { + right: 83.33333333333334%; + } + .col-md-pull-11 { + right: 91.66666666666666%; + } + .col-md-offset-0 { + margin-left: 0; + } + .col-md-offset-1 { + margin-left: 8.333333333333332%; + } + .col-md-offset-2 { + margin-left: 16.666666666666664%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-4 { + margin-left: 33.33333333333333%; + } + .col-md-offset-5 { + margin-left: 41.66666666666667%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-7 { + margin-left: 58.333333333333336%; + } + .col-md-offset-8 { + margin-left: 66.66666666666666%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-10 { + margin-left: 83.33333333333334%; + } + .col-md-offset-11 { + margin-left: 91.66666666666666%; + } +} + +@media (min-width: 1200px) { + .container { + max-width: 1170px; + } + .col-lg-1, + .col-lg-2, + .col-lg-3, + .col-lg-4, + .col-lg-5, + .col-lg-6, + .col-lg-7, + .col-lg-8, + .col-lg-9, + .col-lg-10, + .col-lg-11 { + float: left; + } + .col-lg-1 { + width: 8.333333333333332%; + } + .col-lg-2 { + width: 16.666666666666664%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-4 { + width: 33.33333333333333%; + } + .col-lg-5 { + width: 41.66666666666667%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-7 { + width: 58.333333333333336%; + } + .col-lg-8 { + width: 66.66666666666666%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-10 { + width: 83.33333333333334%; + } + .col-lg-11 { + width: 91.66666666666666%; + } + .col-lg-12 { + width: 100%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-push-1 { + left: 8.333333333333332%; + } + .col-lg-push-2 { + left: 16.666666666666664%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-4 { + left: 33.33333333333333%; + } + .col-lg-push-5 { + left: 41.66666666666667%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-7 { + left: 58.333333333333336%; + } + .col-lg-push-8 { + left: 66.66666666666666%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-10 { + left: 83.33333333333334%; + } + .col-lg-push-11 { + left: 91.66666666666666%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-pull-1 { + right: 8.333333333333332%; + } + .col-lg-pull-2 { + right: 16.666666666666664%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-4 { + right: 33.33333333333333%; + } + .col-lg-pull-5 { + right: 41.66666666666667%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-7 { + right: 58.333333333333336%; + } + .col-lg-pull-8 { + right: 66.66666666666666%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-10 { + right: 83.33333333333334%; + } + .col-lg-pull-11 { + right: 91.66666666666666%; + } + .col-lg-offset-0 { + margin-left: 0; + } + .col-lg-offset-1 { + margin-left: 8.333333333333332%; + } + .col-lg-offset-2 { + margin-left: 16.666666666666664%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-4 { + margin-left: 33.33333333333333%; + } + .col-lg-offset-5 { + margin-left: 41.66666666666667%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-7 { + margin-left: 58.333333333333336%; + } + .col-lg-offset-8 { + margin-left: 66.66666666666666%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-10 { + margin-left: 83.33333333333334%; + } + .col-lg-offset-11 { + margin-left: 91.66666666666666%; + } +} + +table { + max-width: 100%; + background-color: transparent; +} + +th { + text-align: left; +} + +.table { + width: 100%; + margin-bottom: 20px; +} + +.table thead > tr > th, +.table tbody > tr > th, +.table tfoot > tr > th, +.table thead > tr > td, +.table tbody > tr > td, +.table tfoot > tr > td { + padding: 8px; + line-height: 1.428571429; + vertical-align: top; + border-top: 1px solid #dddddd; +} + +.table thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #dddddd; +} + +.table caption + thead tr:first-child th, +.table colgroup + thead tr:first-child th, +.table thead:first-child tr:first-child th, +.table caption + thead tr:first-child td, +.table colgroup + thead tr:first-child td, +.table thead:first-child tr:first-child td { + border-top: 0; +} + +.table tbody + tbody { + border-top: 2px solid #dddddd; +} + +.table .table { + background-color: #ffffff; +} + +.table-condensed thead > tr > th, +.table-condensed tbody > tr > th, +.table-condensed tfoot > tr > th, +.table-condensed thead > tr > td, +.table-condensed tbody > tr > td, +.table-condensed tfoot > tr > td { + padding: 5px; +} + +.table-bordered { + border: 1px solid #dddddd; +} + +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #dddddd; +} + +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} + +.table-striped > tbody > tr:nth-child(odd) > td, +.table-striped > tbody > tr:nth-child(odd) > th { + background-color: #f9f9f9; +} + +.table-hover > tbody > tr:hover > td, +.table-hover > tbody > tr:hover > th { + background-color: #f5f5f5; +} + +table col[class*="col-"] { + display: table-column; + float: none; +} + +table td[class*="col-"], +table th[class*="col-"] { + display: table-cell; + float: none; +} + +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} + +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; + border-color: #d6e9c6; +} + +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td { + background-color: #d0e9c6; + border-color: #c9e2b3; +} + +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; + border-color: #eed3d7; +} + +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td { + background-color: #ebcccc; + border-color: #e6c1c7; +} + +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; + border-color: #fbeed5; +} + +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td { + background-color: #faf2cc; + border-color: #f8e5be; +} + +@media (max-width: 768px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-x: scroll; + overflow-y: hidden; + border: 1px solid #dddddd; + } + .table-responsive > .table { + margin-bottom: 0; + background-color: #fff; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > thead > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > thead > tr:last-child > td, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} + +fieldset { + padding: 0; + margin: 0; + border: 0; +} + +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333333; + border: 0; + border-bottom: 1px solid #e5e5e5; +} + +label { + display: inline-block; + margin-bottom: 5px; + font-weight: bold; +} + +input[type="search"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} + +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + /* IE8-9 */ + + line-height: normal; +} + +input[type="file"] { + display: block; +} + +select[multiple], +select[size] { + height: auto; +} + +select optgroup { + font-family: inherit; + font-size: inherit; + font-style: inherit; +} + +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +input[type="number"]::-webkit-outer-spin-button, +input[type="number"]::-webkit-inner-spin-button { + height: auto; +} + +.form-control:-moz-placeholder { + color: #999999; +} + +.form-control::-moz-placeholder { + color: #999999; +} + +.form-control:-ms-input-placeholder { + color: #999999; +} + +.form-control::-webkit-input-placeholder { + color: #999999; +} + +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.428571429; + color: #555555; + vertical-align: middle; + background-color: #ffffff; + border: 1px solid #cccccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; + transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s; +} + +.form-control:focus { + border-color: #66afe9; + outline: 0; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6); +} + +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + cursor: not-allowed; + background-color: #eeeeee; +} + +textarea.form-control { + height: auto; +} + +.form-group { + margin-bottom: 15px; +} + +.radio, +.checkbox { + display: block; + min-height: 20px; + padding-left: 20px; + margin-top: 10px; + margin-bottom: 10px; + vertical-align: middle; +} + +.radio label, +.checkbox label { + display: inline; + margin-bottom: 0; + font-weight: normal; + cursor: pointer; +} + +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + float: left; + margin-left: -20px; +} + +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} + +.radio-inline, +.checkbox-inline { + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + font-weight: normal; + vertical-align: middle; + cursor: pointer; +} + +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} + +input[type="radio"][disabled], +input[type="checkbox"][disabled], +.radio[disabled], +.radio-inline[disabled], +.checkbox[disabled], +.checkbox-inline[disabled], +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"], +fieldset[disabled] .radio, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} + +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +select.input-sm { + height: 30px; + line-height: 30px; +} + +textarea.input-sm { + height: auto; +} + +.input-lg { + height: 45px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} + +select.input-lg { + height: 45px; + line-height: 45px; +} + +textarea.input-lg { + height: auto; +} + +.has-warning .help-block, +.has-warning .control-label { + color: #c09853; +} + +.has-warning .form-control { + border-color: #c09853; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.has-warning .form-control:focus { + border-color: #a47e3c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e; +} + +.has-warning .input-group-addon { + color: #c09853; + background-color: #fcf8e3; + border-color: #c09853; +} + +.has-error .help-block, +.has-error .control-label { + color: #b94a48; +} + +.has-error .form-control { + border-color: #b94a48; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.has-error .form-control:focus { + border-color: #953b39; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392; +} + +.has-error .input-group-addon { + color: #b94a48; + background-color: #f2dede; + border-color: #b94a48; +} + +.has-success .help-block, +.has-success .control-label { + color: #468847; +} + +.has-success .form-control { + border-color: #468847; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} + +.has-success .form-control:focus { + border-color: #356635; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b; +} + +.has-success .input-group-addon { + color: #468847; + background-color: #dff0d8; + border-color: #468847; +} + +.form-control-static { + padding-top: 7px; + margin-bottom: 0; +} + +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; +} + +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + padding-left: 0; + margin-top: 0; + margin-bottom: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + float: none; + margin-left: 0; + } +} + +.form-horizontal .control-label, +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + padding-top: 7px; + margin-top: 0; + margin-bottom: 0; +} + +.form-horizontal .form-group { + margin-right: -15px; + margin-left: -15px; +} + +.form-horizontal .form-group:before, +.form-horizontal .form-group:after { + display: table; + content: " "; +} + +.form-horizontal .form-group:after { + clear: both; +} + +.form-horizontal .form-group:before, +.form-horizontal .form-group:after { + display: table; + content: " "; +} + +.form-horizontal .form-group:after { + clear: both; +} + +@media (min-width: 768px) { + .form-horizontal .control-label { + text-align: right; + } +} + +.btn { + display: inline-block; + padding: 6px 12px; + margin-bottom: 0; + font-size: 14px; + font-weight: normal; + line-height: 1.428571429; + text-align: center; + white-space: nowrap; + vertical-align: middle; + cursor: pointer; + border: 1px solid transparent; + border-radius: 4px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + -o-user-select: none; + user-select: none; +} + +.btn:focus { + outline: thin dotted #333; + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} + +.btn:hover, +.btn:focus { + color: #333333; + text-decoration: none; +} + +.btn:active, +.btn.active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} + +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + pointer-events: none; + cursor: not-allowed; + opacity: 0.65; + filter: alpha(opacity=65); + -webkit-box-shadow: none; + box-shadow: none; +} + +.btn-default { + color: #333333; + background-color: #ffffff; + border-color: #cccccc; +} + +.btn-default:hover, +.btn-default:focus, +.btn-default:active, +.btn-default.active, +.open .dropdown-toggle.btn-default { + color: #333333; + background-color: #ebebeb; + border-color: #adadad; +} + +.btn-default:active, +.btn-default.active, +.open .dropdown-toggle.btn-default { + background-image: none; +} + +.btn-default.disabled, +.btn-default[disabled], +fieldset[disabled] .btn-default, +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled:active, +.btn-default[disabled]:active, +fieldset[disabled] .btn-default:active, +.btn-default.disabled.active, +.btn-default[disabled].active, +fieldset[disabled] .btn-default.active { + background-color: #ffffff; + border-color: #cccccc; +} + +.btn-primary { + color: #ffffff; + background-color: #428bca; + border-color: #357ebd; +} + +.btn-primary:hover, +.btn-primary:focus, +.btn-primary:active, +.btn-primary.active, +.open .dropdown-toggle.btn-primary { + color: #ffffff; + background-color: #3276b1; + border-color: #285e8e; +} + +.btn-primary:active, +.btn-primary.active, +.open .dropdown-toggle.btn-primary { + background-image: none; +} + +.btn-primary.disabled, +.btn-primary[disabled], +fieldset[disabled] .btn-primary, +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled:active, +.btn-primary[disabled]:active, +fieldset[disabled] .btn-primary:active, +.btn-primary.disabled.active, +.btn-primary[disabled].active, +fieldset[disabled] .btn-primary.active { + background-color: #428bca; + border-color: #357ebd; +} + +.btn-warning { + color: #ffffff; + background-color: #f0ad4e; + border-color: #eea236; +} + +.btn-warning:hover, +.btn-warning:focus, +.btn-warning:active, +.btn-warning.active, +.open .dropdown-toggle.btn-warning { + color: #ffffff; + background-color: #ed9c28; + border-color: #d58512; +} + +.btn-warning:active, +.btn-warning.active, +.open .dropdown-toggle.btn-warning { + background-image: none; +} + +.btn-warning.disabled, +.btn-warning[disabled], +fieldset[disabled] .btn-warning, +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled:active, +.btn-warning[disabled]:active, +fieldset[disabled] .btn-warning:active, +.btn-warning.disabled.active, +.btn-warning[disabled].active, +fieldset[disabled] .btn-warning.active { + background-color: #f0ad4e; + border-color: #eea236; +} + +.btn-danger { + color: #ffffff; + background-color: #d9534f; + border-color: #d43f3a; +} + +.btn-danger:hover, +.btn-danger:focus, +.btn-danger:active, +.btn-danger.active, +.open .dropdown-toggle.btn-danger { + color: #ffffff; + background-color: #d2322d; + border-color: #ac2925; +} + +.btn-danger:active, +.btn-danger.active, +.open .dropdown-toggle.btn-danger { + background-image: none; +} + +.btn-danger.disabled, +.btn-danger[disabled], +fieldset[disabled] .btn-danger, +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled:active, +.btn-danger[disabled]:active, +fieldset[disabled] .btn-danger:active, +.btn-danger.disabled.active, +.btn-danger[disabled].active, +fieldset[disabled] .btn-danger.active { + background-color: #d9534f; + border-color: #d43f3a; +} + +.btn-success { + color: #ffffff; + background-color: #5cb85c; + border-color: #4cae4c; +} + +.btn-success:hover, +.btn-success:focus, +.btn-success:active, +.btn-success.active, +.open .dropdown-toggle.btn-success { + color: #ffffff; + background-color: #47a447; + border-color: #398439; +} + +.btn-success:active, +.btn-success.active, +.open .dropdown-toggle.btn-success { + background-image: none; +} + +.btn-success.disabled, +.btn-success[disabled], +fieldset[disabled] .btn-success, +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled:active, +.btn-success[disabled]:active, +fieldset[disabled] .btn-success:active, +.btn-success.disabled.active, +.btn-success[disabled].active, +fieldset[disabled] .btn-success.active { + background-color: #5cb85c; + border-color: #4cae4c; +} + +.btn-info { + color: #ffffff; + background-color: #5bc0de; + border-color: #46b8da; +} + +.btn-info:hover, +.btn-info:focus, +.btn-info:active, +.btn-info.active, +.open .dropdown-toggle.btn-info { + color: #ffffff; + background-color: #39b3d7; + border-color: #269abc; +} + +.btn-info:active, +.btn-info.active, +.open .dropdown-toggle.btn-info { + background-image: none; +} + +.btn-info.disabled, +.btn-info[disabled], +fieldset[disabled] .btn-info, +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled:active, +.btn-info[disabled]:active, +fieldset[disabled] .btn-info:active, +.btn-info.disabled.active, +.btn-info[disabled].active, +fieldset[disabled] .btn-info.active { + background-color: #5bc0de; + border-color: #46b8da; +} + +.btn-link { + font-weight: normal; + color: #428bca; + cursor: pointer; + border-radius: 0; +} + +.btn-link, +.btn-link:active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} + +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} + +.btn-link:hover, +.btn-link:focus { + color: #2a6496; + text-decoration: underline; + background-color: transparent; +} + +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #999999; + text-decoration: none; +} + +.btn-lg { + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} + +.btn-sm, +.btn-xs { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +.btn-xs { + padding: 1px 5px; +} + +.btn-block { + display: block; + width: 100%; + padding-right: 0; + padding-left: 0; +} + +.btn-block + .btn-block { + margin-top: 5px; +} + +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} + +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + transition: opacity 0.15s linear; +} + +.fade.in { + opacity: 1; +} + +.collapse { + display: none; +} + +.collapse.in { + display: block; +} + +.collapsing { + position: relative; + height: 0; + overflow: hidden; + -webkit-transition: height 0.35s ease; + transition: height 0.35s ease; +} + +@font-face { + font-family: 'Glyphicons Halflings'; + src: url('../fonts/glyphicons-halflings-regular.eot'); + src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg'); +} + +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: 'Glyphicons Halflings'; + -webkit-font-smoothing: antialiased; + font-style: normal; + font-weight: normal; + line-height: 1; +} + +.glyphicon-asterisk:before { + content: "\2a"; +} + +.glyphicon-plus:before { + content: "\2b"; +} + +.glyphicon-euro:before { + content: "\20ac"; +} + +.glyphicon-minus:before { + content: "\2212"; +} + +.glyphicon-cloud:before { + content: "\2601"; +} + +.glyphicon-envelope:before { + content: "\2709"; +} + +.glyphicon-pencil:before { + content: "\270f"; +} + +.glyphicon-glass:before { + content: "\e001"; +} + +.glyphicon-music:before { + content: "\e002"; +} + +.glyphicon-search:before { + content: "\e003"; +} + +.glyphicon-heart:before { + content: "\e005"; +} + +.glyphicon-star:before { + content: "\e006"; +} + +.glyphicon-star-empty:before { + content: "\e007"; +} + +.glyphicon-user:before { + content: "\e008"; +} + +.glyphicon-film:before { + content: "\e009"; +} + +.glyphicon-th-large:before { + content: "\e010"; +} + +.glyphicon-th:before { + content: "\e011"; +} + +.glyphicon-th-list:before { + content: "\e012"; +} + +.glyphicon-ok:before { + content: "\e013"; +} + +.glyphicon-remove:before { + content: "\e014"; +} + +.glyphicon-zoom-in:before { + content: "\e015"; +} + +.glyphicon-zoom-out:before { + content: "\e016"; +} + +.glyphicon-off:before { + content: "\e017"; +} + +.glyphicon-signal:before { + content: "\e018"; +} + +.glyphicon-cog:before { + content: "\e019"; +} + +.glyphicon-trash:before { + content: "\e020"; +} + +.glyphicon-home:before { + content: "\e021"; +} + +.glyphicon-file:before { + content: "\e022"; +} + +.glyphicon-time:before { + content: "\e023"; +} + +.glyphicon-road:before { + content: "\e024"; +} + +.glyphicon-download-alt:before { + content: "\e025"; +} + +.glyphicon-download:before { + content: "\e026"; +} + +.glyphicon-upload:before { + content: "\e027"; +} + +.glyphicon-inbox:before { + content: "\e028"; +} + +.glyphicon-play-circle:before { + content: "\e029"; +} + +.glyphicon-repeat:before { + content: "\e030"; +} + +.glyphicon-refresh:before { + content: "\e031"; +} + +.glyphicon-list-alt:before { + content: "\e032"; +} + +.glyphicon-flag:before { + content: "\e034"; +} + +.glyphicon-headphones:before { + content: "\e035"; +} + +.glyphicon-volume-off:before { + content: "\e036"; +} + +.glyphicon-volume-down:before { + content: "\e037"; +} + +.glyphicon-volume-up:before { + content: "\e038"; +} + +.glyphicon-qrcode:before { + content: "\e039"; +} + +.glyphicon-barcode:before { + content: "\e040"; +} + +.glyphicon-tag:before { + content: "\e041"; +} + +.glyphicon-tags:before { + content: "\e042"; +} + +.glyphicon-book:before { + content: "\e043"; +} + +.glyphicon-print:before { + content: "\e045"; +} + +.glyphicon-font:before { + content: "\e047"; +} + +.glyphicon-bold:before { + content: "\e048"; +} + +.glyphicon-italic:before { + content: "\e049"; +} + +.glyphicon-text-height:before { + content: "\e050"; +} + +.glyphicon-text-width:before { + content: "\e051"; +} + +.glyphicon-align-left:before { + content: "\e052"; +} + +.glyphicon-align-center:before { + content: "\e053"; +} + +.glyphicon-align-right:before { + content: "\e054"; +} + +.glyphicon-align-justify:before { + content: "\e055"; +} + +.glyphicon-list:before { + content: "\e056"; +} + +.glyphicon-indent-left:before { + content: "\e057"; +} + +.glyphicon-indent-right:before { + content: "\e058"; +} + +.glyphicon-facetime-video:before { + content: "\e059"; +} + +.glyphicon-picture:before { + content: "\e060"; +} + +.glyphicon-map-marker:before { + content: "\e062"; +} + +.glyphicon-adjust:before { + content: "\e063"; +} + +.glyphicon-tint:before { + content: "\e064"; +} + +.glyphicon-edit:before { + content: "\e065"; +} + +.glyphicon-share:before { + content: "\e066"; +} + +.glyphicon-check:before { + content: "\e067"; +} + +.glyphicon-move:before { + content: "\e068"; +} + +.glyphicon-step-backward:before { + content: "\e069"; +} + +.glyphicon-fast-backward:before { + content: "\e070"; +} + +.glyphicon-backward:before { + content: "\e071"; +} + +.glyphicon-play:before { + content: "\e072"; +} + +.glyphicon-pause:before { + content: "\e073"; +} + +.glyphicon-stop:before { + content: "\e074"; +} + +.glyphicon-forward:before { + content: "\e075"; +} + +.glyphicon-fast-forward:before { + content: "\e076"; +} + +.glyphicon-step-forward:before { + content: "\e077"; +} + +.glyphicon-eject:before { + content: "\e078"; +} + +.glyphicon-chevron-left:before { + content: "\e079"; +} + +.glyphicon-chevron-right:before { + content: "\e080"; +} + +.glyphicon-plus-sign:before { + content: "\e081"; +} + +.glyphicon-minus-sign:before { + content: "\e082"; +} + +.glyphicon-remove-sign:before { + content: "\e083"; +} + +.glyphicon-ok-sign:before { + content: "\e084"; +} + +.glyphicon-question-sign:before { + content: "\e085"; +} + +.glyphicon-info-sign:before { + content: "\e086"; +} + +.glyphicon-screenshot:before { + content: "\e087"; +} + +.glyphicon-remove-circle:before { + content: "\e088"; +} + +.glyphicon-ok-circle:before { + content: "\e089"; +} + +.glyphicon-ban-circle:before { + content: "\e090"; +} + +.glyphicon-arrow-left:before { + content: "\e091"; +} + +.glyphicon-arrow-right:before { + content: "\e092"; +} + +.glyphicon-arrow-up:before { + content: "\e093"; +} + +.glyphicon-arrow-down:before { + content: "\e094"; +} + +.glyphicon-share-alt:before { + content: "\e095"; +} + +.glyphicon-resize-full:before { + content: "\e096"; +} + +.glyphicon-resize-small:before { + content: "\e097"; +} + +.glyphicon-exclamation-sign:before { + content: "\e101"; +} + +.glyphicon-gift:before { + content: "\e102"; +} + +.glyphicon-leaf:before { + content: "\e103"; +} + +.glyphicon-eye-open:before { + content: "\e105"; +} + +.glyphicon-eye-close:before { + content: "\e106"; +} + +.glyphicon-warning-sign:before { + content: "\e107"; +} + +.glyphicon-plane:before { + content: "\e108"; +} + +.glyphicon-random:before { + content: "\e110"; +} + +.glyphicon-comment:before { + content: "\e111"; +} + +.glyphicon-magnet:before { + content: "\e112"; +} + +.glyphicon-chevron-up:before { + content: "\e113"; +} + +.glyphicon-chevron-down:before { + content: "\e114"; +} + +.glyphicon-retweet:before { + content: "\e115"; +} + +.glyphicon-shopping-cart:before { + content: "\e116"; +} + +.glyphicon-folder-close:before { + content: "\e117"; +} + +.glyphicon-folder-open:before { + content: "\e118"; +} + +.glyphicon-resize-vertical:before { + content: "\e119"; +} + +.glyphicon-resize-horizontal:before { + content: "\e120"; +} + +.glyphicon-hdd:before { + content: "\e121"; +} + +.glyphicon-bullhorn:before { + content: "\e122"; +} + +.glyphicon-certificate:before { + content: "\e124"; +} + +.glyphicon-thumbs-up:before { + content: "\e125"; +} + +.glyphicon-thumbs-down:before { + content: "\e126"; +} + +.glyphicon-hand-right:before { + content: "\e127"; +} + +.glyphicon-hand-left:before { + content: "\e128"; +} + +.glyphicon-hand-up:before { + content: "\e129"; +} + +.glyphicon-hand-down:before { + content: "\e130"; +} + +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} + +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} + +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} + +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} + +.glyphicon-globe:before { + content: "\e135"; +} + +.glyphicon-tasks:before { + content: "\e137"; +} + +.glyphicon-filter:before { + content: "\e138"; +} + +.glyphicon-fullscreen:before { + content: "\e140"; +} + +.glyphicon-dashboard:before { + content: "\e141"; +} + +.glyphicon-heart-empty:before { + content: "\e143"; +} + +.glyphicon-link:before { + content: "\e144"; +} + +.glyphicon-phone:before { + content: "\e145"; +} + +.glyphicon-usd:before { + content: "\e148"; +} + +.glyphicon-gbp:before { + content: "\e149"; +} + +.glyphicon-sort:before { + content: "\e150"; +} + +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} + +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} + +.glyphicon-sort-by-order:before { + content: "\e153"; +} + +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} + +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} + +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} + +.glyphicon-unchecked:before { + content: "\e157"; +} + +.glyphicon-expand:before { + content: "\e158"; +} + +.glyphicon-collapse-down:before { + content: "\e159"; +} + +.glyphicon-collapse-up:before { + content: "\e160"; +} + +.glyphicon-log-in:before { + content: "\e161"; +} + +.glyphicon-flash:before { + content: "\e162"; +} + +.glyphicon-log-out:before { + content: "\e163"; +} + +.glyphicon-new-window:before { + content: "\e164"; +} + +.glyphicon-record:before { + content: "\e165"; +} + +.glyphicon-save:before { + content: "\e166"; +} + +.glyphicon-open:before { + content: "\e167"; +} + +.glyphicon-saved:before { + content: "\e168"; +} + +.glyphicon-import:before { + content: "\e169"; +} + +.glyphicon-export:before { + content: "\e170"; +} + +.glyphicon-send:before { + content: "\e171"; +} + +.glyphicon-floppy-disk:before { + content: "\e172"; +} + +.glyphicon-floppy-saved:before { + content: "\e173"; +} + +.glyphicon-floppy-remove:before { + content: "\e174"; +} + +.glyphicon-floppy-save:before { + content: "\e175"; +} + +.glyphicon-floppy-open:before { + content: "\e176"; +} + +.glyphicon-credit-card:before { + content: "\e177"; +} + +.glyphicon-transfer:before { + content: "\e178"; +} + +.glyphicon-cutlery:before { + content: "\e179"; +} + +.glyphicon-header:before { + content: "\e180"; +} + +.glyphicon-compressed:before { + content: "\e181"; +} + +.glyphicon-earphone:before { + content: "\e182"; +} + +.glyphicon-phone-alt:before { + content: "\e183"; +} + +.glyphicon-tower:before { + content: "\e184"; +} + +.glyphicon-stats:before { + content: "\e185"; +} + +.glyphicon-sd-video:before { + content: "\e186"; +} + +.glyphicon-hd-video:before { + content: "\e187"; +} + +.glyphicon-subtitles:before { + content: "\e188"; +} + +.glyphicon-sound-stereo:before { + content: "\e189"; +} + +.glyphicon-sound-dolby:before { + content: "\e190"; +} + +.glyphicon-sound-5-1:before { + content: "\e191"; +} + +.glyphicon-sound-6-1:before { + content: "\e192"; +} + +.glyphicon-sound-7-1:before { + content: "\e193"; +} + +.glyphicon-copyright-mark:before { + content: "\e194"; +} + +.glyphicon-registration-mark:before { + content: "\e195"; +} + +.glyphicon-cloud-download:before { + content: "\e197"; +} + +.glyphicon-cloud-upload:before { + content: "\e198"; +} + +.glyphicon-tree-conifer:before { + content: "\e199"; +} + +.glyphicon-tree-deciduous:before { + content: "\e200"; +} + +.glyphicon-briefcase:before { + content: "\1f4bc"; +} + +.glyphicon-calendar:before { + content: "\1f4c5"; +} + +.glyphicon-pushpin:before { + content: "\1f4cc"; +} + +.glyphicon-paperclip:before { + content: "\1f4ce"; +} + +.glyphicon-camera:before { + content: "\1f4f7"; +} + +.glyphicon-lock:before { + content: "\1f512"; +} + +.glyphicon-bell:before { + content: "\1f514"; +} + +.glyphicon-bookmark:before { + content: "\1f516"; +} + +.glyphicon-fire:before { + content: "\1f525"; +} + +.glyphicon-wrench:before { + content: "\1f527"; +} + +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px solid #000000; + border-right: 4px solid transparent; + border-bottom: 0 dotted; + border-left: 4px solid transparent; + content: ""; +} + +.dropdown { + position: relative; +} + +.dropdown-toggle:focus { + outline: 0; +} + +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + font-size: 14px; + list-style: none; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + background-clip: padding-box; +} + +.dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} + +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: normal; + line-height: 1.428571429; + color: #333333; + white-space: nowrap; +} + +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + color: #ffffff; + text-decoration: none; + background-color: #428bca; +} + +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #ffffff; + text-decoration: none; + background-color: #428bca; + outline: 0; +} + +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #999999; +} + +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + cursor: not-allowed; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled=false); +} + +.open > .dropdown-menu { + display: block; +} + +.open > a { + outline: 0; +} + +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.428571429; + color: #999999; +} + +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; +} + +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} + +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + border-top: 0 dotted; + border-bottom: 4px solid #000000; + content: ""; +} + +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 1px; +} + +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto; + } +} + +.btn-default .caret { + border-top-color: #333333; +} + +.btn-primary .caret, +.btn-success .caret, +.btn-warning .caret, +.btn-danger .caret, +.btn-info .caret { + border-top-color: #fff; +} + +.dropup .btn-default .caret { + border-bottom-color: #333333; +} + +.dropup .btn-primary .caret, +.dropup .btn-success .caret, +.dropup .btn-warning .caret, +.dropup .btn-danger .caret, +.dropup .btn-info .caret { + border-bottom-color: #fff; +} + +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} + +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} + +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} + +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus { + outline: none; +} + +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} + +.btn-toolbar:before, +.btn-toolbar:after { + display: table; + content: " "; +} + +.btn-toolbar:after { + clear: both; +} + +.btn-toolbar:before, +.btn-toolbar:after { + display: table; + content: " "; +} + +.btn-toolbar:after { + clear: both; +} + +.btn-toolbar .btn-group { + float: left; +} + +.btn-toolbar > .btn + .btn, +.btn-toolbar > .btn-group + .btn, +.btn-toolbar > .btn + .btn-group, +.btn-toolbar > .btn-group + .btn-group { + margin-left: 5px; +} + +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} + +.btn-group > .btn:first-child { + margin-left: 0; +} + +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.btn-group > .btn-group { + float: left; +} + +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} + +.btn-group > .btn-group:first-child > .btn:last-child, +.btn-group > .btn-group:first-child > .dropdown-toggle { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.btn-group > .btn-group:last-child > .btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} + +.btn-group-xs > .btn { + padding: 5px 10px; + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} + +.btn-group > .btn + .dropdown-toggle { + padding-right: 8px; + padding-left: 8px; +} + +.btn-group > .btn-lg + .dropdown-toggle { + padding-right: 12px; + padding-left: 12px; +} + +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} + +.btn .caret { + margin-left: 0; +} + +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} + +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} + +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group { + display: block; + float: none; + width: 100%; + max-width: 100%; +} + +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after { + display: table; + content: " "; +} + +.btn-group-vertical > .btn-group:after { + clear: both; +} + +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after { + display: table; + content: " "; +} + +.btn-group-vertical > .btn-group:after { + clear: both; +} + +.btn-group-vertical > .btn-group > .btn { + float: none; +} + +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} + +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} + +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-right-radius: 0; + border-bottom-left-radius: 4px; + border-top-left-radius: 0; +} + +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} + +.btn-group-vertical > .btn-group:first-child > .btn:last-child, +.btn-group-vertical > .btn-group:first-child > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.btn-group-vertical > .btn-group:last-child > .btn:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.btn-group-justified { + display: table; + width: 100%; + border-collapse: separate; + table-layout: fixed; +} + +.btn-group-justified .btn { + display: table-cell; + float: none; + width: 1%; +} + +[data-toggle="buttons"] > .btn > input[type="radio"], +[data-toggle="buttons"] > .btn > input[type="checkbox"] { + display: none; +} + +.input-group { + position: relative; + display: table; + border-collapse: separate; +} + +.input-group.col { + float: none; + padding-right: 0; + padding-left: 0; +} + +.input-group .form-control { + width: 100%; + margin-bottom: 0; +} + +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 45px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.33; + border-radius: 6px; +} + +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 45px; + line-height: 45px; +} + +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn { + height: auto; +} + +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} + +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} + +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn { + height: auto; +} + +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} + +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} + +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} + +.input-group-addon { + padding: 6px 12px; + font-size: 14px; + font-weight: normal; + line-height: 1; + text-align: center; + background-color: #eeeeee; + border: 1px solid #cccccc; + border-radius: 4px; +} + +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; +} + +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px; +} + +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} + +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.input-group-addon:first-child { + border-right: 0; +} + +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child) { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} + +.input-group-addon:last-child { + border-left: 0; +} + +.input-group-btn { + position: relative; + white-space: nowrap; +} + +.input-group-btn > .btn { + position: relative; +} + +.input-group-btn > .btn + .btn { + margin-left: -4px; +} + +.input-group-btn > .btn:hover, +.input-group-btn > .btn:active { + z-index: 2; +} + +.nav { + padding-left: 0; + margin-bottom: 0; + list-style: none; +} + +.nav:before, +.nav:after { + display: table; + content: " "; +} + +.nav:after { + clear: both; +} + +.nav:before, +.nav:after { + display: table; + content: " "; +} + +.nav:after { + clear: both; +} + +.nav > li { + position: relative; + display: block; +} + +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} + +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} + +.nav > li.disabled > a { + color: #999999; +} + +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #999999; + text-decoration: none; + cursor: not-allowed; + background-color: transparent; +} + +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #428bca; +} + +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} + +.nav > li > a > img { + max-width: none; +} + +.nav-tabs { + border-bottom: 1px solid #dddddd; +} + +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} + +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.428571429; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} + +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #dddddd; +} + +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + cursor: default; + background-color: #ffffff; + border: 1px solid #dddddd; + border-bottom-color: transparent; +} + +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} + +.nav-tabs.nav-justified > li { + float: none; +} + +.nav-tabs.nav-justified > li > a { + text-align: center; +} + +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } +} + +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-bottom: 1px solid #dddddd; +} + +.nav-tabs.nav-justified > .active > a { + border-bottom-color: #ffffff; +} + +.nav-pills > li { + float: left; +} + +.nav-pills > li > a { + border-radius: 5px; +} + +.nav-pills > li + li { + margin-left: 2px; +} + +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #ffffff; + background-color: #428bca; +} + +.nav-stacked > li { + float: none; +} + +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} + +.nav-justified { + width: 100%; +} + +.nav-justified > li { + float: none; +} + +.nav-justified > li > a { + text-align: center; +} + +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } +} + +.nav-tabs-justified { + border-bottom: 0; +} + +.nav-tabs-justified > li > a { + margin-right: 0; + border-bottom: 1px solid #dddddd; +} + +.nav-tabs-justified > .active > a { + border-bottom-color: #ffffff; +} + +.tabbable:before, +.tabbable:after { + display: table; + content: " "; +} + +.tabbable:after { + clear: both; +} + +.tabbable:before, +.tabbable:after { + display: table; + content: " "; +} + +.tabbable:after { + clear: both; +} + +.tab-content > .tab-pane, +.pill-content > .pill-pane { + display: none; +} + +.tab-content > .active, +.pill-content > .active { + display: block; +} + +.nav .caret { + border-top-color: #428bca; + border-bottom-color: #428bca; +} + +.nav a:hover .caret { + border-top-color: #2a6496; + border-bottom-color: #2a6496; +} + +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.navbar { + position: relative; + z-index: 1000; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent; +} + +.navbar:before, +.navbar:after { + display: table; + content: " "; +} + +.navbar:after { + clear: both; +} + +.navbar:before, +.navbar:after { + display: table; + content: " "; +} + +.navbar:after { + clear: both; +} + +@media (min-width: 768px) { + .navbar { + border-radius: 4px; + } +} + +.navbar-header:before, +.navbar-header:after { + display: table; + content: " "; +} + +.navbar-header:after { + clear: both; +} + +.navbar-header:before, +.navbar-header:after { + display: table; + content: " "; +} + +.navbar-header:after { + clear: both; +} + +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} + +.navbar-collapse { + max-height: 340px; + padding-right: 15px; + padding-left: 15px; + overflow-x: visible; + border-top: 1px solid transparent; + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} + +.navbar-collapse:before, +.navbar-collapse:after { + display: table; + content: " "; +} + +.navbar-collapse:after { + clear: both; +} + +.navbar-collapse:before, +.navbar-collapse:after { + display: table; + content: " "; +} + +.navbar-collapse:after { + clear: both; +} + +.navbar-collapse.in { + overflow-y: auto; +} + +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-collapse .navbar-nav.navbar-left:first-child { + margin-left: -15px; + } + .navbar-collapse .navbar-nav.navbar-right:last-child { + margin-right: -15px; + } + .navbar-collapse .navbar-text:last-child { + margin-right: 0; + } +} + +.container > .navbar-header, +.container > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} + +@media (min-width: 768px) { + .container > .navbar-header, + .container > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} + +.navbar-static-top { + border-width: 0 0 1px; +} + +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} + +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + border-width: 0 0 1px; +} + +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} + +.navbar-fixed-top { + top: 0; + z-index: 1030; +} + +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; +} + +.navbar-brand { + float: left; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; +} + +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} + +@media (min-width: 768px) { + .navbar > .container .navbar-brand { + margin-left: -15px; + } +} + +.navbar-toggle { + position: relative; + float: right; + padding: 9px 10px; + margin-top: 8px; + margin-right: 15px; + margin-bottom: 8px; + background-color: transparent; + border: 1px solid transparent; + border-radius: 4px; +} + +.navbar-toggle .icon-bar { + display: block; + width: 22px; + height: 2px; + border-radius: 1px; +} + +.navbar-toggle .icon-bar + .icon-bar { + margin-top: 4px; +} + +@media (min-width: 768px) { + .navbar-toggle { + display: none; + } +} + +.navbar-nav { + margin: 7.5px -15px; +} + +.navbar-nav > li > a { + padding-top: 10px; + padding-bottom: 10px; + line-height: 20px; +} + +@media (max-width: 767px) { + .navbar-nav .open .dropdown-menu { + position: static; + float: none; + width: auto; + margin-top: 0; + background-color: transparent; + border: 0; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} + +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; + } +} + +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + } +} + +.navbar-form { + padding: 10px 15px; + margin-top: 8px; + margin-right: -15px; + margin-bottom: 8px; + margin-left: -15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); +} + +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + padding-left: 0; + margin-top: 0; + margin-bottom: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + float: none; + margin-left: 0; + } +} + +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } +} + +@media (min-width: 768px) { + .navbar-form { + width: auto; + padding-top: 0; + padding-bottom: 0; + margin-right: 0; + margin-left: 0; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} + +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} + +.navbar-nav.pull-right > li > .dropdown-menu, +.navbar-nav > li > .dropdown-menu.pull-right { + right: 0; + left: auto; +} + +.navbar-btn { + margin-top: 8px; + margin-bottom: 8px; +} + +.navbar-text { + float: left; + margin-top: 15px; + margin-bottom: 15px; +} + +@media (min-width: 768px) { + .navbar-text { + margin-right: 15px; + margin-left: 15px; + } +} + +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} + +.navbar-default .navbar-brand { + color: #777777; +} + +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} + +.navbar-default .navbar-text { + color: #777777; +} + +.navbar-default .navbar-nav > li > a { + color: #777777; +} + +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333333; + background-color: transparent; +} + +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555555; + background-color: #e7e7e7; +} + +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #cccccc; + background-color: transparent; +} + +.navbar-default .navbar-toggle { + border-color: #dddddd; +} + +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #dddddd; +} + +.navbar-default .navbar-toggle .icon-bar { + background-color: #cccccc; +} + +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e6e6e6; +} + +.navbar-default .navbar-nav > .dropdown > a:hover .caret, +.navbar-default .navbar-nav > .dropdown > a:focus .caret { + border-top-color: #333333; + border-bottom-color: #333333; +} + +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + color: #555555; + background-color: #e7e7e7; +} + +.navbar-default .navbar-nav > .open > a .caret, +.navbar-default .navbar-nav > .open > a:hover .caret, +.navbar-default .navbar-nav > .open > a:focus .caret { + border-top-color: #555555; + border-bottom-color: #555555; +} + +.navbar-default .navbar-nav > .dropdown > a .caret { + border-top-color: #777777; + border-bottom-color: #777777; +} + +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #cccccc; + background-color: transparent; + } +} + +.navbar-default .navbar-link { + color: #777777; +} + +.navbar-default .navbar-link:hover { + color: #333333; +} + +.navbar-inverse { + background-color: #222222; + border-color: #080808; +} + +.navbar-inverse .navbar-brand { + color: #999999; +} + +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #ffffff; + background-color: transparent; +} + +.navbar-inverse .navbar-text { + color: #999999; +} + +.navbar-inverse .navbar-nav > li > a { + color: #999999; +} + +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #ffffff; + background-color: transparent; +} + +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #ffffff; + background-color: #080808; +} + +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444444; + background-color: transparent; +} + +.navbar-inverse .navbar-toggle { + border-color: #333333; +} + +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333333; +} + +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #ffffff; +} + +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} + +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + color: #ffffff; + background-color: #080808; +} + +.navbar-inverse .navbar-nav > .dropdown > a:hover .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +.navbar-inverse .navbar-nav > .dropdown > a .caret { + border-top-color: #999999; + border-bottom-color: #999999; +} + +.navbar-inverse .navbar-nav > .open > a .caret, +.navbar-inverse .navbar-nav > .open > a:hover .caret, +.navbar-inverse .navbar-nav > .open > a:focus .caret { + border-top-color: #ffffff; + border-bottom-color: #ffffff; +} + +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #999999; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #ffffff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #ffffff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444444; + background-color: transparent; + } +} + +.navbar-inverse .navbar-link { + color: #999999; +} + +.navbar-inverse .navbar-link:hover { + color: #ffffff; +} + +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; +} + +.breadcrumb > li { + display: inline-block; +} + +.breadcrumb > li + li:before { + padding: 0 5px; + color: #cccccc; + content: "/\00a0"; +} + +.breadcrumb > .active { + color: #999999; +} + +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} + +.pagination > li { + display: inline; +} + +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + margin-left: -1px; + line-height: 1.428571429; + text-decoration: none; + background-color: #ffffff; + border: 1px solid #dddddd; +} + +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} + +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} + +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + background-color: #eeeeee; +} + +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 2; + color: #ffffff; + cursor: default; + background-color: #428bca; + border-color: #428bca; +} + +.pagination > .disabled > span, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #999999; + cursor: not-allowed; + background-color: #ffffff; + border-color: #dddddd; +} + +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; +} + +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-bottom-left-radius: 6px; + border-top-left-radius: 6px; +} + +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} + +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; +} + +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-bottom-left-radius: 3px; + border-top-left-radius: 3px; +} + +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} + +.pager { + padding-left: 0; + margin: 20px 0; + text-align: center; + list-style: none; +} + +.pager:before, +.pager:after { + display: table; + content: " "; +} + +.pager:after { + clear: both; +} + +.pager:before, +.pager:after { + display: table; + content: " "; +} + +.pager:after { + clear: both; +} + +.pager li { + display: inline; +} + +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 15px; +} + +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} + +.pager .next > a, +.pager .next > span { + float: right; +} + +.pager .previous > a, +.pager .previous > span { + float: left; +} + +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #999999; + cursor: not-allowed; + background-color: #ffffff; +} + +.label { + display: inline; + padding: .2em .6em .3em; + font-size: 75%; + font-weight: bold; + line-height: 1; + color: #ffffff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: .25em; +} + +.label[href]:hover, +.label[href]:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} + +.label:empty { + display: none; +} + +.label-default { + background-color: #999999; +} + +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #808080; +} + +.label-primary { + background-color: #428bca; +} + +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #3071a9; +} + +.label-success { + background-color: #5cb85c; +} + +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} + +.label-info { + background-color: #5bc0de; +} + +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} + +.label-warning { + background-color: #f0ad4e; +} + +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} + +.label-danger { + background-color: #d9534f; +} + +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} + +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + line-height: 1; + color: #ffffff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + background-color: #999999; + border-radius: 10px; +} + +.badge:empty { + display: none; +} + +a.badge:hover, +a.badge:focus { + color: #ffffff; + text-decoration: none; + cursor: pointer; +} + +.btn .badge { + position: relative; + top: -1px; +} + +a.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #428bca; + background-color: #ffffff; +} + +.nav-pills > li > a > .badge { + margin-left: 3px; +} + +.jumbotron { + padding: 30px; + margin-bottom: 30px; + font-size: 21px; + font-weight: 200; + line-height: 2.1428571435; + color: inherit; + background-color: #eeeeee; +} + +.jumbotron h1 { + line-height: 1; + color: inherit; +} + +.jumbotron p { + line-height: 1.4; +} + +.container .jumbotron { + border-radius: 6px; +} + +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron { + padding-right: 60px; + padding-left: 60px; + } + .jumbotron h1 { + font-size: 63px; + } +} + +.thumbnail { + display: inline-block; + display: block; + height: auto; + max-width: 100%; + padding: 4px; + line-height: 1.428571429; + background-color: #ffffff; + border: 1px solid #dddddd; + border-radius: 4px; + -webkit-transition: all 0.2s ease-in-out; + transition: all 0.2s ease-in-out; +} + +.thumbnail > img { + display: block; + height: auto; + max-width: 100%; +} + +a.thumbnail:hover, +a.thumbnail:focus { + border-color: #428bca; +} + +.thumbnail > img { + margin-right: auto; + margin-left: auto; +} + +.thumbnail .caption { + padding: 9px; + color: #333333; +} + +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; +} + +.alert h4 { + margin-top: 0; + color: inherit; +} + +.alert .alert-link { + font-weight: bold; +} + +.alert > p, +.alert > ul { + margin-bottom: 0; +} + +.alert > p + p { + margin-top: 5px; +} + +.alert-dismissable { + padding-right: 35px; +} + +.alert-dismissable .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} + +.alert-success { + color: #468847; + background-color: #dff0d8; + border-color: #d6e9c6; +} + +.alert-success hr { + border-top-color: #c9e2b3; +} + +.alert-success .alert-link { + color: #356635; +} + +.alert-info { + color: #3a87ad; + background-color: #d9edf7; + border-color: #bce8f1; +} + +.alert-info hr { + border-top-color: #a6e1ec; +} + +.alert-info .alert-link { + color: #2d6987; +} + +.alert-warning { + color: #c09853; + background-color: #fcf8e3; + border-color: #fbeed5; +} + +.alert-warning hr { + border-top-color: #f8e5be; +} + +.alert-warning .alert-link { + color: #a47e3c; +} + +.alert-danger { + color: #b94a48; + background-color: #f2dede; + border-color: #eed3d7; +} + +.alert-danger hr { + border-top-color: #e6c1c7; +} + +.alert-danger .alert-link { + color: #953b39; +} + +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-moz-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +@-o-keyframes progress-bar-stripes { + from { + background-position: 0 0; + } + to { + background-position: 40px 0; + } +} + +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} + +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} + +.progress-bar { + float: left; + width: 0; + height: 100%; + font-size: 12px; + color: #ffffff; + text-align: center; + background-color: #428bca; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + transition: width 0.6s ease; +} + +.progress-striped .progress-bar { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-size: 40px 40px; +} + +.progress.active .progress-bar { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -moz-animation: progress-bar-stripes 2s linear infinite; + -ms-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} + +.progress-bar-success { + background-color: #5cb85c; +} + +.progress-striped .progress-bar-success { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-bar-info { + background-color: #5bc0de; +} + +.progress-striped .progress-bar-info { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-bar-warning { + background-color: #f0ad4e; +} + +.progress-striped .progress-bar-warning { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.progress-bar-danger { + background-color: #d9534f; +} + +.progress-striped .progress-bar-danger { + background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent)); + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} + +.media, +.media-body { + overflow: hidden; + zoom: 1; +} + +.media, +.media .media { + margin-top: 15px; +} + +.media:first-child { + margin-top: 0; +} + +.media-object { + display: block; +} + +.media-heading { + margin: 0 0 5px; +} + +.media > .pull-left { + margin-right: 10px; +} + +.media > .pull-right { + margin-left: 10px; +} + +.media-list { + padding-left: 0; + list-style: none; +} + +.list-group { + padding-left: 0; + margin-bottom: 20px; +} + +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #ffffff; + border: 1px solid #dddddd; +} + +.list-group-item:first-child { + border-top-right-radius: 4px; + border-top-left-radius: 4px; +} + +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} + +.list-group-item > .badge { + float: right; +} + +.list-group-item > .badge + .badge { + margin-right: 5px; +} + +a.list-group-item { + color: #555555; +} + +a.list-group-item .list-group-item-heading { + color: #333333; +} + +a.list-group-item:hover, +a.list-group-item:focus { + text-decoration: none; + background-color: #f5f5f5; +} + +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #ffffff; + background-color: #428bca; + border-color: #428bca; +} + +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading { + color: inherit; +} + +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #e1edf7; +} + +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} + +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} + +.panel { + margin-bottom: 20px; + background-color: #ffffff; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} + +.panel-body { + padding: 15px; +} + +.panel-body:before, +.panel-body:after { + display: table; + content: " "; +} + +.panel-body:after { + clear: both; +} + +.panel-body:before, +.panel-body:after { + display: table; + content: " "; +} + +.panel-body:after { + clear: both; +} + +.panel > .list-group { + margin-bottom: 0; +} + +.panel > .list-group .list-group-item { + border-width: 1px 0; +} + +.panel > .list-group .list-group-item:first-child { + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +.panel > .list-group .list-group-item:last-child { + border-bottom: 0; +} + +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} + +.panel > .table { + margin-bottom: 0; +} + +.panel > .panel-body + .table { + border-top: 1px solid #dddddd; +} + +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-right-radius: 3px; + border-top-left-radius: 3px; +} + +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; +} + +.panel-title > a { + color: inherit; +} + +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #dddddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} + +.panel-group .panel { + margin-bottom: 0; + overflow: hidden; + border-radius: 4px; +} + +.panel-group .panel + .panel { + margin-top: 5px; +} + +.panel-group .panel-heading { + border-bottom: 0; +} + +.panel-group .panel-heading + .panel-collapse .panel-body { + border-top: 1px solid #dddddd; +} + +.panel-group .panel-footer { + border-top: 0; +} + +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #dddddd; +} + +.panel-default { + border-color: #dddddd; +} + +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #dddddd; +} + +.panel-default > .panel-heading + .panel-collapse .panel-body { + border-top-color: #dddddd; +} + +.panel-default > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #dddddd; +} + +.panel-primary { + border-color: #428bca; +} + +.panel-primary > .panel-heading { + color: #ffffff; + background-color: #428bca; + border-color: #428bca; +} + +.panel-primary > .panel-heading + .panel-collapse .panel-body { + border-top-color: #428bca; +} + +.panel-primary > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #428bca; +} + +.panel-success { + border-color: #d6e9c6; +} + +.panel-success > .panel-heading { + color: #468847; + background-color: #dff0d8; + border-color: #d6e9c6; +} + +.panel-success > .panel-heading + .panel-collapse .panel-body { + border-top-color: #d6e9c6; +} + +.panel-success > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #d6e9c6; +} + +.panel-warning { + border-color: #fbeed5; +} + +.panel-warning > .panel-heading { + color: #c09853; + background-color: #fcf8e3; + border-color: #fbeed5; +} + +.panel-warning > .panel-heading + .panel-collapse .panel-body { + border-top-color: #fbeed5; +} + +.panel-warning > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #fbeed5; +} + +.panel-danger { + border-color: #eed3d7; +} + +.panel-danger > .panel-heading { + color: #b94a48; + background-color: #f2dede; + border-color: #eed3d7; +} + +.panel-danger > .panel-heading + .panel-collapse .panel-body { + border-top-color: #eed3d7; +} + +.panel-danger > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #eed3d7; +} + +.panel-info { + border-color: #bce8f1; +} + +.panel-info > .panel-heading { + color: #3a87ad; + background-color: #d9edf7; + border-color: #bce8f1; +} + +.panel-info > .panel-heading + .panel-collapse .panel-body { + border-top-color: #bce8f1; +} + +.panel-info > .panel-footer + .panel-collapse .panel-body { + border-bottom-color: #bce8f1; +} + +.well { + min-height: 20px; + padding: 19px; + margin-bottom: 20px; + background-color: #f5f5f5; + border: 1px solid #e3e3e3; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} + +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} + +.well-lg { + padding: 24px; + border-radius: 6px; +} + +.well-sm { + padding: 9px; + border-radius: 3px; +} + +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000000; + text-shadow: 0 1px 0 #ffffff; + opacity: 0.2; + filter: alpha(opacity=20); +} + +.close:hover, +.close:focus { + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.5; + filter: alpha(opacity=50); +} + +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; +} + +.modal-open { + overflow: hidden; +} + +body.modal-open, +.modal-open .navbar-fixed-top, +.modal-open .navbar-fixed-bottom { + margin-right: 15px; +} + +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + display: none; + overflow: auto; + overflow-y: scroll; +} + +.modal.fade .modal-dialog { + -webkit-transform: translate(0, -25%); + -ms-transform: translate(0, -25%); + transform: translate(0, -25%); + -webkit-transition: -webkit-transform 0.3s ease-out; + -moz-transition: -moz-transform 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: transform 0.3s ease-out; +} + +.modal.in .modal-dialog { + -webkit-transform: translate(0, 0); + -ms-transform: translate(0, 0); + transform: translate(0, 0); +} + +.modal-dialog { + z-index: 1050; + width: auto; + padding: 10px; + margin-right: auto; + margin-left: auto; +} + +.modal-content { + position: relative; + background-color: #ffffff; + border: 1px solid #999999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + outline: none; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + background-clip: padding-box; +} + +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1030; + background-color: #000000; +} + +.modal-backdrop.fade { + opacity: 0; + filter: alpha(opacity=0); +} + +.modal-backdrop.in { + opacity: 0.5; + filter: alpha(opacity=50); +} + +.modal-header { + min-height: 16.428571429px; + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} + +.modal-header .close { + margin-top: -2px; +} + +.modal-title { + margin: 0; + line-height: 1.428571429; +} + +.modal-body { + position: relative; + padding: 20px; +} + +.modal-footer { + padding: 19px 20px 20px; + margin-top: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} + +.modal-footer:before, +.modal-footer:after { + display: table; + content: " "; +} + +.modal-footer:after { + clear: both; +} + +.modal-footer:before, +.modal-footer:after { + display: table; + content: " "; +} + +.modal-footer:after { + clear: both; +} + +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} + +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} + +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} + +@media screen and (min-width: 768px) { + .modal-dialog { + right: auto; + left: 50%; + width: 600px; + padding-top: 30px; + padding-bottom: 30px; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } +} + +.tooltip { + position: absolute; + z-index: 1030; + display: block; + font-size: 12px; + line-height: 1.4; + opacity: 0; + filter: alpha(opacity=0); + visibility: visible; +} + +.tooltip.in { + opacity: 0.9; + filter: alpha(opacity=90); +} + +.tooltip.top { + padding: 5px 0; + margin-top: -3px; +} + +.tooltip.right { + padding: 0 5px; + margin-left: 3px; +} + +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px; +} + +.tooltip.left { + padding: 0 5px; + margin-left: -3px; +} + +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #ffffff; + text-align: center; + text-decoration: none; + background-color: #000000; + border-radius: 4px; +} + +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.top-left .tooltip-arrow { + bottom: 0; + left: 5px; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.top-right .tooltip-arrow { + right: 5px; + bottom: 0; + border-top-color: #000000; + border-width: 5px 5px 0; +} + +.tooltip.right .tooltip-arrow { + top: 50%; + left: 0; + margin-top: -5px; + border-right-color: #000000; + border-width: 5px 5px 5px 0; +} + +.tooltip.left .tooltip-arrow { + top: 50%; + right: 0; + margin-top: -5px; + border-left-color: #000000; + border-width: 5px 0 5px 5px; +} + +.tooltip.bottom .tooltip-arrow { + top: 0; + left: 50%; + margin-left: -5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; +} + +.tooltip.bottom-left .tooltip-arrow { + top: 0; + left: 5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; +} + +.tooltip.bottom-right .tooltip-arrow { + top: 0; + right: 5px; + border-bottom-color: #000000; + border-width: 0 5px 5px; +} + +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1010; + display: none; + max-width: 276px; + padding: 1px; + text-align: left; + white-space: normal; + background-color: #ffffff; + border: 1px solid #cccccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + background-clip: padding-box; +} + +.popover.top { + margin-top: -10px; +} + +.popover.right { + margin-left: 10px; +} + +.popover.bottom { + margin-top: 10px; +} + +.popover.left { + margin-left: -10px; +} + +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + font-weight: normal; + line-height: 18px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0; +} + +.popover-content { + padding: 9px 14px; +} + +.popover .arrow, +.popover .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} + +.popover .arrow { + border-width: 11px; +} + +.popover .arrow:after { + border-width: 10px; + content: ""; +} + +.popover.top .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + border-bottom-width: 0; +} + +.popover.top .arrow:after { + bottom: 1px; + margin-left: -10px; + border-top-color: #ffffff; + border-bottom-width: 0; + content: " "; +} + +.popover.right .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); + border-left-width: 0; +} + +.popover.right .arrow:after { + bottom: -10px; + left: 1px; + border-right-color: #ffffff; + border-left-width: 0; + content: " "; +} + +.popover.bottom .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); + border-top-width: 0; +} + +.popover.bottom .arrow:after { + top: 1px; + margin-left: -10px; + border-bottom-color: #ffffff; + border-top-width: 0; + content: " "; +} + +.popover.left .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); + border-right-width: 0; +} + +.popover.left .arrow:after { + right: 1px; + bottom: -10px; + border-left-color: #ffffff; + border-right-width: 0; + content: " "; +} + +.carousel { + position: relative; +} + +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} + +.carousel-inner > .item { + position: relative; + display: none; + -webkit-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} + +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + height: auto; + max-width: 100%; + line-height: 1; +} + +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} + +.carousel-inner > .active { + left: 0; +} + +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} + +.carousel-inner > .next { + left: 100%; +} + +.carousel-inner > .prev { + left: -100%; +} + +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} + +.carousel-inner > .active.left { + left: -100%; +} + +.carousel-inner > .active.right { + left: 100%; +} + +.carousel-control { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 15%; + font-size: 20px; + color: #ffffff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + opacity: 0.5; + filter: alpha(opacity=50); +} + +.carousel-control.left { + background-image: -webkit-gradient(linear, 0 top, 100% top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001))); + background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.5) 0), color-stop(rgba(0, 0, 0, 0.0001) 100%)); + background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0, rgba(0, 0, 0, 0.0001) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); +} + +.carousel-control.right { + right: 0; + left: auto; + background-image: -webkit-gradient(linear, 0 top, 100% top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5))); + background-image: -webkit-linear-gradient(left, color-stop(rgba(0, 0, 0, 0.0001) 0), color-stop(rgba(0, 0, 0, 0.5) 100%)); + background-image: -moz-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0, rgba(0, 0, 0, 0.5) 100%); + background-repeat: repeat-x; + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); +} + +.carousel-control:hover, +.carousel-control:focus { + color: #ffffff; + text-decoration: none; + opacity: 0.9; + filter: alpha(opacity=90); +} + +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + left: 50%; + z-index: 5; + display: inline-block; +} + +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + margin-top: -10px; + margin-left: -10px; + font-family: serif; +} + +.carousel-control .icon-prev:before { + content: '\2039'; +} + +.carousel-control .icon-next:before { + content: '\203a'; +} + +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + padding-left: 0; + margin-left: -30%; + text-align: center; + list-style: none; +} + +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + border: 1px solid #ffffff; + border-radius: 10px; +} + +.carousel-indicators .active { + width: 12px; + height: 12px; + margin: 0; + background-color: #ffffff; +} + +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #ffffff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} + +.carousel-caption .btn { + text-shadow: none; +} + +@media screen and (min-width: 768px) { + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -15px; + margin-left: -15px; + font-size: 30px; + } + .carousel-caption { + right: 20%; + left: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} + +.clearfix:before, +.clearfix:after { + display: table; + content: " "; +} + +.clearfix:after { + clear: both; +} + +.pull-right { + float: right !important; +} + +.pull-left { + float: left !important; +} + +.hide { + display: none !important; +} + +.show { + display: block !important; +} + +.invisible { + visibility: hidden; +} + +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} + +.affix { + position: fixed; +} + +@-ms-viewport { + width: device-width; +} + +@media screen and (max-width: 400px) { + @-ms-viewport { + width: 320px; + } +} + +.hidden { + display: none !important; + visibility: hidden !important; +} + +.visible-xs { + display: none !important; +} + +tr.visible-xs { + display: none !important; +} + +th.visible-xs, +td.visible-xs { + display: none !important; +} + +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-xs.visible-sm { + display: block !important; + } + tr.visible-xs.visible-sm { + display: table-row !important; + } + th.visible-xs.visible-sm, + td.visible-xs.visible-sm { + display: table-cell !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-xs.visible-md { + display: block !important; + } + tr.visible-xs.visible-md { + display: table-row !important; + } + th.visible-xs.visible-md, + td.visible-xs.visible-md { + display: table-cell !important; + } +} + +@media (min-width: 1200px) { + .visible-xs.visible-lg { + display: block !important; + } + tr.visible-xs.visible-lg { + display: table-row !important; + } + th.visible-xs.visible-lg, + td.visible-xs.visible-lg { + display: table-cell !important; + } +} + +.visible-sm { + display: none !important; +} + +tr.visible-sm { + display: none !important; +} + +th.visible-sm, +td.visible-sm { + display: none !important; +} + +@media (max-width: 767px) { + .visible-sm.visible-xs { + display: block !important; + } + tr.visible-sm.visible-xs { + display: table-row !important; + } + th.visible-sm.visible-xs, + td.visible-sm.visible-xs { + display: table-cell !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-sm.visible-md { + display: block !important; + } + tr.visible-sm.visible-md { + display: table-row !important; + } + th.visible-sm.visible-md, + td.visible-sm.visible-md { + display: table-cell !important; + } +} + +@media (min-width: 1200px) { + .visible-sm.visible-lg { + display: block !important; + } + tr.visible-sm.visible-lg { + display: table-row !important; + } + th.visible-sm.visible-lg, + td.visible-sm.visible-lg { + display: table-cell !important; + } +} + +.visible-md { + display: none !important; +} + +tr.visible-md { + display: none !important; +} + +th.visible-md, +td.visible-md { + display: none !important; +} + +@media (max-width: 767px) { + .visible-md.visible-xs { + display: block !important; + } + tr.visible-md.visible-xs { + display: table-row !important; + } + th.visible-md.visible-xs, + td.visible-md.visible-xs { + display: table-cell !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-md.visible-sm { + display: block !important; + } + tr.visible-md.visible-sm { + display: table-row !important; + } + th.visible-md.visible-sm, + td.visible-md.visible-sm { + display: table-cell !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} + +@media (min-width: 1200px) { + .visible-md.visible-lg { + display: block !important; + } + tr.visible-md.visible-lg { + display: table-row !important; + } + th.visible-md.visible-lg, + td.visible-md.visible-lg { + display: table-cell !important; + } +} + +.visible-lg { + display: none !important; +} + +tr.visible-lg { + display: none !important; +} + +th.visible-lg, +td.visible-lg { + display: none !important; +} + +@media (max-width: 767px) { + .visible-lg.visible-xs { + display: block !important; + } + tr.visible-lg.visible-xs { + display: table-row !important; + } + th.visible-lg.visible-xs, + td.visible-lg.visible-xs { + display: table-cell !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .visible-lg.visible-sm { + display: block !important; + } + tr.visible-lg.visible-sm { + display: table-row !important; + } + th.visible-lg.visible-sm, + td.visible-lg.visible-sm { + display: table-cell !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .visible-lg.visible-md { + display: block !important; + } + tr.visible-lg.visible-md { + display: table-row !important; + } + th.visible-lg.visible-md, + td.visible-lg.visible-md { + display: table-cell !important; + } +} + +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} + +.hidden-xs { + display: block !important; +} + +tr.hidden-xs { + display: table-row !important; +} + +th.hidden-xs, +td.hidden-xs { + display: table-cell !important; +} + +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } + tr.hidden-xs { + display: none !important; + } + th.hidden-xs, + td.hidden-xs { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-xs.hidden-sm { + display: none !important; + } + tr.hidden-xs.hidden-sm { + display: none !important; + } + th.hidden-xs.hidden-sm, + td.hidden-xs.hidden-sm { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-xs.hidden-md { + display: none !important; + } + tr.hidden-xs.hidden-md { + display: none !important; + } + th.hidden-xs.hidden-md, + td.hidden-xs.hidden-md { + display: none !important; + } +} + +@media (min-width: 1200px) { + .hidden-xs.hidden-lg { + display: none !important; + } + tr.hidden-xs.hidden-lg { + display: none !important; + } + th.hidden-xs.hidden-lg, + td.hidden-xs.hidden-lg { + display: none !important; + } +} + +.hidden-sm { + display: block !important; +} + +tr.hidden-sm { + display: table-row !important; +} + +th.hidden-sm, +td.hidden-sm { + display: table-cell !important; +} + +@media (max-width: 767px) { + .hidden-sm.hidden-xs { + display: none !important; + } + tr.hidden-sm.hidden-xs { + display: none !important; + } + th.hidden-sm.hidden-xs, + td.hidden-sm.hidden-xs { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } + tr.hidden-sm { + display: none !important; + } + th.hidden-sm, + td.hidden-sm { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-sm.hidden-md { + display: none !important; + } + tr.hidden-sm.hidden-md { + display: none !important; + } + th.hidden-sm.hidden-md, + td.hidden-sm.hidden-md { + display: none !important; + } +} + +@media (min-width: 1200px) { + .hidden-sm.hidden-lg { + display: none !important; + } + tr.hidden-sm.hidden-lg { + display: none !important; + } + th.hidden-sm.hidden-lg, + td.hidden-sm.hidden-lg { + display: none !important; + } +} + +.hidden-md { + display: block !important; +} + +tr.hidden-md { + display: table-row !important; +} + +th.hidden-md, +td.hidden-md { + display: table-cell !important; +} + +@media (max-width: 767px) { + .hidden-md.hidden-xs { + display: none !important; + } + tr.hidden-md.hidden-xs { + display: none !important; + } + th.hidden-md.hidden-xs, + td.hidden-md.hidden-xs { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-md.hidden-sm { + display: none !important; + } + tr.hidden-md.hidden-sm { + display: none !important; + } + th.hidden-md.hidden-sm, + td.hidden-md.hidden-sm { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } + tr.hidden-md { + display: none !important; + } + th.hidden-md, + td.hidden-md { + display: none !important; + } +} + +@media (min-width: 1200px) { + .hidden-md.hidden-lg { + display: none !important; + } + tr.hidden-md.hidden-lg { + display: none !important; + } + th.hidden-md.hidden-lg, + td.hidden-md.hidden-lg { + display: none !important; + } +} + +.hidden-lg { + display: block !important; +} + +tr.hidden-lg { + display: table-row !important; +} + +th.hidden-lg, +td.hidden-lg { + display: table-cell !important; +} + +@media (max-width: 767px) { + .hidden-lg.hidden-xs { + display: none !important; + } + tr.hidden-lg.hidden-xs { + display: none !important; + } + th.hidden-lg.hidden-xs, + td.hidden-lg.hidden-xs { + display: none !important; + } +} + +@media (min-width: 768px) and (max-width: 991px) { + .hidden-lg.hidden-sm { + display: none !important; + } + tr.hidden-lg.hidden-sm { + display: none !important; + } + th.hidden-lg.hidden-sm, + td.hidden-lg.hidden-sm { + display: none !important; + } +} + +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-lg.hidden-md { + display: none !important; + } + tr.hidden-lg.hidden-md { + display: none !important; + } + th.hidden-lg.hidden-md, + td.hidden-lg.hidden-md { + display: none !important; + } +} + +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } + tr.hidden-lg { + display: none !important; + } + th.hidden-lg, + td.hidden-lg { + display: none !important; + } +} + +.visible-print { + display: none !important; +} + +tr.visible-print { + display: none !important; +} + +th.visible-print, +td.visible-print { + display: none !important; +} + +@media print { + .visible-print { + display: block !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } + .hidden-print { + display: none !important; + } + tr.hidden-print { + display: none !important; + } + th.hidden-print, + td.hidden-print { + display: none !important; + } +} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Content/bootstrap.min.css b/etc/vsd/VsdConverter/VsdConverter/Content/bootstrap.min.css new file mode 100644 index 00000000..df89a503 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Content/bootstrap.min.css @@ -0,0 +1,20 @@ +/* NUGET: BEGIN LICENSE TEXT + * + * Microsoft grants you the right to use these script files for the sole + * purpose of either: (i) interacting through your browser with the Microsoft + * website or online service, subject to the applicable licensing or use + * terms; or (ii) using the files as included with a Microsoft product subject + * to that product's license terms. Microsoft reserves all other rights to the + * files not expressly granted by Microsoft, whether by implication, estoppel + * or otherwise. The notices and licenses below are for informational purposes only. + * + * NUGET: END LICENSE TEXT */ +/*! + * Bootstrap v3.0.0 + * + * Copyright 2013 Twitter, Inc + * Licensed under the Apache License v2.0 + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Designed and built with all the love in the world by @mdo and @fat. + *//*! normalize.css v2.1.0 | MIT License | git.io/normalize */article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}audio,canvas,video{display:inline-block}audio:not([controls]){display:none;height:0}[hidden]{display:none}html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}a:focus{outline:thin dotted}a:active,a:hover{outline:0}h1{margin:.67em 0;font-size:2em}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}hr{height:0;-moz-box-sizing:content-box;box-sizing:content-box}mark{color:#000;background:#ff0}code,kbd,pre,samp{font-family:monospace,serif;font-size:1em}pre{white-space:pre-wrap}q{quotes:"\201C" "\201D" "\2018" "\2019"}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:0}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid #c0c0c0}legend{padding:0;border:0}button,input,select,textarea{margin:0;font-family:inherit;font-size:100%}button,input{line-height:normal}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[disabled]{cursor:default}input[type="checkbox"],input[type="radio"]{padding:0;box-sizing:border-box}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}textarea{overflow:auto;vertical-align:top}table{border-collapse:collapse;border-spacing:0}@media print{*{color:#000!important;text-shadow:none!important;background:transparent!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}.ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}@page{margin:2cm .5cm}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.428571429;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button,input,select[multiple],textarea{background-image:none}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}img{vertical-align:middle}.img-responsive{display:block;height:auto;max-width:100%}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16.099999999999998px;font-weight:200;line-height:1.4}@media(min-width:768px){.lead{font-size:21px}}small{font-size:85%}cite{font-style:normal}.text-muted{color:#999}.text-primary{color:#428bca}.text-warning{color:#c09853}.text-danger{color:#b94a48}.text-success{color:#468847}.text-info{color:#3a87ad}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-weight:500;line-height:1.1}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small{font-weight:normal;line-height:1;color:#999}h1,h2,h3{margin-top:20px;margin-bottom:10px}h4,h5,h6{margin-top:10px;margin-bottom:10px}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}h1 small,.h1 small{font-size:24px}h2 small,.h2 small{font-size:18px}h3 small,.h3 small,h4 small,.h4 small{font-size:14px}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-bottom:20px}dt,dd{line-height:1.428571429}dt{font-weight:bold}dd{margin-left:0}@media(min-width:768px){.dl-horizontal dt{float:left;width:160px;overflow:hidden;clear:left;text-align:right;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}.dl-horizontal dd:before,.dl-horizontal dd:after{display:table;content:" "}.dl-horizontal dd:after{clear:both}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}abbr.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}blockquote p:last-child{margin-bottom:0}blockquote small{display:block;line-height:1.428571429;color:#999}blockquote small:before{content:'\2014 \00A0'}blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}blockquote.pull-right small:before{content:''}blockquote.pull-right small:after{content:'\00A0 \2014'}q:before,q:after,blockquote:before,blockquote:after{content:""}address{display:block;margin-bottom:20px;font-style:normal;line-height:1.428571429}code,pre{font-family:Monaco,Menlo,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;white-space:nowrap;background-color:#f9f2f4;border-radius:4px}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre.prettyprint{margin-bottom:20px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.container:before,.container:after{display:table;content:" "}.container:after{clear:both}.row{margin-right:-15px;margin-left:-15px}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.row:before,.row:after{display:table;content:" "}.row:after{clear:both}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{position:relative;min-height:1px;padding-right:15px;padding-left:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11{float:left}.col-xs-1{width:8.333333333333332%}.col-xs-2{width:16.666666666666664%}.col-xs-3{width:25%}.col-xs-4{width:33.33333333333333%}.col-xs-5{width:41.66666666666667%}.col-xs-6{width:50%}.col-xs-7{width:58.333333333333336%}.col-xs-8{width:66.66666666666666%}.col-xs-9{width:75%}.col-xs-10{width:83.33333333333334%}.col-xs-11{width:91.66666666666666%}.col-xs-12{width:100%}@media(min-width:768px){.container{max-width:750px}.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11{float:left}.col-sm-1{width:8.333333333333332%}.col-sm-2{width:16.666666666666664%}.col-sm-3{width:25%}.col-sm-4{width:33.33333333333333%}.col-sm-5{width:41.66666666666667%}.col-sm-6{width:50%}.col-sm-7{width:58.333333333333336%}.col-sm-8{width:66.66666666666666%}.col-sm-9{width:75%}.col-sm-10{width:83.33333333333334%}.col-sm-11{width:91.66666666666666%}.col-sm-12{width:100%}.col-sm-push-1{left:8.333333333333332%}.col-sm-push-2{left:16.666666666666664%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333333333333%}.col-sm-push-5{left:41.66666666666667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.333333333333336%}.col-sm-push-8{left:66.66666666666666%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333333333334%}.col-sm-push-11{left:91.66666666666666%}.col-sm-pull-1{right:8.333333333333332%}.col-sm-pull-2{right:16.666666666666664%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333333333333%}.col-sm-pull-5{right:41.66666666666667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.333333333333336%}.col-sm-pull-8{right:66.66666666666666%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333333333334%}.col-sm-pull-11{right:91.66666666666666%}.col-sm-offset-1{margin-left:8.333333333333332%}.col-sm-offset-2{margin-left:16.666666666666664%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333333333333%}.col-sm-offset-5{margin-left:41.66666666666667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.333333333333336%}.col-sm-offset-8{margin-left:66.66666666666666%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333333333334%}.col-sm-offset-11{margin-left:91.66666666666666%}}@media(min-width:992px){.container{max-width:970px}.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11{float:left}.col-md-1{width:8.333333333333332%}.col-md-2{width:16.666666666666664%}.col-md-3{width:25%}.col-md-4{width:33.33333333333333%}.col-md-5{width:41.66666666666667%}.col-md-6{width:50%}.col-md-7{width:58.333333333333336%}.col-md-8{width:66.66666666666666%}.col-md-9{width:75%}.col-md-10{width:83.33333333333334%}.col-md-11{width:91.66666666666666%}.col-md-12{width:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.333333333333332%}.col-md-push-2{left:16.666666666666664%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333333333333%}.col-md-push-5{left:41.66666666666667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.333333333333336%}.col-md-push-8{left:66.66666666666666%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333333333334%}.col-md-push-11{left:91.66666666666666%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.333333333333332%}.col-md-pull-2{right:16.666666666666664%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333333333333%}.col-md-pull-5{right:41.66666666666667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.333333333333336%}.col-md-pull-8{right:66.66666666666666%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333333333334%}.col-md-pull-11{right:91.66666666666666%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.333333333333332%}.col-md-offset-2{margin-left:16.666666666666664%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333333333333%}.col-md-offset-5{margin-left:41.66666666666667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.333333333333336%}.col-md-offset-8{margin-left:66.66666666666666%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333333333334%}.col-md-offset-11{margin-left:91.66666666666666%}}@media(min-width:1200px){.container{max-width:1170px}.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11{float:left}.col-lg-1{width:8.333333333333332%}.col-lg-2{width:16.666666666666664%}.col-lg-3{width:25%}.col-lg-4{width:33.33333333333333%}.col-lg-5{width:41.66666666666667%}.col-lg-6{width:50%}.col-lg-7{width:58.333333333333336%}.col-lg-8{width:66.66666666666666%}.col-lg-9{width:75%}.col-lg-10{width:83.33333333333334%}.col-lg-11{width:91.66666666666666%}.col-lg-12{width:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.333333333333332%}.col-lg-push-2{left:16.666666666666664%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333333333333%}.col-lg-push-5{left:41.66666666666667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.333333333333336%}.col-lg-push-8{left:66.66666666666666%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333333333334%}.col-lg-push-11{left:91.66666666666666%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.333333333333332%}.col-lg-pull-2{right:16.666666666666664%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333333333333%}.col-lg-pull-5{right:41.66666666666667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.333333333333336%}.col-lg-pull-8{right:66.66666666666666%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333333333334%}.col-lg-pull-11{right:91.66666666666666%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.333333333333332%}.col-lg-offset-2{margin-left:16.666666666666664%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333333333333%}.col-lg-offset-5{margin-left:41.66666666666667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.333333333333336%}.col-lg-offset-8{margin-left:66.66666666666666%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333333333334%}.col-lg-offset-11{margin-left:91.66666666666666%}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table thead>tr>th,.table tbody>tr>th,.table tfoot>tr>th,.table thead>tr>td,.table tbody>tr>td,.table tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}.table thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table caption+thead tr:first-child th,.table colgroup+thead tr:first-child th,.table thead:first-child tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child td{border-top:0}.table tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed thead>tr>th,.table-condensed tbody>tr>th,.table-condensed tfoot>tr>th,.table-condensed thead>tr>td,.table-condensed tbody>tr>td,.table-condensed tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*="col-"]{display:table-column;float:none}table td[class*="col-"],table th[class*="col-"]{display:table-cell;float:none}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8;border-color:#d6e9c6}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td{background-color:#d0e9c6;border-color:#c9e2b3}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede;border-color:#eed3d7}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td{background-color:#ebcccc;border-color:#e6c1c7}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3;border-color:#fbeed5}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td{background-color:#faf2cc;border-color:#f8e5be}@media(max-width:768px){.table-responsive{width:100%;margin-bottom:15px;overflow-x:scroll;overflow-y:hidden;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0;background-color:#fff}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>thead>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>thead>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}select[multiple],select[size]{height:auto}select optgroup{font-family:inherit;font-size:inherit;font-style:inherit}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{height:auto}.form-control:-moz-placeholder{color:#999}.form-control::-moz-placeholder{color:#999}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}textarea.form-control{height:auto}.form-group{margin-bottom:15px}.radio,.checkbox{display:block;min-height:20px;padding-left:20px;margin-top:10px;margin-bottom:10px;vertical-align:middle}.radio label,.checkbox label{display:inline;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{float:left;margin-left:-20px}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;font-weight:normal;vertical-align:middle;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm{height:auto}.input-lg{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:45px;line-height:45px}textarea.input-lg{height:auto}.has-warning .help-block,.has-warning .control-label{color:#c09853}.has-warning .form-control{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}.has-warning .input-group-addon{color:#c09853;background-color:#fcf8e3;border-color:#c09853}.has-error .help-block,.has-error .control-label{color:#b94a48}.has-error .form-control{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}.has-error .input-group-addon{color:#b94a48;background-color:#f2dede;border-color:#b94a48}.has-success .help-block,.has-success .control-label{color:#468847}.has-success .form-control{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}.has-success .input-group-addon{color:#468847;background-color:#dff0d8;border-color:#468847}.form-control-static{padding-top:7px;margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block}.form-inline .radio,.form-inline .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0}}.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-group:before,.form-horizontal .form-group:after{display:table;content:" "}.form-horizontal .form-group:after{clear:both}@media(min-width:768px){.form-horizontal .control-label{text-align:right}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:center;white-space:nowrap;vertical-align:middle;cursor:pointer;border:1px solid transparent;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus{color:#333;text-decoration:none}.btn:active,.btn.active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}.btn-link{font-weight:normal;color:#428bca;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-xs{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs{padding:1px 5px}.btn-block{display:block;width:100%;padding-right:0;padding-left:0}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';-webkit-font-smoothing:antialiased;font-style:normal;font-weight:normal;line-height:1}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-print:before{content:"\e045"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-briefcase:before{content:"\1f4bc"}.glyphicon-calendar:before{content:"\1f4c5"}.glyphicon-pushpin:before{content:"\1f4cc"}.glyphicon-paperclip:before{content:"\1f4ce"}.glyphicon-camera:before{content:"\1f4f7"}.glyphicon-lock:before{content:"\1f512"}.glyphicon-bell:before{content:"\1f514"}.glyphicon-bookmark:before{content:"\1f516"}.glyphicon-fire:before{content:"\1f525"}.glyphicon-wrench:before{content:"\1f527"}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid #000;border-right:4px solid transparent;border-bottom:0 dotted;border-left:4px solid transparent;content:""}.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;list-style:none;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#fff;text-decoration:none;background-color:#428bca}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;background-color:#428bca;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media(min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.btn-default .caret{border-top-color:#333}.btn-primary .caret,.btn-success .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret{border-top-color:#fff}.dropup .btn-default .caret{border-bottom-color:#333}.dropup .btn-primary .caret,.dropup .btn-success .caret,.dropup .btn-warning .caret,.dropup .btn-danger .caret,.dropup .btn-info .caret{border-bottom-color:#fff}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:0}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar:before,.btn-toolbar:after{display:table;content:" "}.btn-toolbar:after{clear:both}.btn-toolbar .btn-group{float:left}.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group-xs>.btn{padding:5px 10px;padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{display:table;content:" "}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-bottom-left-radius:4px;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;border-collapse:separate;table-layout:fixed}.btn-group-justified .btn{display:table-cell;float:none;width:1%}[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group.col{float:none;padding-right:0;padding-left:0}.input-group .form-control{width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:45px;line-height:45px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-4px}.input-group-btn>.btn:hover,.input-group-btn>.btn:active{z-index:2}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav:before,.nav:after{display:table;content:" "}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center}@media(min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}}.nav-tabs.nav-justified>li>a{margin-right:0;border-bottom:1px solid #ddd}.nav-tabs.nav-justified>.active>a{border-bottom-color:#fff}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:5px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center}@media(min-width:768px){.nav-justified>li{display:table-cell;width:1%}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-bottom:1px solid #ddd}.nav-tabs-justified>.active>a{border-bottom-color:#fff}.tabbable:before,.tabbable:after{display:table;content:" "}.tabbable:after{clear:both}.tabbable:before,.tabbable:after{display:table;content:" "}.tabbable:after{clear:both}.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}.tab-content>.active,.pill-content>.active{display:block}.nav .caret{border-top-color:#428bca;border-bottom-color:#428bca}.nav a:hover .caret{border-top-color:#2a6496;border-bottom-color:#2a6496}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;z-index:1000;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}.navbar:before,.navbar:after{display:table;content:" "}.navbar:after{clear:both}@media(min-width:768px){.navbar{border-radius:4px}}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}.navbar-header:before,.navbar-header:after{display:table;content:" "}.navbar-header:after{clear:both}@media(min-width:768px){.navbar-header{float:left}}.navbar-collapse{max-height:340px;padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse:before,.navbar-collapse:after{display:table;content:" "}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media(min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-collapse .navbar-nav.navbar-left:first-child{margin-left:-15px}.navbar-collapse .navbar-nav.navbar-right:last-child{margin-right:-15px}.navbar-collapse .navbar-text:last-child{margin-right:0}}.container>.navbar-header,.container>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media(min-width:768px){.container>.navbar-header,.container>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{border-width:0 0 1px}@media(min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;border-width:0 0 1px}@media(min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;z-index:1030}.navbar-fixed-bottom{bottom:0;margin-bottom:0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}@media(min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-top:8px;margin-right:15px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media(min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media(max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media(min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}@media(min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{padding:10px 15px;margin-top:8px;margin-right:-15px;margin-bottom:8px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1)}@media(min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;padding-left:0;margin-top:0;margin-bottom:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{float:none;margin-left:0}}@media(max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media(min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{right:0;left:auto}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-text{float:left;margin-top:15px;margin-bottom:15px}@media(min-width:768px){.navbar-text{margin-right:15px;margin-left:15px}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#ccc}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e6e6e6}.navbar-default .navbar-nav>.dropdown>a:hover .caret,.navbar-default .navbar-nav>.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.open>a .caret,.navbar-default .navbar-nav>.open>a:hover .caret,.navbar-default .navbar-nav>.open>a:focus .caret{border-top-color:#555;border-bottom-color:#555}.navbar-default .navbar-nav>.dropdown>a .caret{border-top-color:#777;border-bottom-color:#777}@media(max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a{color:#999}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.dropdown>a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}.navbar-inverse .navbar-nav>.dropdown>a .caret{border-top-color:#999;border-bottom-color:#999}.navbar-inverse .navbar-nav>.open>a .caret,.navbar-inverse .navbar-nav>.open>a:hover .caret,.navbar-inverse .navbar-nav>.open>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}@media(max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{background-color:#eee}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;cursor:default;background-color:#428bca;border-color:#428bca}.pagination>.disabled>span,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager:before,.pager:after{display:table;content:" "}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#999;border-radius:10px}.badge:empty{display:none}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.btn .badge{position:relative;top:-1px}a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.jumbotron h1{line-height:1;color:inherit}.jumbotron p{line-height:1.4}.container .jumbotron{border-radius:6px}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1{font-size:63px}}.thumbnail{display:inline-block;display:block;height:auto;max-width:100%;padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}.thumbnail>img{display:block;height:auto;max-width:100%}a.thumbnail:hover,a.thumbnail:focus{border-color:#428bca}.thumbnail>img{margin-right:auto;margin-left:auto}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#356635}.alert-info{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#2d6987}.alert-warning{color:#c09853;background-color:#fcf8e3;border-color:#fbeed5}.alert-warning hr{border-top-color:#f8e5be}.alert-warning .alert-link{color:#a47e3c}.alert-danger{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.alert-danger hr{border-top-color:#e6c1c7}.alert-danger .alert-link{color:#953b39}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0}to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear,0 100%,100% 0,color-stop(0.25,rgba(255,255,255,0.15)),color-stop(0.25,transparent),color-stop(0.5,transparent),color-stop(0.5,rgba(255,255,255,0.15)),color-stop(0.75,rgba(255,255,255,0.15)),color-stop(0.75,transparent),to(transparent));background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-moz-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.media,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel-body:before,.panel-body:after{display:table;content:" "}.panel-body:after{clear:both}.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0}.panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel>.list-group .list-group-item:last-child{border-bottom:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.panel>.table{margin-bottom:0}.panel>.panel-body+.table{border-top:1px solid #ddd}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-title{margin-top:0;margin-bottom:0;font-size:16px}.panel-title>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-group .panel{margin-bottom:0;overflow:hidden;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}.panel-warning{border-color:#fbeed5}.panel-warning>.panel-heading{color:#c09853;background-color:#fcf8e3;border-color:#fbeed5}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#fbeed5}.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#fbeed5}.panel-danger{border-color:#eed3d7}.panel-danger>.panel-heading{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#eed3d7}.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#eed3d7}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}body.modal-open,.modal-open .navbar-fixed-top,.modal-open .navbar-fixed-bottom{margin-right:15px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:auto;overflow-y:scroll}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);transform:translate(0,0)}.modal-dialog{z-index:1050;width:auto;padding:10px;margin-right:auto;margin-left:auto}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{min-height:16.428571429px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.428571429}.modal-body{position:relative;padding:20px}.modal-footer{padding:19px 20px 20px;margin-top:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer:before,.modal-footer:after{display:table;content:" "}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}@media screen and (min-width:768px){.modal-dialog{right:auto;left:50%;width:600px;padding-top:30px;padding-bottom:30px}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}}.tooltip{position:absolute;z-index:1030;display:block;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0);visibility:visible}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-top-color:#000;border-width:5px 5px 0}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-top-color:#000;border-width:5px 5px 0}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-right-color:#000;border-width:5px 5px 5px 0}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-left-color:#000;border-width:5px 0 5px 5px}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-bottom-color:#000;border-width:0 5px 5px}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-bottom-color:#000;border-width:0 5px 5px}.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;white-space:normal;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);background-clip:padding-box}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{padding:8px 14px;margin:0;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover .arrow{border-width:11px}.popover .arrow:after{border-width:10px;content:""}.popover.top .arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);border-bottom-width:0}.popover.top .arrow:after{bottom:1px;margin-left:-10px;border-top-color:#fff;border-bottom-width:0;content:" "}.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,0.25);border-left-width:0}.popover.right .arrow:after{bottom:-10px;left:1px;border-right-color:#fff;border-left-width:0;content:" "}.popover.bottom .arrow{top:-11px;left:50%;margin-left:-11px;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);border-top-width:0}.popover.bottom .arrow:after{top:1px;margin-left:-10px;border-bottom-color:#fff;border-top-width:0;content:" "}.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-left-color:#999;border-left-color:rgba(0,0,0,0.25);border-right-width:0}.popover.left .arrow:after{right:1px;bottom:-10px;border-left-color:#fff;border-right-width:0;content:" "}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;height:auto;max-width:100%;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);opacity:.5;filter:alpha(opacity=50)}.carousel-control.left{background-image:-webkit-gradient(linear,0 top,100% top,from(rgba(0,0,0,0.5)),to(rgba(0,0,0,0.0001)));background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.5) 0),color-stop(rgba(0,0,0,0.0001) 100%));background-image:-moz-linear-gradient(left,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1)}.carousel-control.right{right:0;left:auto;background-image:-webkit-gradient(linear,0 top,100% top,from(rgba(0,0,0,0.0001)),to(rgba(0,0,0,0.5)));background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,0.0001) 0),color-stop(rgba(0,0,0,0.5) 100%));background-image:-moz-linear-gradient(left,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1)}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;left:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{display:table;content:" "}.clearfix:after{clear:both}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.affix{position:fixed}@-ms-viewport{width:device-width}@media screen and (max-width:400px){@-ms-viewport{width:320px}}.hidden{display:none!important;visibility:hidden!important}.visible-xs{display:none!important}tr.visible-xs{display:none!important}th.visible-xs,td.visible-xs{display:none!important}@media(max-width:767px){.visible-xs{display:block!important}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block!important}tr.visible-xs.visible-sm{display:table-row!important}th.visible-xs.visible-sm,td.visible-xs.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block!important}tr.visible-xs.visible-md{display:table-row!important}th.visible-xs.visible-md,td.visible-xs.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-xs.visible-lg{display:block!important}tr.visible-xs.visible-lg{display:table-row!important}th.visible-xs.visible-lg,td.visible-xs.visible-lg{display:table-cell!important}}.visible-sm{display:none!important}tr.visible-sm{display:none!important}th.visible-sm,td.visible-sm{display:none!important}@media(max-width:767px){.visible-sm.visible-xs{display:block!important}tr.visible-sm.visible-xs{display:table-row!important}th.visible-sm.visible-xs,td.visible-sm.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-sm{display:block!important}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block!important}tr.visible-sm.visible-md{display:table-row!important}th.visible-sm.visible-md,td.visible-sm.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-sm.visible-lg{display:block!important}tr.visible-sm.visible-lg{display:table-row!important}th.visible-sm.visible-lg,td.visible-sm.visible-lg{display:table-cell!important}}.visible-md{display:none!important}tr.visible-md{display:none!important}th.visible-md,td.visible-md{display:none!important}@media(max-width:767px){.visible-md.visible-xs{display:block!important}tr.visible-md.visible-xs{display:table-row!important}th.visible-md.visible-xs,td.visible-md.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block!important}tr.visible-md.visible-sm{display:table-row!important}th.visible-md.visible-sm,td.visible-md.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-md{display:block!important}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-md.visible-lg{display:block!important}tr.visible-md.visible-lg{display:table-row!important}th.visible-md.visible-lg,td.visible-md.visible-lg{display:table-cell!important}}.visible-lg{display:none!important}tr.visible-lg{display:none!important}th.visible-lg,td.visible-lg{display:none!important}@media(max-width:767px){.visible-lg.visible-xs{display:block!important}tr.visible-lg.visible-xs{display:table-row!important}th.visible-lg.visible-xs,td.visible-lg.visible-xs{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block!important}tr.visible-lg.visible-sm{display:table-row!important}th.visible-lg.visible-sm,td.visible-lg.visible-sm{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block!important}tr.visible-lg.visible-md{display:table-row!important}th.visible-lg.visible-md,td.visible-lg.visible-md{display:table-cell!important}}@media(min-width:1200px){.visible-lg{display:block!important}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}.hidden-xs{display:block!important}tr.hidden-xs{display:table-row!important}th.hidden-xs,td.hidden-xs{display:table-cell!important}@media(max-width:767px){.hidden-xs{display:none!important}tr.hidden-xs{display:none!important}th.hidden-xs,td.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm{display:none!important}tr.hidden-xs.hidden-sm{display:none!important}th.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md{display:none!important}tr.hidden-xs.hidden-md{display:none!important}th.hidden-xs.hidden-md,td.hidden-xs.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-xs.hidden-lg{display:none!important}tr.hidden-xs.hidden-lg{display:none!important}th.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg{display:none!important}}.hidden-sm{display:block!important}tr.hidden-sm{display:table-row!important}th.hidden-sm,td.hidden-sm{display:table-cell!important}@media(max-width:767px){.hidden-sm.hidden-xs{display:none!important}tr.hidden-sm.hidden-xs{display:none!important}th.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}tr.hidden-sm{display:none!important}th.hidden-sm,td.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md{display:none!important}tr.hidden-sm.hidden-md{display:none!important}th.hidden-sm.hidden-md,td.hidden-sm.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-sm.hidden-lg{display:none!important}tr.hidden-sm.hidden-lg{display:none!important}th.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg{display:none!important}}.hidden-md{display:block!important}tr.hidden-md{display:table-row!important}th.hidden-md,td.hidden-md{display:table-cell!important}@media(max-width:767px){.hidden-md.hidden-xs{display:none!important}tr.hidden-md.hidden-xs{display:none!important}th.hidden-md.hidden-xs,td.hidden-md.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-md.hidden-sm{display:none!important}tr.hidden-md.hidden-sm{display:none!important}th.hidden-md.hidden-sm,td.hidden-md.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}tr.hidden-md{display:none!important}th.hidden-md,td.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-md.hidden-lg{display:none!important}tr.hidden-md.hidden-lg{display:none!important}th.hidden-md.hidden-lg,td.hidden-md.hidden-lg{display:none!important}}.hidden-lg{display:block!important}tr.hidden-lg{display:table-row!important}th.hidden-lg,td.hidden-lg{display:table-cell!important}@media(max-width:767px){.hidden-lg.hidden-xs{display:none!important}tr.hidden-lg.hidden-xs{display:none!important}th.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-lg.hidden-sm{display:none!important}tr.hidden-lg.hidden-sm{display:none!important}th.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-lg.hidden-md{display:none!important}tr.hidden-lg.hidden-md{display:none!important}th.hidden-lg.hidden-md,td.hidden-lg.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-lg{display:none!important}tr.hidden-lg{display:none!important}th.hidden-lg,td.hidden-lg{display:none!important}}.visible-print{display:none!important}tr.visible-print{display:none!important}th.visible-print,td.visible-print{display:none!important}@media print{.visible-print{display:block!important}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}.hidden-print{display:none!important}tr.hidden-print{display:none!important}th.hidden-print,td.hidden-print{display:none!important}} \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Controllers/ConverterController.cs b/etc/vsd/VsdConverter/VsdConverter/Controllers/ConverterController.cs new file mode 100644 index 00000000..86182b37 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Controllers/ConverterController.cs @@ -0,0 +1,192 @@ +using System; +using System.Net; +using System.Net.Http; +using System.Text; +using System.Threading.Tasks; +using System.Web; +using System.Web.Http; +using Ionic.Zip; +using System.Collections.Generic; +using System.IO; +using System.Net.Sockets; +using System.Net.Http.Headers; +using System.Web.Http.Cors; + +namespace VsdConverter.Controllers +{ + [EnableCors(origins: "*", headers: "*", methods: "*")] + public class ConverterController : ApiController + { + static String Connect(String message) + { + try + { + Int32 port = 12355; + TcpClient client = new TcpClient("127.0.0.1", port); + + // Translate the passed message into ASCII and store it as a Byte array. + Byte[] data = System.Text.Encoding.ASCII.GetBytes(message); + + NetworkStream stream = client.GetStream(); + + // Send the message to the connected TcpServer. + stream.Write(data, 0, data.Length); + + // Receive the TcpServer.response. + + // Buffer to store the response bytes. + data = new Byte[256]; + + // String to store the response ASCII representation. + String responseData = String.Empty; + + // Read the first batch of the TcpServer response bytes. + //This will block until the server finishes its work + Int32 bytes = stream.Read(data, 0, data.Length); + responseData = System.Text.Encoding.ASCII.GetString(data, 0, bytes); + + // Close everything. + stream.Close(); + client.Close(); + return responseData; + } + catch (ArgumentNullException e) + { + Console.WriteLine("ArgumentNullException: {0}", e); + } + catch (SocketException e) + { + Console.WriteLine("SocketException: {0}", e); + } + return "Error"; + } + + public async Task PostFile() + { + // Check if the request contains multipart/form-data. + if (!Request.Content.IsMimeMultipartContent()) + { + throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType); + } + + //TODO is this secure or it only returns the header? + String origin = Request.GetCorsRequestContext().Origin; + + if (!origin.EndsWith("draw.io") && !origin.EndsWith("jgraph.com")) + { + throw new HttpResponseException(HttpStatusCode.Forbidden); + } + + string root = HttpContext.Current.Server.MapPath("~/App_Data"); + var provider = new MultipartFormDataStreamProvider(root); + + List files = new List(); + List convertedFiles = new List(); + List actualNames = new List(); + + try + { + // Read the form data and return an async task. + await Request.Content.ReadAsMultipartAsync(provider); + + foreach (var file in provider.FileData) + { + string actualFileName = file.Headers.ContentDisposition.FileName; + if (actualFileName.EndsWith(".vsd\"")) + { + convertedFiles.Add(file.LocalFileName); + actualNames.Add(actualFileName); + + System.IO.File.Move(file.LocalFileName, file.LocalFileName + ".vsd"); + } + else + { + files.Add(file.LocalFileName); + } + } + + StringBuilder allFiles = new StringBuilder(); + String newLine = ""; + for (int i = 0; i < convertedFiles.Count; i++) + { + allFiles.Append(newLine); + allFiles.Append(convertedFiles[i]); + newLine = "\n"; + } + + //Ask the TCP Converter Server to do the job + //This will block until the server finishes the conversion + String resp = Connect(allFiles.ToString()); + + if ("Error".Equals(resp)) + { + throw new Exception("Coversion Failed"); + } + + if (convertedFiles.Count == 1) + { + var pushStreamContent = new PushStreamContent((stream, content, context) => + { + FileStream fs = new FileStream(convertedFiles[0] + ".vsdx", FileMode.Open); + fs.CopyTo(stream); + fs.Close(); + stream.Close(); // After save we close the stream to signal that we are done writing. + + System.IO.File.Delete(convertedFiles[0] + ".vsd"); + System.IO.File.Delete(convertedFiles[0] + ".vsdx"); + }, "application/x-visio"); + + HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK) { Content = pushStreamContent }; + response.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") + { + FileName = Path.GetFileNameWithoutExtension(actualNames[0].Replace('"', ' ')) + ".vsdx" + }; + response.Content.Headers.Add("Access-Control-Allow-Origin", "*"); + return response; + } + else + { + using (var zipFile = new ZipFile()) + { + for (int i = 0; i < convertedFiles.Count; i++) + { + var name = Path.GetFileNameWithoutExtension(actualNames[i].Replace('"', ' ')); + var file = convertedFiles[i]; + var e = zipFile.AddFile(file + ".vsdx"); + e.FileName = name + ".vsdx"; + } + + var pushStreamContent = new PushStreamContent((stream, content, context) => + { + zipFile.Save(stream); + stream.Close(); // After save we close the stream to signal that we are done writing. + + foreach (string file in convertedFiles) + { + System.IO.File.Delete(file + ".vsd"); + System.IO.File.Delete(file + ".vsdx"); + } + }, "application/zip"); + + HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK) { Content = pushStreamContent }; + response.Content.Headers.Add("Access-Control-Allow-Origin", "*"); + return response; + } + } + } + catch (System.Exception e) + { + return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e); + } + finally + { + //clean all non-vsd files + foreach (string file in files) + { + System.IO.File.Delete(file); + } + } + } + + } +} diff --git a/etc/vsd/VsdConverter/VsdConverter/Controllers/HomeController.cs b/etc/vsd/VsdConverter/VsdConverter/Controllers/HomeController.cs new file mode 100644 index 00000000..bb45392b --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Controllers/HomeController.cs @@ -0,0 +1,18 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Mvc; + +namespace VsdConverter.Controllers +{ + public class HomeController : Controller + { + public ActionResult Index() + { + ViewBag.Title = "Home Page"; + + return View(); + } + } +} diff --git a/etc/vsd/VsdConverter/VsdConverter/Global.asax b/etc/vsd/VsdConverter/VsdConverter/Global.asax new file mode 100644 index 00000000..d4224170 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Global.asax @@ -0,0 +1 @@ +<%@ Application Codebehind="Global.asax.cs" Inherits="VsdConverter.WebApiApplication" Language="C#" %> diff --git a/etc/vsd/VsdConverter/VsdConverter/Global.asax.cs b/etc/vsd/VsdConverter/VsdConverter/Global.asax.cs new file mode 100644 index 00000000..6a2e1379 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Global.asax.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Web; +using System.Web.Http; +using System.Web.Mvc; +using System.Web.Optimization; +using System.Web.Routing; + +namespace VsdConverter +{ + public class WebApiApplication : System.Web.HttpApplication + { + protected void Application_Start() + { + AreaRegistration.RegisterAllAreas(); + GlobalConfiguration.Configure(WebApiConfig.Register); + FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); + RouteConfig.RegisterRoutes(RouteTable.Routes); + BundleConfig.RegisterBundles(BundleTable.Bundles); + } + } +} diff --git a/etc/vsd/VsdConverter/VsdConverter/Properties/AssemblyInfo.cs b/etc/vsd/VsdConverter/VsdConverter/Properties/AssemblyInfo.cs new file mode 100644 index 00000000..078a5a89 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Properties/AssemblyInfo.cs @@ -0,0 +1,35 @@ +using System.Reflection; +using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; + +// General Information about an assembly is controlled through the following +// set of attributes. Change these attribute values to modify the information +// associated with an assembly. +[assembly: AssemblyTitle("VsdConverter")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("VsdConverter")] +[assembly: AssemblyCopyright("Copyright © 2017")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// Setting ComVisible to false makes the types in this assembly not visible +// to COM components. If you need to access a type in this assembly from +// COM, set the ComVisible attribute to true on that type. +[assembly: ComVisible(false)] + +// The following GUID is for the ID of the typelib if this project is exposed to COM +[assembly: Guid("f2839167-3f8e-49f2-af45-ae1b6981aa14")] + +// Version information for an assembly consists of the following four values: +// +// Major Version +// Minor Version +// Build Number +// Revision +// +// You can specify all the values or you can default the Revision and Build Numbers +// by using the '*' as shown below: +[assembly: AssemblyVersion("1.0.0.0")] +[assembly: AssemblyFileVersion("1.0.0.0")] diff --git a/etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/CustomProfile.pubxml b/etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/CustomProfile.pubxml new file mode 100644 index 00000000..727df075 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/CustomProfile.pubxml @@ -0,0 +1,21 @@ + + + + + Package + Release + Any CPU + + True + True + C:\Users\ashra\source\VsdConverter.zip + true + + + + + + \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/CustomProfile.pubxml.user b/etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/CustomProfile.pubxml.user new file mode 100644 index 00000000..043b1f1a --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/CustomProfile.pubxml.user @@ -0,0 +1,10 @@ + + + + + + + \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/FolderProfile.pubxml b/etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/FolderProfile.pubxml new file mode 100644 index 00000000..c4a2ed93 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/FolderProfile.pubxml @@ -0,0 +1,18 @@ + + + + + FileSystem + FileSystem + Release + Any CPU + + True + False + bin\Release\PublishOutput + False + + \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/FolderProfile.pubxml.user b/etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/FolderProfile.pubxml.user new file mode 100644 index 00000000..fd51f6c5 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/FolderProfile.pubxml.user @@ -0,0 +1,379 @@ + + + + + + <_PublishTargetUrl>C:\Users\ashra\source\repos\VsdConverter\VsdConverter\bin\Release\PublishOutput + + + + 12/28/2017 15:07:25 + + + 12/28/2017 15:07:22 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:19 + + + 12/28/2017 15:07:19 + + + 12/28/2017 15:07:19 + + + 12/28/2017 15:07:19 + + + 12/28/2017 15:07:19 + + + 12/28/2017 15:07:03 + + + 02/22/2013 08:43:40 + + + 02/22/2013 08:43:40 + + + 12/28/2017 15:07:25 + + + 11/22/2017 14:06:00 + + + 11/30/2016 16:07:42 + + + 12/07/2016 11:45:42 + + + 12/07/2016 11:50:34 + + + 12/06/2016 15:15:48 + + + 12/07/2016 11:49:10 + + + 12/07/2016 11:50:34 + + + 12/06/2016 15:09:52 + + + 08/15/2017 13:12:32 + + + 07/17/2017 14:46:10 + + + 01/05/2012 11:08:46 + + + 08/03/2014 20:33:56 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:46 + + + 04/13/2017 15:47:46 + + + 04/13/2017 15:47:46 + + + 04/13/2017 15:47:46 + + + 04/13/2017 15:47:46 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:46 + + + 04/13/2017 15:47:46 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 07/17/2017 14:46:10 + + + 01/28/2015 04:02:42 + + + 01/28/2015 04:04:30 + + + 01/28/2015 04:02:54 + + + 01/28/2015 04:03:46 + + + 01/28/2015 04:02:18 + + + 02/11/2014 15:26:04 + + + 01/28/2015 04:02:32 + + + 01/28/2015 04:04:30 + + + 01/28/2015 04:04:30 + + + 01/28/2015 04:04:30 + + + 12/29/2017 16:37:55 + + + 12/29/2017 16:37:55 + + + 09/10/2013 17:28:38 + + + 12/28/2017 15:07:10 + + + 12/28/2017 15:07:10 + + + 12/28/2017 15:07:03 + + + 12/28/2017 15:07:03 + + + 12/28/2017 15:07:10 + + + 12/28/2017 15:07:10 + + + 12/28/2017 15:07:10 + + + 12/28/2017 15:07:10 + + + 12/28/2017 15:07:03 + + + 12/28/2017 15:07:10 + + + 12/28/2017 15:07:10 + + + 12/28/2017 15:07:14 + + + 12/28/2017 15:07:14 + + + 12/28/2017 15:07:14 + + + 12/28/2017 15:07:22 + + + 12/28/2017 15:07:24 + + + 12/28/2017 15:07:24 + + + 12/29/2017 16:08:55 + + + 12/28/2017 15:07:03 + + + 12/28/2017 15:07:03 + + + 12/28/2017 15:07:03 + + + 12/28/2017 15:07:03 + + + 12/29/2017 16:37:56 + + + \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/FolderProfile1.pubxml b/etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/FolderProfile1.pubxml new file mode 100644 index 00000000..c03e9382 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/FolderProfile1.pubxml @@ -0,0 +1,17 @@ + + + + + FileSystem + Release + x64 + + True + False + C:\newApp\AppPkg + False + + \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/FolderProfile1.pubxml.user b/etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/FolderProfile1.pubxml.user new file mode 100644 index 00000000..d20e0221 --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Properties/PublishProfiles/FolderProfile1.pubxml.user @@ -0,0 +1,385 @@ + + + + + + <_PublishTargetUrl>C:\newApp\AppPkg + + + + 12/28/2017 15:07:25 + + + 12/28/2017 15:07:22 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:20 + + + 12/28/2017 15:07:19 + + + 12/28/2017 15:07:19 + + + 12/28/2017 15:07:19 + + + 12/28/2017 15:07:19 + + + 03/30/2018 14:53:40 + + + 12/28/2017 15:07:03 + + + 02/22/2013 08:43:40 + + + 02/22/2013 08:43:40 + + + 12/28/2017 15:07:25 + + + 11/22/2017 14:06:00 + + + 11/30/2016 16:07:42 + + + 12/07/2016 11:45:42 + + + 12/07/2016 11:50:34 + + + 12/06/2016 15:15:48 + + + 12/07/2016 11:49:10 + + + 12/07/2016 11:50:34 + + + 12/06/2016 15:09:52 + + + 08/15/2017 13:12:32 + + + 07/17/2017 14:46:10 + + + 01/05/2012 11:08:46 + + + 08/03/2014 20:33:56 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:46 + + + 04/13/2017 15:47:46 + + + 04/13/2017 15:47:46 + + + 04/13/2017 15:47:46 + + + 04/13/2017 15:47:46 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:46 + + + 04/13/2017 15:47:46 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 04/13/2017 15:47:48 + + + 07/17/2017 14:46:10 + + + 02/01/2018 12:17:18 + + + 02/01/2018 12:15:30 + + + 01/28/2015 04:04:30 + + + 02/01/2018 12:18:02 + + + 02/01/2018 12:17:40 + + + 01/28/2015 04:03:46 + + + 01/28/2015 04:02:18 + + + 02/11/2014 15:26:04 + + + 01/28/2015 04:02:32 + + + 01/28/2015 04:04:30 + + + 01/28/2015 04:04:30 + + + 01/28/2015 04:04:30 + + + 03/31/2018 17:49:17 + + + 03/31/2018 17:49:17 + + + 09/10/2013 17:28:38 + + + 12/28/2017 15:07:10 + + + 12/28/2017 15:07:10 + + + 12/28/2017 15:07:03 + + + 12/28/2017 15:07:03 + + + 12/28/2017 15:07:10 + + + 12/28/2017 15:07:10 + + + 12/28/2017 15:07:10 + + + 12/28/2017 15:07:10 + + + 12/28/2017 15:07:03 + + + 12/28/2017 15:07:10 + + + 12/28/2017 15:07:10 + + + 12/28/2017 15:07:14 + + + 12/28/2017 15:07:14 + + + 12/28/2017 15:07:14 + + + 12/28/2017 15:07:22 + + + 12/28/2017 15:07:24 + + + 12/28/2017 15:07:24 + + + 03/30/2018 15:59:48 + + + 12/28/2017 15:07:03 + + + 12/28/2017 15:07:03 + + + 03/30/2018 14:53:40 + + + 12/28/2017 15:07:03 + + + 03/31/2018 17:49:18 + + + \ No newline at end of file diff --git a/etc/vsd/VsdConverter/VsdConverter/Scripts/bootstrap.js b/etc/vsd/VsdConverter/VsdConverter/Scripts/bootstrap.js new file mode 100644 index 00000000..5aa9982e --- /dev/null +++ b/etc/vsd/VsdConverter/VsdConverter/Scripts/bootstrap.js @@ -0,0 +1,2014 @@ +/* NUGET: BEGIN LICENSE TEXT + * + * Microsoft grants you the right to use these script files for the sole + * purpose of either: (i) interacting through your browser with the Microsoft + * website or online service, subject to the applicable licensing or use + * terms; or (ii) using the files as included with a Microsoft product subject + * to that product's license terms. Microsoft reserves all other rights to the + * files not expressly granted by Microsoft, whether by implication, estoppel + * or otherwise. Insofar as a script file is dual licensed under GPL, + * Microsoft neither took the code under GPL nor distributes it thereunder but + * under the terms set out in this paragraph. All notices and licenses + * below are for informational purposes only. + * + * NUGET: END LICENSE TEXT */ + +/** +* bootstrap.js v3.0.0 by @fat and @mdo +* Copyright 2013 Twitter Inc. +* http://www.apache.org/licenses/LICENSE-2.0 +*/ +if (!jQuery) { throw new Error("Bootstrap requires jQuery") } + +/* ======================================================================== + * Bootstrap: transition.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#transitions + * ======================================================================== + * Copyright 2013 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // CSS TRANSITION SUPPORT (Shoutout: http://www.modernizr.com/) + // ============================================================ + + function transitionEnd() { + var el = document.createElement('bootstrap') + + var transEndEventNames = { + 'WebkitTransition' : 'webkitTransitionEnd' + , 'MozTransition' : 'transitionend' + , 'OTransition' : 'oTransitionEnd otransitionend' + , 'transition' : 'transitionend' + } + + for (var name in transEndEventNames) { + if (el.style[name] !== undefined) { + return { end: transEndEventNames[name] } + } + } + } + + // http://blog.alexmaccaw.com/css-transitions + $.fn.emulateTransitionEnd = function (duration) { + var called = false, $el = this + $(this).one($.support.transition.end, function () { called = true }) + var callback = function () { if (!called) $($el).trigger($.support.transition.end) } + setTimeout(callback, duration) + return this + } + + $(function () { + $.support.transition = transitionEnd() + }) + +}(window.jQuery); + +/* ======================================================================== + * Bootstrap: alert.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#alerts + * ======================================================================== + * Copyright 2013 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // ALERT CLASS DEFINITION + // ====================== + + var dismiss = '[data-dismiss="alert"]' + var Alert = function (el) { + $(el).on('click', dismiss, this.close) + } + + Alert.prototype.close = function (e) { + var $this = $(this) + var selector = $this.attr('data-target') + + if (!selector) { + selector = $this.attr('href') + selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7 + } + + var $parent = $(selector) + + if (e) e.preventDefault() + + if (!$parent.length) { + $parent = $this.hasClass('alert') ? $this : $this.parent() + } + + $parent.trigger(e = $.Event('close.bs.alert')) + + if (e.isDefaultPrevented()) return + + $parent.removeClass('in') + + function removeElement() { + $parent.trigger('closed.bs.alert').remove() + } + + $.support.transition && $parent.hasClass('fade') ? + $parent + .one($.support.transition.end, removeElement) + .emulateTransitionEnd(150) : + removeElement() + } + + + // ALERT PLUGIN DEFINITION + // ======================= + + var old = $.fn.alert + + $.fn.alert = function (option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.alert') + + if (!data) $this.data('bs.alert', (data = new Alert(this))) + if (typeof option == 'string') data[option].call($this) + }) + } + + $.fn.alert.Constructor = Alert + + + // ALERT NO CONFLICT + // ================= + + $.fn.alert.noConflict = function () { + $.fn.alert = old + return this + } + + + // ALERT DATA-API + // ============== + + $(document).on('click.bs.alert.data-api', dismiss, Alert.prototype.close) + +}(window.jQuery); + +/* ======================================================================== + * Bootstrap: button.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#buttons + * ======================================================================== + * Copyright 2013 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // BUTTON PUBLIC CLASS DEFINITION + // ============================== + + var Button = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Button.DEFAULTS, options) + } + + Button.DEFAULTS = { + loadingText: 'loading...' + } + + Button.prototype.setState = function (state) { + var d = 'disabled' + var $el = this.$element + var val = $el.is('input') ? 'val' : 'html' + var data = $el.data() + + state = state + 'Text' + + if (!data.resetText) $el.data('resetText', $el[val]()) + + $el[val](data[state] || this.options[state]) + + // push to event loop to allow forms to submit + setTimeout(function () { + state == 'loadingText' ? + $el.addClass(d).attr(d, d) : + $el.removeClass(d).removeAttr(d); + }, 0) + } + + Button.prototype.toggle = function () { + var $parent = this.$element.closest('[data-toggle="buttons"]') + + if ($parent.length) { + var $input = this.$element.find('input') + .prop('checked', !this.$element.hasClass('active')) + .trigger('change') + if ($input.prop('type') === 'radio') $parent.find('.active').removeClass('active') + } + + this.$element.toggleClass('active') + } + + + // BUTTON PLUGIN DEFINITION + // ======================== + + var old = $.fn.button + + $.fn.button = function (option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.button') + var options = typeof option == 'object' && option + + if (!data) $this.data('bs.button', (data = new Button(this, options))) + + if (option == 'toggle') data.toggle() + else if (option) data.setState(option) + }) + } + + $.fn.button.Constructor = Button + + + // BUTTON NO CONFLICT + // ================== + + $.fn.button.noConflict = function () { + $.fn.button = old + return this + } + + + // BUTTON DATA-API + // =============== + + $(document).on('click.bs.button.data-api', '[data-toggle^=button]', function (e) { + var $btn = $(e.target) + if (!$btn.hasClass('btn')) $btn = $btn.closest('.btn') + $btn.button('toggle') + e.preventDefault() + }) + +}(window.jQuery); + +/* ======================================================================== + * Bootstrap: carousel.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#carousel + * ======================================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // CAROUSEL CLASS DEFINITION + // ========================= + + var Carousel = function (element, options) { + this.$element = $(element) + this.$indicators = this.$element.find('.carousel-indicators') + this.options = options + this.paused = + this.sliding = + this.interval = + this.$active = + this.$items = null + + this.options.pause == 'hover' && this.$element + .on('mouseenter', $.proxy(this.pause, this)) + .on('mouseleave', $.proxy(this.cycle, this)) + } + + Carousel.DEFAULTS = { + interval: 5000 + , pause: 'hover' + , wrap: true + } + + Carousel.prototype.cycle = function (e) { + e || (this.paused = false) + + this.interval && clearInterval(this.interval) + + this.options.interval + && !this.paused + && (this.interval = setInterval($.proxy(this.next, this), this.options.interval)) + + return this + } + + Carousel.prototype.getActiveIndex = function () { + this.$active = this.$element.find('.item.active') + this.$items = this.$active.parent().children() + + return this.$items.index(this.$active) + } + + Carousel.prototype.to = function (pos) { + var that = this + var activeIndex = this.getActiveIndex() + + if (pos > (this.$items.length - 1) || pos < 0) return + + if (this.sliding) return this.$element.one('slid', function () { that.to(pos) }) + if (activeIndex == pos) return this.pause().cycle() + + return this.slide(pos > activeIndex ? 'next' : 'prev', $(this.$items[pos])) + } + + Carousel.prototype.pause = function (e) { + e || (this.paused = true) + + if (this.$element.find('.next, .prev').length && $.support.transition.end) { + this.$element.trigger($.support.transition.end) + this.cycle(true) + } + + this.interval = clearInterval(this.interval) + + return this + } + + Carousel.prototype.next = function () { + if (this.sliding) return + return this.slide('next') + } + + Carousel.prototype.prev = function () { + if (this.sliding) return + return this.slide('prev') + } + + Carousel.prototype.slide = function (type, next) { + var $active = this.$element.find('.item.active') + var $next = next || $active[type]() + var isCycling = this.interval + var direction = type == 'next' ? 'left' : 'right' + var fallback = type == 'next' ? 'first' : 'last' + var that = this + + if (!$next.length) { + if (!this.options.wrap) return + $next = this.$element.find('.item')[fallback]() + } + + this.sliding = true + + isCycling && this.pause() + + var e = $.Event('slide.bs.carousel', { relatedTarget: $next[0], direction: direction }) + + if ($next.hasClass('active')) return + + if (this.$indicators.length) { + this.$indicators.find('.active').removeClass('active') + this.$element.one('slid', function () { + var $nextIndicator = $(that.$indicators.children()[that.getActiveIndex()]) + $nextIndicator && $nextIndicator.addClass('active') + }) + } + + if ($.support.transition && this.$element.hasClass('slide')) { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $next.addClass(type) + $next[0].offsetWidth // force reflow + $active.addClass(direction) + $next.addClass(direction) + $active + .one($.support.transition.end, function () { + $next.removeClass([type, direction].join(' ')).addClass('active') + $active.removeClass(['active', direction].join(' ')) + that.sliding = false + setTimeout(function () { that.$element.trigger('slid') }, 0) + }) + .emulateTransitionEnd(600) + } else { + this.$element.trigger(e) + if (e.isDefaultPrevented()) return + $active.removeClass('active') + $next.addClass('active') + this.sliding = false + this.$element.trigger('slid') + } + + isCycling && this.cycle() + + return this + } + + + // CAROUSEL PLUGIN DEFINITION + // ========================== + + var old = $.fn.carousel + + $.fn.carousel = function (option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.carousel') + var options = $.extend({}, Carousel.DEFAULTS, $this.data(), typeof option == 'object' && option) + var action = typeof option == 'string' ? option : options.slide + + if (!data) $this.data('bs.carousel', (data = new Carousel(this, options))) + if (typeof option == 'number') data.to(option) + else if (action) data[action]() + else if (options.interval) data.pause().cycle() + }) + } + + $.fn.carousel.Constructor = Carousel + + + // CAROUSEL NO CONFLICT + // ==================== + + $.fn.carousel.noConflict = function () { + $.fn.carousel = old + return this + } + + + // CAROUSEL DATA-API + // ================= + + $(document).on('click.bs.carousel.data-api', '[data-slide], [data-slide-to]', function (e) { + var $this = $(this), href + var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) //strip for ie7 + var options = $.extend({}, $target.data(), $this.data()) + var slideIndex = $this.attr('data-slide-to') + if (slideIndex) options.interval = false + + $target.carousel(options) + + if (slideIndex = $this.attr('data-slide-to')) { + $target.data('bs.carousel').to(slideIndex) + } + + e.preventDefault() + }) + + $(window).on('load', function () { + $('[data-ride="carousel"]').each(function () { + var $carousel = $(this) + $carousel.carousel($carousel.data()) + }) + }) + +}(window.jQuery); + +/* ======================================================================== + * Bootstrap: collapse.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#collapse + * ======================================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // COLLAPSE PUBLIC CLASS DEFINITION + // ================================ + + var Collapse = function (element, options) { + this.$element = $(element) + this.options = $.extend({}, Collapse.DEFAULTS, options) + this.transitioning = null + + if (this.options.parent) this.$parent = $(this.options.parent) + if (this.options.toggle) this.toggle() + } + + Collapse.DEFAULTS = { + toggle: true + } + + Collapse.prototype.dimension = function () { + var hasWidth = this.$element.hasClass('width') + return hasWidth ? 'width' : 'height' + } + + Collapse.prototype.show = function () { + if (this.transitioning || this.$element.hasClass('in')) return + + var startEvent = $.Event('show.bs.collapse') + this.$element.trigger(startEvent) + if (startEvent.isDefaultPrevented()) return + + var actives = this.$parent && this.$parent.find('> .panel > .in') + + if (actives && actives.length) { + var hasData = actives.data('bs.collapse') + if (hasData && hasData.transitioning) return + actives.collapse('hide') + hasData || actives.data('bs.collapse', null) + } + + var dimension = this.dimension() + + this.$element + .removeClass('collapse') + .addClass('collapsing') + [dimension](0) + + this.transitioning = 1 + + var complete = function () { + this.$element + .removeClass('collapsing') + .addClass('in') + [dimension]('auto') + this.transitioning = 0 + this.$element.trigger('shown.bs.collapse') + } + + if (!$.support.transition) return complete.call(this) + + var scrollSize = $.camelCase(['scroll', dimension].join('-')) + + this.$element + .one($.support.transition.end, $.proxy(complete, this)) + .emulateTransitionEnd(350) + [dimension](this.$element[0][scrollSize]) + } + + Collapse.prototype.hide = function () { + if (this.transitioning || !this.$element.hasClass('in')) return + + var startEvent = $.Event('hide.bs.collapse') + this.$element.trigger(startEvent) + if (startEvent.isDefaultPrevented()) return + + var dimension = this.dimension() + + this.$element + [dimension](this.$element[dimension]()) + [0].offsetHeight + + this.$element + .addClass('collapsing') + .removeClass('collapse') + .removeClass('in') + + this.transitioning = 1 + + var complete = function () { + this.transitioning = 0 + this.$element + .trigger('hidden.bs.collapse') + .removeClass('collapsing') + .addClass('collapse') + } + + if (!$.support.transition) return complete.call(this) + + this.$element + [dimension](0) + .one($.support.transition.end, $.proxy(complete, this)) + .emulateTransitionEnd(350) + } + + Collapse.prototype.toggle = function () { + this[this.$element.hasClass('in') ? 'hide' : 'show']() + } + + + // COLLAPSE PLUGIN DEFINITION + // ========================== + + var old = $.fn.collapse + + $.fn.collapse = function (option) { + return this.each(function () { + var $this = $(this) + var data = $this.data('bs.collapse') + var options = $.extend({}, Collapse.DEFAULTS, $this.data(), typeof option == 'object' && option) + + if (!data) $this.data('bs.collapse', (data = new Collapse(this, options))) + if (typeof option == 'string') data[option]() + }) + } + + $.fn.collapse.Constructor = Collapse + + + // COLLAPSE NO CONFLICT + // ==================== + + $.fn.collapse.noConflict = function () { + $.fn.collapse = old + return this + } + + + // COLLAPSE DATA-API + // ================= + + $(document).on('click.bs.collapse.data-api', '[data-toggle=collapse]', function (e) { + var $this = $(this), href + var target = $this.attr('data-target') + || e.preventDefault() + || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') //strip for ie7 + var $target = $(target) + var data = $target.data('bs.collapse') + var option = data ? 'toggle' : $this.data() + var parent = $this.attr('data-parent') + var $parent = parent && $(parent) + + if (!data || !data.transitioning) { + if ($parent) $parent.find('[data-toggle=collapse][data-parent="' + parent + '"]').not($this).addClass('collapsed') + $this[$target.hasClass('in') ? 'addClass' : 'removeClass']('collapsed') + } + + $target.collapse(option) + }) + +}(window.jQuery); + +/* ======================================================================== + * Bootstrap: dropdown.js v3.0.0 + * http://twbs.github.com/bootstrap/javascript.html#dropdowns + * ======================================================================== + * Copyright 2012 Twitter, Inc. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ======================================================================== */ + + ++function ($) { "use strict"; + + // DROPDOWN CLASS DEFINITION + // ========================= + + var backdrop = '.dropdown-backdrop' + var toggle = '[data-toggle=dropdown]' + var Dropdown = function (element) { + var $el = $(element).on('click.bs.dropdown', this.toggle) + } + + Dropdown.prototype.toggle = function (e) { + var $this = $(this) + + if ($this.is('.disabled, :disabled')) return + + var $parent = getParent($this) + var isActive = $parent.hasClass('open') + + clearMenus() + + if (!isActive) { + if ('ontouchstart' in document.documentElement && !$parent.closest('.navbar-nav').length) { + // if mobile we we use a backdrop because click events don't delegate + $('