.\n\n.list-group {\n // No need to set list-style: none; since .list-group-item is block level\n margin-bottom: 20px;\n padding-left: 0; // reset padding because ul and ol\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -1px;\n background-color: @list-group-bg;\n border: 1px solid @list-group-border;\n\n // Round the first and last items\n &:first-child {\n .border-top-radius(@list-group-border-radius);\n }\n &:last-child {\n margin-bottom: 0;\n .border-bottom-radius(@list-group-border-radius);\n }\n\n // Align badges within list items\n > .badge {\n float: right;\n }\n > .badge + .badge {\n margin-right: 5px;\n }\n}\n\n\n// Linked list items\n//\n// Use anchor elements instead of `li`s or `div`s to create linked list items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item {\n color: @list-group-link-color;\n\n .list-group-item-heading {\n color: @list-group-link-heading-color;\n }\n\n // Hover state\n &:hover,\n &:focus {\n text-decoration: none;\n color: @list-group-link-hover-color;\n background-color: @list-group-hover-bg;\n }\n}\n\n.list-group-item {\n // Disabled state\n &.disabled,\n &.disabled:hover,\n &.disabled:focus {\n background-color: @list-group-disabled-bg;\n color: @list-group-disabled-color;\n cursor: @cursor-disabled;\n\n // Force color to inherit for custom content\n .list-group-item-heading {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-disabled-text-color;\n }\n }\n\n // Active class on item itself, not parent\n &.active,\n &.active:hover,\n &.active:focus {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: @list-group-active-color;\n background-color: @list-group-active-bg;\n border-color: @list-group-active-border;\n\n // Force color to inherit for custom content\n .list-group-item-heading,\n .list-group-item-heading > small,\n .list-group-item-heading > .small {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-active-text-color;\n }\n }\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n","// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n .list-group-item-@{state} {\n color: @color;\n background-color: @background;\n\n a& {\n color: @color;\n\n .list-group-item-heading {\n color: inherit;\n }\n\n &:hover,\n &:focus {\n color: @color;\n background-color: darken(@background, 5%);\n }\n &.active,\n &.active:hover,\n &.active:focus {\n color: #fff;\n background-color: @color;\n border-color: @color;\n }\n }\n }\n}\n","//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n margin-bottom: @line-height-computed;\n background-color: @panel-bg;\n border: 1px solid transparent;\n border-radius: @panel-border-radius;\n .box-shadow(0 1px 1px rgba(0,0,0,.05));\n}\n\n// Panel contents\n.panel-body {\n padding: @panel-body-padding;\n &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n padding: @panel-heading-padding;\n border-bottom: 1px solid transparent;\n .border-top-radius((@panel-border-radius - 1));\n\n > .dropdown .dropdown-toggle {\n color: inherit;\n }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: ceil((@font-size-base * 1.125));\n color: inherit;\n\n > a {\n color: inherit;\n }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n padding: @panel-footer-padding;\n background-color: @panel-footer-bg;\n border-top: 1px solid @panel-inner-border;\n .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n > .list-group,\n > .panel-collapse > .list-group {\n margin-bottom: 0;\n\n .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n }\n\n // Add border top radius for first one\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n .border-top-radius((@panel-border-radius - 1));\n }\n }\n // Add border bottom radius for last one\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n .border-bottom-radius((@panel-border-radius - 1));\n }\n }\n }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n .list-group-item:first-child {\n border-top-width: 0;\n }\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n > .table,\n > .table-responsive > .table,\n > .panel-collapse > .table {\n margin-bottom: 0;\n\n caption {\n padding-left: @panel-body-padding;\n padding-right: @panel-body-padding;\n }\n }\n // Add border top radius for first one\n > .table:first-child,\n > .table-responsive:first-child > .table:first-child {\n .border-top-radius((@panel-border-radius - 1));\n\n > thead:first-child,\n > tbody:first-child {\n > tr:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n border-top-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-top-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n // Add border bottom radius for last one\n > .table:last-child,\n > .table-responsive:last-child > .table:last-child {\n .border-bottom-radius((@panel-border-radius - 1));\n\n > tbody:last-child,\n > tfoot:last-child {\n > tr:last-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n border-bottom-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-bottom-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n > .panel-body + .table,\n > .panel-body + .table-responsive,\n > .table + .panel-body,\n > .table-responsive + .panel-body {\n border-top: 1px solid @table-border-color;\n }\n > .table > tbody:first-child > tr:first-child th,\n > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n }\n > .table-bordered,\n > .table-responsive > .table-bordered {\n border: 0;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n > thead,\n > tbody {\n > tr:first-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n > tbody,\n > tfoot {\n > tr:last-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n }\n > .table-responsive {\n border: 0;\n margin-bottom: 0;\n }\n}\n\n\n// Collapsable panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n margin-bottom: @line-height-computed;\n\n // Tighten up margin so it's only between panels\n .panel {\n margin-bottom: 0;\n border-radius: @panel-border-radius;\n\n + .panel {\n margin-top: 5px;\n }\n }\n\n .panel-heading {\n border-bottom: 0;\n\n + .panel-collapse > .panel-body,\n + .panel-collapse > .list-group {\n border-top: 1px solid @panel-inner-border;\n }\n }\n\n .panel-footer {\n border-top: 0;\n + .panel-collapse .panel-body {\n border-bottom: 1px solid @panel-inner-border;\n }\n }\n}\n\n\n// Contextual variations\n.panel-default {\n .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n border-color: @border;\n\n & > .panel-heading {\n color: @heading-text-color;\n background-color: @heading-bg-color;\n border-color: @heading-border;\n\n + .panel-collapse > .panel-body {\n border-top-color: @border;\n }\n .badge {\n color: @heading-bg-color;\n background-color: @heading-text-color;\n }\n }\n & > .panel-footer {\n + .panel-collapse > .panel-body {\n border-bottom-color: @border;\n }\n }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n height: 100%;\n width: 100%;\n border: 0;\n }\n\n // Modifier class for 16:9 aspect ratio\n &.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n }\n\n // Modifier class for 4:3 aspect ratio\n &.embed-responsive-4by3 {\n padding-bottom: 75%;\n }\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: @well-bg;\n border: 1px solid @well-border;\n border-radius: @border-radius-base;\n .box-shadow(inset 0 1px 1px rgba(0,0,0,.05));\n blockquote {\n border-color: #ddd;\n border-color: rgba(0,0,0,.15);\n }\n}\n\n// Sizes\n.well-lg {\n padding: 24px;\n border-radius: @border-radius-large;\n}\n.well-sm {\n padding: 9px;\n border-radius: @border-radius-small;\n}\n","//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n float: right;\n font-size: (@font-size-base * 1.5);\n font-weight: @close-font-weight;\n line-height: 1;\n color: @close-color;\n text-shadow: @close-text-shadow;\n .opacity(.2);\n\n &:hover,\n &:focus {\n color: @close-color;\n text-decoration: none;\n cursor: pointer;\n .opacity(.5);\n }\n\n // Additional properties for button version\n // iOS requires the button element instead of an anchor tag.\n // If you want the anchor version, it requires `href=\"#\"`.\n button& {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n display: none;\n overflow: hidden;\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal;\n -webkit-overflow-scrolling: touch;\n\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n\n // When fading in the modal, animate it to slide down\n &.fade .modal-dialog {\n .translate(0, -25%);\n .transition-transform(~\"0.3s ease-out\");\n }\n &.in .modal-dialog { .translate(0, 0) }\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n background-color: @modal-content-bg;\n border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n border: 1px solid @modal-content-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 3px 9px rgba(0,0,0,.5));\n background-clip: padding-box;\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n background-color: @modal-backdrop-bg;\n // Fade for backdrop\n &.fade { .opacity(0); }\n &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n padding: @modal-title-padding;\n border-bottom: 1px solid @modal-header-border-color;\n min-height: (@modal-title-padding + @modal-title-line-height);\n}\n// Close icon\n.modal-header .close {\n margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n margin: 0;\n line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n padding: @modal-inner-padding;\n text-align: right; // right align buttons\n border-top: 1px solid @modal-footer-border-color;\n &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n // Properly space out buttons\n .btn + .btn {\n margin-left: 5px;\n margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n }\n // but override that for button groups\n .btn-group .btn + .btn {\n margin-left: -1px;\n }\n // and override it for block buttons as well\n .btn-block + .btn-block {\n margin-left: 0;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n width: @modal-md;\n margin: 30px auto;\n }\n .modal-content {\n .box-shadow(0 5px 15px rgba(0,0,0,.5));\n }\n\n // Modal sizes\n .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n .modal-lg { width: @modal-lg; }\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n position: absolute;\n z-index: @zindex-tooltip;\n display: block;\n visibility: visible;\n font-size: @font-size-small;\n line-height: 1.4;\n .opacity(0);\n\n &.in { .opacity(@tooltip-opacity); }\n &.top { margin-top: -3px; padding: @tooltip-arrow-width 0; }\n &.right { margin-left: 3px; padding: 0 @tooltip-arrow-width; }\n &.bottom { margin-top: 3px; padding: @tooltip-arrow-width 0; }\n &.left { margin-left: -3px; padding: 0 @tooltip-arrow-width; }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: @tooltip-max-width;\n padding: 3px 8px;\n color: @tooltip-color;\n text-align: center;\n text-decoration: none;\n background-color: @tooltip-bg;\n border-radius: @border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.tooltip {\n &.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-left .tooltip-arrow {\n bottom: 0;\n left: @tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-right .tooltip-arrow {\n bottom: 0;\n right: @tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;\n border-right-color: @tooltip-arrow-color;\n }\n &.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-left-color: @tooltip-arrow-color;\n }\n &.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-left .tooltip-arrow {\n top: 0;\n left: @tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-right .tooltip-arrow {\n top: 0;\n right: @tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: @zindex-popover;\n display: none;\n max-width: @popover-max-width;\n padding: 1px;\n // Reset font and text propertes given new insertion method\n font-size: @font-size-base;\n font-weight: normal;\n line-height: @line-height-base;\n text-align: left;\n background-color: @popover-bg;\n background-clip: padding-box;\n border: 1px solid @popover-fallback-border-color;\n border: 1px solid @popover-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 5px 10px rgba(0,0,0,.2));\n\n // Overrides for proper insertion\n white-space: normal;\n\n // Offset the popover to account for the popover arrow\n &.top { margin-top: -@popover-arrow-width; }\n &.right { margin-left: @popover-arrow-width; }\n &.bottom { margin-top: @popover-arrow-width; }\n &.left { margin-left: -@popover-arrow-width; }\n}\n\n.popover-title {\n margin: 0; // reset heading margin\n padding: 8px 14px;\n font-size: @font-size-base;\n background-color: @popover-title-bg;\n border-bottom: 1px solid darken(@popover-title-bg, 5%);\n border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n\n// Arrows\n//\n// .arrow is outer, .arrow:after is inner\n\n.popover > .arrow {\n &,\n &:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n }\n}\n.popover > .arrow {\n border-width: @popover-arrow-outer-width;\n}\n.popover > .arrow:after {\n border-width: @popover-arrow-width;\n content: \"\";\n}\n\n.popover {\n &.top > .arrow {\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-bottom-width: 0;\n border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-top-color: @popover-arrow-outer-color;\n bottom: -@popover-arrow-outer-width;\n &:after {\n content: \" \";\n bottom: 1px;\n margin-left: -@popover-arrow-width;\n border-bottom-width: 0;\n border-top-color: @popover-arrow-color;\n }\n }\n &.right > .arrow {\n top: 50%;\n left: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-left-width: 0;\n border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-right-color: @popover-arrow-outer-color;\n &:after {\n content: \" \";\n left: 1px;\n bottom: -@popover-arrow-width;\n border-left-width: 0;\n border-right-color: @popover-arrow-color;\n }\n }\n &.bottom > .arrow {\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-bottom-color: @popover-arrow-outer-color;\n top: -@popover-arrow-outer-width;\n &:after {\n content: \" \";\n top: 1px;\n margin-left: -@popover-arrow-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-color;\n }\n }\n\n &.left > .arrow {\n top: 50%;\n right: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-right-width: 0;\n border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-left-color: @popover-arrow-outer-color;\n &:after {\n content: \" \";\n right: 1px;\n border-right-width: 0;\n border-left-color: @popover-arrow-color;\n bottom: -@popover-arrow-width;\n }\n }\n}\n","//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n overflow: hidden;\n width: 100%;\n\n > .item {\n display: none;\n position: relative;\n .transition(.6s ease-in-out left);\n\n // Account for jankitude on images\n > img,\n > a > img {\n &:extend(.img-responsive);\n line-height: 1;\n }\n\n // WebKit CSS3 transforms for supported devices\n @media all and (transform-3d), (-webkit-transform-3d) {\n transition: transform .6s ease-in-out;\n backface-visibility: hidden;\n perspective: 1000;\n\n &.next,\n &.active.right {\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n &.prev,\n &.active.left {\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n &.next.left,\n &.prev.right,\n &.active {\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n }\n }\n\n > .active,\n > .next,\n > .prev {\n display: block;\n }\n\n > .active {\n left: 0;\n }\n\n > .next,\n > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n }\n\n > .next {\n left: 100%;\n }\n > .prev {\n left: -100%;\n }\n > .next.left,\n > .prev.right {\n left: 0;\n }\n\n > .active.left {\n left: -100%;\n }\n > .active.right {\n left: 100%;\n }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n width: @carousel-control-width;\n .opacity(@carousel-control-opacity);\n font-size: @carousel-control-font-size;\n color: @carousel-control-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n // We can't have this transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Set gradients for backgrounds\n &.left {\n #gradient > .horizontal(@start-color: rgba(0,0,0,.5); @end-color: rgba(0,0,0,.0001));\n }\n &.right {\n left: auto;\n right: 0;\n #gradient > .horizontal(@start-color: rgba(0,0,0,.0001); @end-color: rgba(0,0,0,.5));\n }\n\n // Hover/focus state\n &:hover,\n &:focus {\n outline: 0;\n color: @carousel-control-color;\n text-decoration: none;\n .opacity(.9);\n }\n\n // Toggles\n .icon-prev,\n .icon-next,\n .glyphicon-chevron-left,\n .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n }\n .icon-prev,\n .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n }\n .icon-next,\n .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n }\n .icon-prev,\n .icon-next {\n width: 20px;\n height: 20px;\n margin-top: -10px;\n font-family: serif;\n }\n\n\n .icon-prev {\n &:before {\n content: '\\2039';// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n }\n }\n .icon-next {\n &:before {\n content: '\\203a';// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n }\n }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n margin-left: -30%;\n padding-left: 0;\n list-style: none;\n text-align: center;\n\n li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n border: 1px solid @carousel-indicator-border-color;\n border-radius: 10px;\n cursor: pointer;\n\n // IE8-9 hack for event handling\n //\n // Internet Explorer 8-9 does not support clicks on elements without a set\n // `background-color`. We cannot use `filter` since that's not viewed as a\n // background color by the browser. Thus, a hack is needed.\n //\n // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n // set alpha transparency for the best results possible.\n background-color: #000 \\9; // IE8\n background-color: rgba(0,0,0,0); // IE9\n }\n .active {\n margin: 0;\n width: 12px;\n height: 12px;\n background-color: @carousel-indicator-active-bg;\n }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n position: absolute;\n left: 15%;\n right: 15%;\n bottom: 20px;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: @carousel-caption-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n & .btn {\n text-shadow: none; // No shadow for button elements in carousel-caption\n }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: @screen-sm-min) {\n\n // Scale up the controls a smidge\n .carousel-control {\n .glyphicon-chevron-left,\n .glyphicon-chevron-right,\n .icon-prev,\n .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -15px;\n font-size: 30px;\n }\n .glyphicon-chevron-left,\n .icon-prev {\n margin-left: -15px;\n }\n .glyphicon-chevron-right,\n .icon-next {\n margin-right: -15px;\n }\n }\n\n // Show and left align the captions\n .carousel-caption {\n left: 20%;\n right: 20%;\n padding-bottom: 30px;\n }\n\n // Move up the indicators\n .carousel-indicators {\n bottom: 20px;\n }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n &:before,\n &:after {\n content: \" \"; // 1\n display: table; // 2\n }\n &:after {\n clear: both;\n }\n}\n","// Center-align a block level element\n\n.center-block() {\n display: block;\n margin-left: auto;\n margin-right: auto;\n}\n","// CSS image replacement\n//\n// Heads up! v3 launched with with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (will be removed in v4)\n.hide-text() {\n font: ~\"0/0\" a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n// New mixin to use as of v3.0.1\n.text-hide() {\n .hide-text();\n}\n","//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: http://getbootstrap.com/getting-started/#support-ie10-width\n// Source: http://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: http://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n width: device-width;\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n .responsive-invisibility();\n}\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n\n.visible-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-visibility();\n }\n}\n.visible-xs-block {\n @media (max-width: @screen-xs-max) {\n display: block !important;\n }\n}\n.visible-xs-inline {\n @media (max-width: @screen-xs-max) {\n display: inline !important;\n }\n}\n.visible-xs-inline-block {\n @media (max-width: @screen-xs-max) {\n display: inline-block !important;\n }\n}\n\n.visible-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-visibility();\n }\n}\n.visible-sm-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: block !important;\n }\n}\n.visible-sm-inline {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline !important;\n }\n}\n.visible-sm-inline-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline-block !important;\n }\n}\n\n.visible-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-visibility();\n }\n}\n.visible-md-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: block !important;\n }\n}\n.visible-md-inline {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline !important;\n }\n}\n.visible-md-inline-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline-block !important;\n }\n}\n\n.visible-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-visibility();\n }\n}\n.visible-lg-block {\n @media (min-width: @screen-lg-min) {\n display: block !important;\n }\n}\n.visible-lg-inline {\n @media (min-width: @screen-lg-min) {\n display: inline !important;\n }\n}\n.visible-lg-inline-block {\n @media (min-width: @screen-lg-min) {\n display: inline-block !important;\n }\n}\n\n.hidden-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-invisibility();\n }\n}\n.hidden-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-invisibility();\n }\n}\n.hidden-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-invisibility();\n }\n}\n.hidden-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-invisibility();\n }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n.visible-print {\n .responsive-invisibility();\n\n @media print {\n .responsive-visibility();\n }\n}\n.visible-print-block {\n display: none !important;\n\n @media print {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n\n @media print {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n\n @media print {\n display: inline-block !important;\n }\n}\n\n.hidden-print {\n @media print {\n .responsive-invisibility();\n }\n}\n","// Responsive utilities\n\n//\n// More easily include all the states for responsive-utilities.less.\n.responsive-visibility() {\n display: block !important;\n table& { display: table; }\n tr& { display: table-row !important; }\n th&,\n td& { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n display: none !important;\n}\n"]}
\ No newline at end of file
diff --git a/booksalessm/WebRoot/admin/common/bootstrap/css/bootstrap.min.css b/booksalessm/WebRoot/admin/common/bootstrap/css/bootstrap.min.css
new file mode 100644
index 0000000..4af8905
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/bootstrap/css/bootstrap.min.css
@@ -0,0 +1,5 @@
+/*!
+ * Bootstrap v3.3.0 (http://getbootstrap.com)
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ *//*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0;font-size:2em}mark{color:#000;background:#ff0}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{height:0;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{margin:0;font:inherit;color:inherit}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0}input{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}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}fieldset{padding:.35em .625em .75em;margin:0 2px;border:1px solid silver}legend{padding:0;border:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-spacing:0;border-collapse:collapse}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:before,:after{color:#000!important;text-shadow:none!important;background:transparent!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]: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}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@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';font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\2a"}.glyphicon-plus:before{content:"\2b"}.glyphicon-euro:before,.glyphicon-eur: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-lock:before{content:"\e033"}.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-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.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-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.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-bell:before{content:"\e123"}.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-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.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"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:before,:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{display:inline-block;max-width:100%;height:auto;padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-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}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,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:400;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}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}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#428bca}a.text-primary:hover{color:#3071a9}.text-success{color:#3c763d}a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#428bca}a.bg-primary:hover{background-color:#3071a9}.bg-success{background-color:#dff0d8}a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover{background-color:#e4b9b9}.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;margin-left:-5px;list-style:none}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:700}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}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.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,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.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{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.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{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.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{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-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.42857143;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){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;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-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.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}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.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}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.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}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.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>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{min-width:0;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;max-width:100%;margin-bottom:5px;font-weight:700}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}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=file]:focus,input[type=radio]:focus,input[type=checkbox]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;-o-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,.075),0 0 8px rgba(102,175,233,.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee;opacity:1}textarea.form-control{height:auto}input[type=search]{-webkit-appearance:none}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{line-height:34px;line-height:1.42857143 \0}input[type=date].input-sm,input[type=time].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm{line-height:30px;line-height:1.5 \0}input[type=date].input-lg,input[type=time].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg{line-height:46px;line-height:1.33 \0}_:-ms-fullscreen,:root input[type=date],_:-ms-fullscreen,:root input[type=time],_:-ms-fullscreen,:root input[type=datetime-local],_:-ms-fullscreen,:root input[type=month]{line-height:1.42857143}_:-ms-fullscreen.input-sm,:root input[type=date].input-sm,_:-ms-fullscreen.input-sm,:root input[type=time].input-sm,_:-ms-fullscreen.input-sm,:root input[type=datetime-local].input-sm,_:-ms-fullscreen.input-sm,:root input[type=month].input-sm{line-height:1.5}_:-ms-fullscreen.input-lg,:root input[type=date].input-lg,_:-ms-fullscreen.input-lg,:root input[type=time].input-lg,_:-ms-fullscreen.input-lg,:root input[type=datetime-local].input-lg,_:-ms-fullscreen.input-lg,:root input[type=month].input-lg{line-height:1.33}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.radio input[type=radio],.radio-inline input[type=radio],.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox]{position:absolute;margin-top:4px \9;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:400;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],input[type=radio].disabled,input[type=checkbox].disabled,fieldset[disabled] input[type=radio],fieldset[disabled] input[type=checkbox]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm,.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm,select.form-group-sm .form-control{height:30px;line-height:30px}textarea.input-sm,textarea.form-group-sm .form-control,select[multiple].input-sm,select[multiple].form-group-sm .form-control{height:auto}.input-lg,.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg,select.form-group-lg .form-control{height:46px;line-height:46px}textarea.input-lg,textarea.form-group-lg .form-control,select[multiple].input-lg,select[multiple].form-group-lg .form-control{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top: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;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type=radio],.form-inline .checkbox input[type=checkbox]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.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 .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:14.3px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px}}.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:400;line-height:1.42857143;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-image:none;border:1px solid transparent;border-radius:4px}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.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,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{pointer-events:none;cursor:not-allowed;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none;opacity:.65}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default.focus,.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;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.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-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary.focus,.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#3071a9;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.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-primary .badge{color:#428bca;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success.focus,.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;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.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-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info.focus,.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;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.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-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning.focus,.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;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.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-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger.focus,.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;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.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-danger .badge{color:#d9534f;background-color:#fff}.btn-link{font-weight:400;color:#428bca;border-radius:0}.btn-link,.btn-link:active,.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:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.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;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none;visibility:hidden}.collapse.in{display:block;visibility:visible}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid;border-right:4px solid transparent;border-left:4px solid transparent}.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;text-align:left;list-style:none;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.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:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{color:#262626;text-decoration:none;background-color:#f5f5f5}.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:#777}.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-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.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{content:"";border-top:0;border-bottom:4px solid}.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}.navbar-right .dropdown-menu-left{right:auto;left:0}}.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{margin-left:-5px}.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-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-top-left-radius:0;border-bottom-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-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.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,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.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,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.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-left-radius:0;border-top-right-radius:0;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=radio],[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;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:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].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,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].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:400;line-height:1;color:#555;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>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{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>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.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:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;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.42857143;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{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.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{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none;visibility:hidden}.tab-content>.active{display:block;visibility:visible}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;-webkit-overflow-scrolling:touch;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1)}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important;visibility:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;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;z-index:1030}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .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;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.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;-webkit-box-shadow:none;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}}.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,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.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;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type=radio],.navbar-form .checkbox input[type=checkbox]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@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-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.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:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.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}@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-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.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}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.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:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.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:#777}.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.42857143;color:#428bca;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-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{color:#2a6496;background-color:#eee;border-color:#ddd}.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>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;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-top-left-radius:6px;border-bottom-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-top-left-radius:3px;border-bottom-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 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:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.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:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}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 15px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding:48px 0}.container .jumbotron{padding-right:60px;padding-left:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-right:auto;margin-left:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#428bca}.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:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 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,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);-webkit-background-size:40px 40px;background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-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-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.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-left-radius:4px;border-top-right-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{color:#555;text-decoration:none;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{color:#777;cursor:not-allowed;background-color:#eee}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.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,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{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-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,a.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:hover,a.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,a.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:hover,a.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,a.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,a.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.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,.05);box-shadow:0 1px 1px rgba(0,0,0,.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.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>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-right:15px;padding-left:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;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,.panel-group .panel-heading+.panel-collapse>.list-group{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-heading .badge{color:#f5f5f5;background-color:#333}.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-heading .badge{color:#428bca;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive.embed-responsive-4by3{padding-bottom:75%}.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,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(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:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{-webkit-appearance:none;padding:0;cursor:pointer;background:0 0;border:0}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;display:none;overflow:hidden;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transition:-webkit-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out;-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%)}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;outline:0;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{min-height:16.43px;padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.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}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-size:12px;line-height:1.4;visibility:visible;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.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-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{right:5px;bottom:0;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-size:14px;font-weight:400;line-height:1.42857143;text-align:left;white-space:normal;background-color:#fff;-webkit-background-clip:padding-box;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2)}.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;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{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.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;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000;perspective:1000}.carousel-inner>.item.next,.carousel-inner>.item.active.right{left:0;-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{left:0;-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}}.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,.6);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;filter:alpha(opacity=90);outline:0;opacity:.9}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-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;background-color:#000 \9;background-color:rgba(0,0,0,0);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,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-15px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-15px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-footer:before,.modal-footer:after{display:table;content:" "}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-footer:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.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}.hidden{display:none!important;visibility:hidden!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media (max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media (max-width:767px){.visible-xs-block{display:block!important}}@media (max-width:767px){.visible-xs-inline{display:inline!important}}@media (max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media (min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media (min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media (min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media (min-width:1200px){.visible-lg-block{display:block!important}}@media (min-width:1200px){.visible-lg-inline{display:inline!important}}@media (min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media (max-width:767px){.hidden-xs{display:none!important}}@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media (min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
\ No newline at end of file
diff --git a/booksalessm/WebRoot/admin/common/bootstrap/fonts/glyphicons-halflings-regular.eot b/booksalessm/WebRoot/admin/common/bootstrap/fonts/glyphicons-halflings-regular.eot
new file mode 100644
index 0000000..4a4ca86
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/bootstrap/fonts/glyphicons-halflings-regular.eot differ
diff --git a/booksalessm/WebRoot/admin/common/bootstrap/fonts/glyphicons-halflings-regular.svg b/booksalessm/WebRoot/admin/common/bootstrap/fonts/glyphicons-halflings-regular.svg
new file mode 100644
index 0000000..25691af
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/bootstrap/fonts/glyphicons-halflings-regular.svg
@@ -0,0 +1,229 @@
+
+
+
\ No newline at end of file
diff --git a/booksalessm/WebRoot/admin/common/bootstrap/fonts/glyphicons-halflings-regular.ttf b/booksalessm/WebRoot/admin/common/bootstrap/fonts/glyphicons-halflings-regular.ttf
new file mode 100644
index 0000000..67fa00b
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/bootstrap/fonts/glyphicons-halflings-regular.ttf differ
diff --git a/booksalessm/WebRoot/admin/common/bootstrap/fonts/glyphicons-halflings-regular.woff b/booksalessm/WebRoot/admin/common/bootstrap/fonts/glyphicons-halflings-regular.woff
new file mode 100644
index 0000000..8c54182
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/bootstrap/fonts/glyphicons-halflings-regular.woff differ
diff --git a/booksalessm/WebRoot/admin/common/bootstrap/js/bootstrap.js b/booksalessm/WebRoot/admin/common/bootstrap/js/bootstrap.js
new file mode 100644
index 0000000..8dff365
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/bootstrap/js/bootstrap.js
@@ -0,0 +1,2276 @@
+/*!
+ * Bootstrap v3.3.0 (http://getbootstrap.com)
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+
+if (typeof jQuery === 'undefined') {
+ throw new Error('Bootstrap\'s JavaScript requires jQuery')
+}
+
++function ($) {
+ var version = $.fn.jquery.split(' ')[0].split('.')
+ if ((version[0] < 2 && version[1] < 9) || (version[0] == 1 && version[1] == 9 && version[2] < 1)) {
+ throw new Error('Bootstrap\'s JavaScript requires jQuery version 1.9.1 or higher')
+ }
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: transition.js v3.3.0
+ * http://getbootstrap.com/javascript/#transitions
+ * ========================================================================
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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] }
+ }
+ }
+
+ return false // explicit for ie8 ( ._.)
+ }
+
+ // http://blog.alexmaccaw.com/css-transitions
+ $.fn.emulateTransitionEnd = function (duration) {
+ var called = false
+ var $el = this
+ $(this).one('bsTransitionEnd', function () { called = true })
+ var callback = function () { if (!called) $($el).trigger($.support.transition.end) }
+ setTimeout(callback, duration)
+ return this
+ }
+
+ $(function () {
+ $.support.transition = transitionEnd()
+
+ if (!$.support.transition) return
+
+ $.event.special.bsTransitionEnd = {
+ bindType: $.support.transition.end,
+ delegateType: $.support.transition.end,
+ handle: function (e) {
+ if ($(e.target).is(this)) return e.handleObj.handler.apply(this, arguments)
+ }
+ }
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: alert.js v3.3.0
+ * http://getbootstrap.com/javascript/#alerts
+ * ========================================================================
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // ALERT CLASS DEFINITION
+ // ======================
+
+ var dismiss = '[data-dismiss="alert"]'
+ var Alert = function (el) {
+ $(el).on('click', dismiss, this.close)
+ }
+
+ Alert.VERSION = '3.3.0'
+
+ Alert.TRANSITION_DURATION = 150
+
+ 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.closest('.alert')
+ }
+
+ $parent.trigger(e = $.Event('close.bs.alert'))
+
+ if (e.isDefaultPrevented()) return
+
+ $parent.removeClass('in')
+
+ function removeElement() {
+ // detach from parent, fire event then clean up data
+ $parent.detach().trigger('closed.bs.alert').remove()
+ }
+
+ $.support.transition && $parent.hasClass('fade') ?
+ $parent
+ .one('bsTransitionEnd', removeElement)
+ .emulateTransitionEnd(Alert.TRANSITION_DURATION) :
+ removeElement()
+ }
+
+
+ // ALERT PLUGIN DEFINITION
+ // =======================
+
+ function Plugin(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)
+ })
+ }
+
+ var old = $.fn.alert
+
+ $.fn.alert = Plugin
+ $.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)
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: button.js v3.3.0
+ * http://getbootstrap.com/javascript/#buttons
+ * ========================================================================
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // BUTTON PUBLIC CLASS DEFINITION
+ // ==============================
+
+ var Button = function (element, options) {
+ this.$element = $(element)
+ this.options = $.extend({}, Button.DEFAULTS, options)
+ this.isLoading = false
+ }
+
+ Button.VERSION = '3.3.0'
+
+ 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 == null) $el.data('resetText', $el[val]())
+
+ // push to event loop to allow forms to submit
+ setTimeout($.proxy(function () {
+ $el[val](data[state] == null ? this.options[state] : data[state])
+
+ if (state == 'loadingText') {
+ this.isLoading = true
+ $el.addClass(d).attr(d, d)
+ } else if (this.isLoading) {
+ this.isLoading = false
+ $el.removeClass(d).removeAttr(d)
+ }
+ }, this), 0)
+ }
+
+ Button.prototype.toggle = function () {
+ var changed = true
+ var $parent = this.$element.closest('[data-toggle="buttons"]')
+
+ if ($parent.length) {
+ var $input = this.$element.find('input')
+ if ($input.prop('type') == 'radio') {
+ if ($input.prop('checked') && this.$element.hasClass('active')) changed = false
+ else $parent.find('.active').removeClass('active')
+ }
+ if (changed) $input.prop('checked', !this.$element.hasClass('active')).trigger('change')
+ } else {
+ this.$element.attr('aria-pressed', !this.$element.hasClass('active'))
+ }
+
+ if (changed) this.$element.toggleClass('active')
+ }
+
+
+ // BUTTON PLUGIN DEFINITION
+ // ========================
+
+ function Plugin(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)
+ })
+ }
+
+ var old = $.fn.button
+
+ $.fn.button = Plugin
+ $.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')
+ Plugin.call($btn, 'toggle')
+ e.preventDefault()
+ })
+ .on('focus.bs.button.data-api blur.bs.button.data-api', '[data-toggle^="button"]', function (e) {
+ $(e.target).closest('.btn').toggleClass('focus', e.type == 'focus')
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: carousel.js v3.3.0
+ * http://getbootstrap.com/javascript/#carousel
+ * ========================================================================
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/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.keyboard && this.$element.on('keydown.bs.carousel', $.proxy(this.keydown, this))
+
+ this.options.pause == 'hover' && !('ontouchstart' in document.documentElement) && this.$element
+ .on('mouseenter.bs.carousel', $.proxy(this.pause, this))
+ .on('mouseleave.bs.carousel', $.proxy(this.cycle, this))
+ }
+
+ Carousel.VERSION = '3.3.0'
+
+ Carousel.TRANSITION_DURATION = 600
+
+ Carousel.DEFAULTS = {
+ interval: 5000,
+ pause: 'hover',
+ wrap: true,
+ keyboard: true
+ }
+
+ Carousel.prototype.keydown = function (e) {
+ switch (e.which) {
+ case 37: this.prev(); break
+ case 39: this.next(); break
+ default: return
+ }
+
+ e.preventDefault()
+ }
+
+ 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.getItemIndex = function (item) {
+ this.$items = item.parent().children('.item')
+ return this.$items.index(item || this.$active)
+ }
+
+ Carousel.prototype.getItemForDirection = function (direction, active) {
+ var delta = direction == 'prev' ? -1 : 1
+ var activeIndex = this.getItemIndex(active)
+ var itemIndex = (activeIndex + delta) % this.$items.length
+ return this.$items.eq(itemIndex)
+ }
+
+ Carousel.prototype.to = function (pos) {
+ var that = this
+ var activeIndex = this.getItemIndex(this.$active = this.$element.find('.item.active'))
+
+ if (pos > (this.$items.length - 1) || pos < 0) return
+
+ if (this.sliding) return this.$element.one('slid.bs.carousel', function () { that.to(pos) }) // yes, "slid"
+ if (activeIndex == pos) return this.pause().cycle()
+
+ return this.slide(pos > activeIndex ? 'next' : 'prev', this.$items.eq(pos))
+ }
+
+ Carousel.prototype.pause = function (e) {
+ e || (this.paused = true)
+
+ if (this.$element.find('.next, .prev').length && $.support.transition) {
+ 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 || this.getItemForDirection(type, $active)
+ 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]()
+ }
+
+ if ($next.hasClass('active')) return (this.sliding = false)
+
+ var relatedTarget = $next[0]
+ var slideEvent = $.Event('slide.bs.carousel', {
+ relatedTarget: relatedTarget,
+ direction: direction
+ })
+ this.$element.trigger(slideEvent)
+ if (slideEvent.isDefaultPrevented()) return
+
+ this.sliding = true
+
+ isCycling && this.pause()
+
+ if (this.$indicators.length) {
+ this.$indicators.find('.active').removeClass('active')
+ var $nextIndicator = $(this.$indicators.children()[this.getItemIndex($next)])
+ $nextIndicator && $nextIndicator.addClass('active')
+ }
+
+ var slidEvent = $.Event('slid.bs.carousel', { relatedTarget: relatedTarget, direction: direction }) // yes, "slid"
+ if ($.support.transition && this.$element.hasClass('slide')) {
+ $next.addClass(type)
+ $next[0].offsetWidth // force reflow
+ $active.addClass(direction)
+ $next.addClass(direction)
+ $active
+ .one('bsTransitionEnd', function () {
+ $next.removeClass([type, direction].join(' ')).addClass('active')
+ $active.removeClass(['active', direction].join(' '))
+ that.sliding = false
+ setTimeout(function () {
+ that.$element.trigger(slidEvent)
+ }, 0)
+ })
+ .emulateTransitionEnd(Carousel.TRANSITION_DURATION)
+ } else {
+ $active.removeClass('active')
+ $next.addClass('active')
+ this.sliding = false
+ this.$element.trigger(slidEvent)
+ }
+
+ isCycling && this.cycle()
+
+ return this
+ }
+
+
+ // CAROUSEL PLUGIN DEFINITION
+ // ==========================
+
+ function Plugin(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()
+ })
+ }
+
+ var old = $.fn.carousel
+
+ $.fn.carousel = Plugin
+ $.fn.carousel.Constructor = Carousel
+
+
+ // CAROUSEL NO CONFLICT
+ // ====================
+
+ $.fn.carousel.noConflict = function () {
+ $.fn.carousel = old
+ return this
+ }
+
+
+ // CAROUSEL DATA-API
+ // =================
+
+ var clickHandler = function (e) {
+ var href
+ var $this = $(this)
+ var $target = $($this.attr('data-target') || (href = $this.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '')) // strip for ie7
+ if (!$target.hasClass('carousel')) return
+ var options = $.extend({}, $target.data(), $this.data())
+ var slideIndex = $this.attr('data-slide-to')
+ if (slideIndex) options.interval = false
+
+ Plugin.call($target, options)
+
+ if (slideIndex) {
+ $target.data('bs.carousel').to(slideIndex)
+ }
+
+ e.preventDefault()
+ }
+
+ $(document)
+ .on('click.bs.carousel.data-api', '[data-slide]', clickHandler)
+ .on('click.bs.carousel.data-api', '[data-slide-to]', clickHandler)
+
+ $(window).on('load', function () {
+ $('[data-ride="carousel"]').each(function () {
+ var $carousel = $(this)
+ Plugin.call($carousel, $carousel.data())
+ })
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: collapse.js v3.3.0
+ * http://getbootstrap.com/javascript/#collapse
+ * ========================================================================
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // COLLAPSE PUBLIC CLASS DEFINITION
+ // ================================
+
+ var Collapse = function (element, options) {
+ this.$element = $(element)
+ this.options = $.extend({}, Collapse.DEFAULTS, options)
+ this.$trigger = $(this.options.trigger).filter('[href="#' + element.id + '"], [data-target="#' + element.id + '"]')
+ this.transitioning = null
+
+ if (this.options.parent) {
+ this.$parent = this.getParent()
+ } else {
+ this.addAriaAndCollapsedClass(this.$element, this.$trigger)
+ }
+
+ if (this.options.toggle) this.toggle()
+ }
+
+ Collapse.VERSION = '3.3.0'
+
+ Collapse.TRANSITION_DURATION = 350
+
+ Collapse.DEFAULTS = {
+ toggle: true,
+ trigger: '[data-toggle="collapse"]'
+ }
+
+ 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 activesData
+ var actives = this.$parent && this.$parent.find('> .panel').children('.in, .collapsing')
+
+ if (actives && actives.length) {
+ activesData = actives.data('bs.collapse')
+ if (activesData && activesData.transitioning) return
+ }
+
+ var startEvent = $.Event('show.bs.collapse')
+ this.$element.trigger(startEvent)
+ if (startEvent.isDefaultPrevented()) return
+
+ if (actives && actives.length) {
+ Plugin.call(actives, 'hide')
+ activesData || actives.data('bs.collapse', null)
+ }
+
+ var dimension = this.dimension()
+
+ this.$element
+ .removeClass('collapse')
+ .addClass('collapsing')[dimension](0)
+ .attr('aria-expanded', true)
+
+ this.$trigger
+ .removeClass('collapsed')
+ .attr('aria-expanded', true)
+
+ this.transitioning = 1
+
+ var complete = function () {
+ this.$element
+ .removeClass('collapsing')
+ .addClass('collapse in')[dimension]('')
+ 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('bsTransitionEnd', $.proxy(complete, this))
+ .emulateTransitionEnd(Collapse.TRANSITION_DURATION)[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 in')
+ .attr('aria-expanded', false)
+
+ this.$trigger
+ .addClass('collapsed')
+ .attr('aria-expanded', false)
+
+ this.transitioning = 1
+
+ var complete = function () {
+ this.transitioning = 0
+ this.$element
+ .removeClass('collapsing')
+ .addClass('collapse')
+ .trigger('hidden.bs.collapse')
+ }
+
+ if (!$.support.transition) return complete.call(this)
+
+ this.$element
+ [dimension](0)
+ .one('bsTransitionEnd', $.proxy(complete, this))
+ .emulateTransitionEnd(Collapse.TRANSITION_DURATION)
+ }
+
+ Collapse.prototype.toggle = function () {
+ this[this.$element.hasClass('in') ? 'hide' : 'show']()
+ }
+
+ Collapse.prototype.getParent = function () {
+ return $(this.options.parent)
+ .find('[data-toggle="collapse"][data-parent="' + this.options.parent + '"]')
+ .each($.proxy(function (i, element) {
+ var $element = $(element)
+ this.addAriaAndCollapsedClass(getTargetFromTrigger($element), $element)
+ }, this))
+ .end()
+ }
+
+ Collapse.prototype.addAriaAndCollapsedClass = function ($element, $trigger) {
+ var isOpen = $element.hasClass('in')
+
+ $element.attr('aria-expanded', isOpen)
+ $trigger
+ .toggleClass('collapsed', !isOpen)
+ .attr('aria-expanded', isOpen)
+ }
+
+ function getTargetFromTrigger($trigger) {
+ var href
+ var target = $trigger.attr('data-target')
+ || (href = $trigger.attr('href')) && href.replace(/.*(?=#[^\s]+$)/, '') // strip for ie7
+
+ return $(target)
+ }
+
+
+ // COLLAPSE PLUGIN DEFINITION
+ // ==========================
+
+ function Plugin(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 && options.toggle && option == 'show') options.toggle = false
+ if (!data) $this.data('bs.collapse', (data = new Collapse(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ var old = $.fn.collapse
+
+ $.fn.collapse = Plugin
+ $.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)
+
+ if (!$this.attr('data-target')) e.preventDefault()
+
+ var $target = getTargetFromTrigger($this)
+ var data = $target.data('bs.collapse')
+ var option = data ? 'toggle' : $.extend({}, $this.data(), { trigger: this })
+
+ Plugin.call($target, option)
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: dropdown.js v3.3.0
+ * http://getbootstrap.com/javascript/#dropdowns
+ * ========================================================================
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // DROPDOWN CLASS DEFINITION
+ // =========================
+
+ var backdrop = '.dropdown-backdrop'
+ var toggle = '[data-toggle="dropdown"]'
+ var Dropdown = function (element) {
+ $(element).on('click.bs.dropdown', this.toggle)
+ }
+
+ Dropdown.VERSION = '3.3.0'
+
+ 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 use a backdrop because click events don't delegate
+ $('
').insertAfter($(this)).on('click', clearMenus)
+ }
+
+ var relatedTarget = { relatedTarget: this }
+ $parent.trigger(e = $.Event('show.bs.dropdown', relatedTarget))
+
+ if (e.isDefaultPrevented()) return
+
+ $this
+ .trigger('focus')
+ .attr('aria-expanded', 'true')
+
+ $parent
+ .toggleClass('open')
+ .trigger('shown.bs.dropdown', relatedTarget)
+ }
+
+ return false
+ }
+
+ Dropdown.prototype.keydown = function (e) {
+ if (!/(38|40|27|32)/.test(e.which)) return
+
+ var $this = $(this)
+
+ e.preventDefault()
+ e.stopPropagation()
+
+ if ($this.is('.disabled, :disabled')) return
+
+ var $parent = getParent($this)
+ var isActive = $parent.hasClass('open')
+
+ if ((!isActive && e.which != 27) || (isActive && e.which == 27)) {
+ if (e.which == 27) $parent.find(toggle).trigger('focus')
+ return $this.trigger('click')
+ }
+
+ var desc = ' li:not(.divider):visible a'
+ var $items = $parent.find('[role="menu"]' + desc + ', [role="listbox"]' + desc)
+
+ if (!$items.length) return
+
+ var index = $items.index(e.target)
+
+ if (e.which == 38 && index > 0) index-- // up
+ if (e.which == 40 && index < $items.length - 1) index++ // down
+ if (!~index) index = 0
+
+ $items.eq(index).trigger('focus')
+ }
+
+ function clearMenus(e) {
+ if (e && e.which === 3) return
+ $(backdrop).remove()
+ $(toggle).each(function () {
+ var $this = $(this)
+ var $parent = getParent($this)
+ var relatedTarget = { relatedTarget: this }
+
+ if (!$parent.hasClass('open')) return
+
+ $parent.trigger(e = $.Event('hide.bs.dropdown', relatedTarget))
+
+ if (e.isDefaultPrevented()) return
+
+ $this.attr('aria-expanded', 'false')
+ $parent.removeClass('open').trigger('hidden.bs.dropdown', relatedTarget)
+ })
+ }
+
+ function getParent($this) {
+ var selector = $this.attr('data-target')
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && /#[A-Za-z]/.test(selector) && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+ }
+
+ var $parent = selector && $(selector)
+
+ return $parent && $parent.length ? $parent : $this.parent()
+ }
+
+
+ // DROPDOWN PLUGIN DEFINITION
+ // ==========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.dropdown')
+
+ if (!data) $this.data('bs.dropdown', (data = new Dropdown(this)))
+ if (typeof option == 'string') data[option].call($this)
+ })
+ }
+
+ var old = $.fn.dropdown
+
+ $.fn.dropdown = Plugin
+ $.fn.dropdown.Constructor = Dropdown
+
+
+ // DROPDOWN NO CONFLICT
+ // ====================
+
+ $.fn.dropdown.noConflict = function () {
+ $.fn.dropdown = old
+ return this
+ }
+
+
+ // APPLY TO STANDARD DROPDOWN ELEMENTS
+ // ===================================
+
+ $(document)
+ .on('click.bs.dropdown.data-api', clearMenus)
+ .on('click.bs.dropdown.data-api', '.dropdown form', function (e) { e.stopPropagation() })
+ .on('click.bs.dropdown.data-api', toggle, Dropdown.prototype.toggle)
+ .on('keydown.bs.dropdown.data-api', toggle, Dropdown.prototype.keydown)
+ .on('keydown.bs.dropdown.data-api', '[role="menu"]', Dropdown.prototype.keydown)
+ .on('keydown.bs.dropdown.data-api', '[role="listbox"]', Dropdown.prototype.keydown)
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: modal.js v3.3.0
+ * http://getbootstrap.com/javascript/#modals
+ * ========================================================================
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // MODAL CLASS DEFINITION
+ // ======================
+
+ var Modal = function (element, options) {
+ this.options = options
+ this.$body = $(document.body)
+ this.$element = $(element)
+ this.$backdrop =
+ this.isShown = null
+ this.scrollbarWidth = 0
+
+ if (this.options.remote) {
+ this.$element
+ .find('.modal-content')
+ .load(this.options.remote, $.proxy(function () {
+ this.$element.trigger('loaded.bs.modal')
+ }, this))
+ }
+ }
+
+ Modal.VERSION = '3.3.0'
+
+ Modal.TRANSITION_DURATION = 300
+ Modal.BACKDROP_TRANSITION_DURATION = 150
+
+ Modal.DEFAULTS = {
+ backdrop: true,
+ keyboard: true,
+ show: true
+ }
+
+ Modal.prototype.toggle = function (_relatedTarget) {
+ return this.isShown ? this.hide() : this.show(_relatedTarget)
+ }
+
+ Modal.prototype.show = function (_relatedTarget) {
+ var that = this
+ var e = $.Event('show.bs.modal', { relatedTarget: _relatedTarget })
+
+ this.$element.trigger(e)
+
+ if (this.isShown || e.isDefaultPrevented()) return
+
+ this.isShown = true
+
+ this.checkScrollbar()
+ this.$body.addClass('modal-open')
+
+ this.setScrollbar()
+ this.escape()
+
+ this.$element.on('click.dismiss.bs.modal', '[data-dismiss="modal"]', $.proxy(this.hide, this))
+
+ this.backdrop(function () {
+ var transition = $.support.transition && that.$element.hasClass('fade')
+
+ if (!that.$element.parent().length) {
+ that.$element.appendTo(that.$body) // don't move modals dom position
+ }
+
+ that.$element
+ .show()
+ .scrollTop(0)
+
+ if (transition) {
+ that.$element[0].offsetWidth // force reflow
+ }
+
+ that.$element
+ .addClass('in')
+ .attr('aria-hidden', false)
+
+ that.enforceFocus()
+
+ var e = $.Event('shown.bs.modal', { relatedTarget: _relatedTarget })
+
+ transition ?
+ that.$element.find('.modal-dialog') // wait for modal to slide in
+ .one('bsTransitionEnd', function () {
+ that.$element.trigger('focus').trigger(e)
+ })
+ .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
+ that.$element.trigger('focus').trigger(e)
+ })
+ }
+
+ Modal.prototype.hide = function (e) {
+ if (e) e.preventDefault()
+
+ e = $.Event('hide.bs.modal')
+
+ this.$element.trigger(e)
+
+ if (!this.isShown || e.isDefaultPrevented()) return
+
+ this.isShown = false
+
+ this.escape()
+
+ $(document).off('focusin.bs.modal')
+
+ this.$element
+ .removeClass('in')
+ .attr('aria-hidden', true)
+ .off('click.dismiss.bs.modal')
+
+ $.support.transition && this.$element.hasClass('fade') ?
+ this.$element
+ .one('bsTransitionEnd', $.proxy(this.hideModal, this))
+ .emulateTransitionEnd(Modal.TRANSITION_DURATION) :
+ this.hideModal()
+ }
+
+ Modal.prototype.enforceFocus = function () {
+ $(document)
+ .off('focusin.bs.modal') // guard against infinite focus loop
+ .on('focusin.bs.modal', $.proxy(function (e) {
+ if (this.$element[0] !== e.target && !this.$element.has(e.target).length) {
+ this.$element.trigger('focus')
+ }
+ }, this))
+ }
+
+ Modal.prototype.escape = function () {
+ if (this.isShown && this.options.keyboard) {
+ this.$element.on('keydown.dismiss.bs.modal', $.proxy(function (e) {
+ e.which == 27 && this.hide()
+ }, this))
+ } else if (!this.isShown) {
+ this.$element.off('keydown.dismiss.bs.modal')
+ }
+ }
+
+ Modal.prototype.hideModal = function () {
+ var that = this
+ this.$element.hide()
+ this.backdrop(function () {
+ that.$body.removeClass('modal-open')
+ that.resetScrollbar()
+ that.$element.trigger('hidden.bs.modal')
+ })
+ }
+
+ Modal.prototype.removeBackdrop = function () {
+ this.$backdrop && this.$backdrop.remove()
+ this.$backdrop = null
+ }
+
+ Modal.prototype.backdrop = function (callback) {
+ var that = this
+ var animate = this.$element.hasClass('fade') ? 'fade' : ''
+
+ if (this.isShown && this.options.backdrop) {
+ var doAnimate = $.support.transition && animate
+
+ this.$backdrop = $('
')
+ .prependTo(this.$element)
+ .on('click.dismiss.bs.modal', $.proxy(function (e) {
+ if (e.target !== e.currentTarget) return
+ this.options.backdrop == 'static'
+ ? this.$element[0].focus.call(this.$element[0])
+ : this.hide.call(this)
+ }, this))
+
+ if (doAnimate) this.$backdrop[0].offsetWidth // force reflow
+
+ this.$backdrop.addClass('in')
+
+ if (!callback) return
+
+ doAnimate ?
+ this.$backdrop
+ .one('bsTransitionEnd', callback)
+ .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
+ callback()
+
+ } else if (!this.isShown && this.$backdrop) {
+ this.$backdrop.removeClass('in')
+
+ var callbackRemove = function () {
+ that.removeBackdrop()
+ callback && callback()
+ }
+ $.support.transition && this.$element.hasClass('fade') ?
+ this.$backdrop
+ .one('bsTransitionEnd', callbackRemove)
+ .emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION) :
+ callbackRemove()
+
+ } else if (callback) {
+ callback()
+ }
+ }
+
+ Modal.prototype.checkScrollbar = function () {
+ this.scrollbarWidth = this.measureScrollbar()
+ }
+
+ Modal.prototype.setScrollbar = function () {
+ var bodyPad = parseInt((this.$body.css('padding-right') || 0), 10)
+ if (this.scrollbarWidth) this.$body.css('padding-right', bodyPad + this.scrollbarWidth)
+ }
+
+ Modal.prototype.resetScrollbar = function () {
+ this.$body.css('padding-right', '')
+ }
+
+ Modal.prototype.measureScrollbar = function () { // thx walsh
+ if (document.body.clientWidth >= window.innerWidth) return 0
+ var scrollDiv = document.createElement('div')
+ scrollDiv.className = 'modal-scrollbar-measure'
+ this.$body.append(scrollDiv)
+ var scrollbarWidth = scrollDiv.offsetWidth - scrollDiv.clientWidth
+ this.$body[0].removeChild(scrollDiv)
+ return scrollbarWidth
+ }
+
+
+ // MODAL PLUGIN DEFINITION
+ // =======================
+
+ function Plugin(option, _relatedTarget) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.modal')
+ var options = $.extend({}, Modal.DEFAULTS, $this.data(), typeof option == 'object' && option)
+
+ if (!data) $this.data('bs.modal', (data = new Modal(this, options)))
+ if (typeof option == 'string') data[option](_relatedTarget)
+ else if (options.show) data.show(_relatedTarget)
+ })
+ }
+
+ var old = $.fn.modal
+
+ $.fn.modal = Plugin
+ $.fn.modal.Constructor = Modal
+
+
+ // MODAL NO CONFLICT
+ // =================
+
+ $.fn.modal.noConflict = function () {
+ $.fn.modal = old
+ return this
+ }
+
+
+ // MODAL DATA-API
+ // ==============
+
+ $(document).on('click.bs.modal.data-api', '[data-toggle="modal"]', function (e) {
+ var $this = $(this)
+ var href = $this.attr('href')
+ var $target = $($this.attr('data-target') || (href && href.replace(/.*(?=#[^\s]+$)/, ''))) // strip for ie7
+ var option = $target.data('bs.modal') ? 'toggle' : $.extend({ remote: !/#/.test(href) && href }, $target.data(), $this.data())
+
+ if ($this.is('a')) e.preventDefault()
+
+ $target.one('show.bs.modal', function (showEvent) {
+ if (showEvent.isDefaultPrevented()) return // only register focus restorer if modal will actually get shown
+ $target.one('hidden.bs.modal', function () {
+ $this.is(':visible') && $this.trigger('focus')
+ })
+ })
+ Plugin.call($target, option, this)
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: tooltip.js v3.3.0
+ * http://getbootstrap.com/javascript/#tooltip
+ * Inspired by the original jQuery.tipsy by Jason Frame
+ * ========================================================================
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // TOOLTIP PUBLIC CLASS DEFINITION
+ // ===============================
+
+ var Tooltip = function (element, options) {
+ this.type =
+ this.options =
+ this.enabled =
+ this.timeout =
+ this.hoverState =
+ this.$element = null
+
+ this.init('tooltip', element, options)
+ }
+
+ Tooltip.VERSION = '3.3.0'
+
+ Tooltip.TRANSITION_DURATION = 150
+
+ Tooltip.DEFAULTS = {
+ animation: true,
+ placement: 'top',
+ selector: false,
+ template: '
',
+ trigger: 'hover focus',
+ title: '',
+ delay: 0,
+ html: false,
+ container: false,
+ viewport: {
+ selector: 'body',
+ padding: 0
+ }
+ }
+
+ Tooltip.prototype.init = function (type, element, options) {
+ this.enabled = true
+ this.type = type
+ this.$element = $(element)
+ this.options = this.getOptions(options)
+ this.$viewport = this.options.viewport && $(this.options.viewport.selector || this.options.viewport)
+
+ var triggers = this.options.trigger.split(' ')
+
+ for (var i = triggers.length; i--;) {
+ var trigger = triggers[i]
+
+ if (trigger == 'click') {
+ this.$element.on('click.' + this.type, this.options.selector, $.proxy(this.toggle, this))
+ } else if (trigger != 'manual') {
+ var eventIn = trigger == 'hover' ? 'mouseenter' : 'focusin'
+ var eventOut = trigger == 'hover' ? 'mouseleave' : 'focusout'
+
+ this.$element.on(eventIn + '.' + this.type, this.options.selector, $.proxy(this.enter, this))
+ this.$element.on(eventOut + '.' + this.type, this.options.selector, $.proxy(this.leave, this))
+ }
+ }
+
+ this.options.selector ?
+ (this._options = $.extend({}, this.options, { trigger: 'manual', selector: '' })) :
+ this.fixTitle()
+ }
+
+ Tooltip.prototype.getDefaults = function () {
+ return Tooltip.DEFAULTS
+ }
+
+ Tooltip.prototype.getOptions = function (options) {
+ options = $.extend({}, this.getDefaults(), this.$element.data(), options)
+
+ if (options.delay && typeof options.delay == 'number') {
+ options.delay = {
+ show: options.delay,
+ hide: options.delay
+ }
+ }
+
+ return options
+ }
+
+ Tooltip.prototype.getDelegateOptions = function () {
+ var options = {}
+ var defaults = this.getDefaults()
+
+ this._options && $.each(this._options, function (key, value) {
+ if (defaults[key] != value) options[key] = value
+ })
+
+ return options
+ }
+
+ Tooltip.prototype.enter = function (obj) {
+ var self = obj instanceof this.constructor ?
+ obj : $(obj.currentTarget).data('bs.' + this.type)
+
+ if (self && self.$tip && self.$tip.is(':visible')) {
+ self.hoverState = 'in'
+ return
+ }
+
+ if (!self) {
+ self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
+ $(obj.currentTarget).data('bs.' + this.type, self)
+ }
+
+ clearTimeout(self.timeout)
+
+ self.hoverState = 'in'
+
+ if (!self.options.delay || !self.options.delay.show) return self.show()
+
+ self.timeout = setTimeout(function () {
+ if (self.hoverState == 'in') self.show()
+ }, self.options.delay.show)
+ }
+
+ Tooltip.prototype.leave = function (obj) {
+ var self = obj instanceof this.constructor ?
+ obj : $(obj.currentTarget).data('bs.' + this.type)
+
+ if (!self) {
+ self = new this.constructor(obj.currentTarget, this.getDelegateOptions())
+ $(obj.currentTarget).data('bs.' + this.type, self)
+ }
+
+ clearTimeout(self.timeout)
+
+ self.hoverState = 'out'
+
+ if (!self.options.delay || !self.options.delay.hide) return self.hide()
+
+ self.timeout = setTimeout(function () {
+ if (self.hoverState == 'out') self.hide()
+ }, self.options.delay.hide)
+ }
+
+ Tooltip.prototype.show = function () {
+ var e = $.Event('show.bs.' + this.type)
+
+ if (this.hasContent() && this.enabled) {
+ this.$element.trigger(e)
+
+ var inDom = $.contains(this.$element[0].ownerDocument.documentElement, this.$element[0])
+ if (e.isDefaultPrevented() || !inDom) return
+ var that = this
+
+ var $tip = this.tip()
+
+ var tipId = this.getUID(this.type)
+
+ this.setContent()
+ $tip.attr('id', tipId)
+ this.$element.attr('aria-describedby', tipId)
+
+ if (this.options.animation) $tip.addClass('fade')
+
+ var placement = typeof this.options.placement == 'function' ?
+ this.options.placement.call(this, $tip[0], this.$element[0]) :
+ this.options.placement
+
+ var autoToken = /\s?auto?\s?/i
+ var autoPlace = autoToken.test(placement)
+ if (autoPlace) placement = placement.replace(autoToken, '') || 'top'
+
+ $tip
+ .detach()
+ .css({ top: 0, left: 0, display: 'block' })
+ .addClass(placement)
+ .data('bs.' + this.type, this)
+
+ this.options.container ? $tip.appendTo(this.options.container) : $tip.insertAfter(this.$element)
+
+ var pos = this.getPosition()
+ var actualWidth = $tip[0].offsetWidth
+ var actualHeight = $tip[0].offsetHeight
+
+ if (autoPlace) {
+ var orgPlacement = placement
+ var $container = this.options.container ? $(this.options.container) : this.$element.parent()
+ var containerDim = this.getPosition($container)
+
+ placement = placement == 'bottom' && pos.bottom + actualHeight > containerDim.bottom ? 'top' :
+ placement == 'top' && pos.top - actualHeight < containerDim.top ? 'bottom' :
+ placement == 'right' && pos.right + actualWidth > containerDim.width ? 'left' :
+ placement == 'left' && pos.left - actualWidth < containerDim.left ? 'right' :
+ placement
+
+ $tip
+ .removeClass(orgPlacement)
+ .addClass(placement)
+ }
+
+ var calculatedOffset = this.getCalculatedOffset(placement, pos, actualWidth, actualHeight)
+
+ this.applyPlacement(calculatedOffset, placement)
+
+ var complete = function () {
+ var prevHoverState = that.hoverState
+ that.$element.trigger('shown.bs.' + that.type)
+ that.hoverState = null
+
+ if (prevHoverState == 'out') that.leave(that)
+ }
+
+ $.support.transition && this.$tip.hasClass('fade') ?
+ $tip
+ .one('bsTransitionEnd', complete)
+ .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
+ complete()
+ }
+ }
+
+ Tooltip.prototype.applyPlacement = function (offset, placement) {
+ var $tip = this.tip()
+ var width = $tip[0].offsetWidth
+ var height = $tip[0].offsetHeight
+
+ // manually read margins because getBoundingClientRect includes difference
+ var marginTop = parseInt($tip.css('margin-top'), 10)
+ var marginLeft = parseInt($tip.css('margin-left'), 10)
+
+ // we must check for NaN for ie 8/9
+ if (isNaN(marginTop)) marginTop = 0
+ if (isNaN(marginLeft)) marginLeft = 0
+
+ offset.top = offset.top + marginTop
+ offset.left = offset.left + marginLeft
+
+ // $.fn.offset doesn't round pixel values
+ // so we use setOffset directly with our own function B-0
+ $.offset.setOffset($tip[0], $.extend({
+ using: function (props) {
+ $tip.css({
+ top: Math.round(props.top),
+ left: Math.round(props.left)
+ })
+ }
+ }, offset), 0)
+
+ $tip.addClass('in')
+
+ // check to see if placing tip in new offset caused the tip to resize itself
+ var actualWidth = $tip[0].offsetWidth
+ var actualHeight = $tip[0].offsetHeight
+
+ if (placement == 'top' && actualHeight != height) {
+ offset.top = offset.top + height - actualHeight
+ }
+
+ var delta = this.getViewportAdjustedDelta(placement, offset, actualWidth, actualHeight)
+
+ if (delta.left) offset.left += delta.left
+ else offset.top += delta.top
+
+ var isVertical = /top|bottom/.test(placement)
+ var arrowDelta = isVertical ? delta.left * 2 - width + actualWidth : delta.top * 2 - height + actualHeight
+ var arrowOffsetPosition = isVertical ? 'offsetWidth' : 'offsetHeight'
+
+ $tip.offset(offset)
+ this.replaceArrow(arrowDelta, $tip[0][arrowOffsetPosition], isVertical)
+ }
+
+ Tooltip.prototype.replaceArrow = function (delta, dimension, isHorizontal) {
+ this.arrow()
+ .css(isHorizontal ? 'left' : 'top', 50 * (1 - delta / dimension) + '%')
+ .css(isHorizontal ? 'top' : 'left', '')
+ }
+
+ Tooltip.prototype.setContent = function () {
+ var $tip = this.tip()
+ var title = this.getTitle()
+
+ $tip.find('.tooltip-inner')[this.options.html ? 'html' : 'text'](title)
+ $tip.removeClass('fade in top bottom left right')
+ }
+
+ Tooltip.prototype.hide = function (callback) {
+ var that = this
+ var $tip = this.tip()
+ var e = $.Event('hide.bs.' + this.type)
+
+ function complete() {
+ if (that.hoverState != 'in') $tip.detach()
+ that.$element
+ .removeAttr('aria-describedby')
+ .trigger('hidden.bs.' + that.type)
+ callback && callback()
+ }
+
+ this.$element.trigger(e)
+
+ if (e.isDefaultPrevented()) return
+
+ $tip.removeClass('in')
+
+ $.support.transition && this.$tip.hasClass('fade') ?
+ $tip
+ .one('bsTransitionEnd', complete)
+ .emulateTransitionEnd(Tooltip.TRANSITION_DURATION) :
+ complete()
+
+ this.hoverState = null
+
+ return this
+ }
+
+ Tooltip.prototype.fixTitle = function () {
+ var $e = this.$element
+ if ($e.attr('title') || typeof ($e.attr('data-original-title')) != 'string') {
+ $e.attr('data-original-title', $e.attr('title') || '').attr('title', '')
+ }
+ }
+
+ Tooltip.prototype.hasContent = function () {
+ return this.getTitle()
+ }
+
+ Tooltip.prototype.getPosition = function ($element) {
+ $element = $element || this.$element
+
+ var el = $element[0]
+ var isBody = el.tagName == 'BODY'
+
+ var elRect = el.getBoundingClientRect()
+ if (elRect.width == null) {
+ // width and height are missing in IE8, so compute them manually; see https://github.com/twbs/bootstrap/issues/14093
+ elRect = $.extend({}, elRect, { width: elRect.right - elRect.left, height: elRect.bottom - elRect.top })
+ }
+ var elOffset = isBody ? { top: 0, left: 0 } : $element.offset()
+ var scroll = { scroll: isBody ? document.documentElement.scrollTop || document.body.scrollTop : $element.scrollTop() }
+ var outerDims = isBody ? { width: $(window).width(), height: $(window).height() } : null
+
+ return $.extend({}, elRect, scroll, outerDims, elOffset)
+ }
+
+ Tooltip.prototype.getCalculatedOffset = function (placement, pos, actualWidth, actualHeight) {
+ return placement == 'bottom' ? { top: pos.top + pos.height, left: pos.left + pos.width / 2 - actualWidth / 2 } :
+ placement == 'top' ? { top: pos.top - actualHeight, left: pos.left + pos.width / 2 - actualWidth / 2 } :
+ placement == 'left' ? { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left - actualWidth } :
+ /* placement == 'right' */ { top: pos.top + pos.height / 2 - actualHeight / 2, left: pos.left + pos.width }
+
+ }
+
+ Tooltip.prototype.getViewportAdjustedDelta = function (placement, pos, actualWidth, actualHeight) {
+ var delta = { top: 0, left: 0 }
+ if (!this.$viewport) return delta
+
+ var viewportPadding = this.options.viewport && this.options.viewport.padding || 0
+ var viewportDimensions = this.getPosition(this.$viewport)
+
+ if (/right|left/.test(placement)) {
+ var topEdgeOffset = pos.top - viewportPadding - viewportDimensions.scroll
+ var bottomEdgeOffset = pos.top + viewportPadding - viewportDimensions.scroll + actualHeight
+ if (topEdgeOffset < viewportDimensions.top) { // top overflow
+ delta.top = viewportDimensions.top - topEdgeOffset
+ } else if (bottomEdgeOffset > viewportDimensions.top + viewportDimensions.height) { // bottom overflow
+ delta.top = viewportDimensions.top + viewportDimensions.height - bottomEdgeOffset
+ }
+ } else {
+ var leftEdgeOffset = pos.left - viewportPadding
+ var rightEdgeOffset = pos.left + viewportPadding + actualWidth
+ if (leftEdgeOffset < viewportDimensions.left) { // left overflow
+ delta.left = viewportDimensions.left - leftEdgeOffset
+ } else if (rightEdgeOffset > viewportDimensions.width) { // right overflow
+ delta.left = viewportDimensions.left + viewportDimensions.width - rightEdgeOffset
+ }
+ }
+
+ return delta
+ }
+
+ Tooltip.prototype.getTitle = function () {
+ var title
+ var $e = this.$element
+ var o = this.options
+
+ title = $e.attr('data-original-title')
+ || (typeof o.title == 'function' ? o.title.call($e[0]) : o.title)
+
+ return title
+ }
+
+ Tooltip.prototype.getUID = function (prefix) {
+ do prefix += ~~(Math.random() * 1000000)
+ while (document.getElementById(prefix))
+ return prefix
+ }
+
+ Tooltip.prototype.tip = function () {
+ return (this.$tip = this.$tip || $(this.options.template))
+ }
+
+ Tooltip.prototype.arrow = function () {
+ return (this.$arrow = this.$arrow || this.tip().find('.tooltip-arrow'))
+ }
+
+ Tooltip.prototype.enable = function () {
+ this.enabled = true
+ }
+
+ Tooltip.prototype.disable = function () {
+ this.enabled = false
+ }
+
+ Tooltip.prototype.toggleEnabled = function () {
+ this.enabled = !this.enabled
+ }
+
+ Tooltip.prototype.toggle = function (e) {
+ var self = this
+ if (e) {
+ self = $(e.currentTarget).data('bs.' + this.type)
+ if (!self) {
+ self = new this.constructor(e.currentTarget, this.getDelegateOptions())
+ $(e.currentTarget).data('bs.' + this.type, self)
+ }
+ }
+
+ self.tip().hasClass('in') ? self.leave(self) : self.enter(self)
+ }
+
+ Tooltip.prototype.destroy = function () {
+ var that = this
+ clearTimeout(this.timeout)
+ this.hide(function () {
+ that.$element.off('.' + that.type).removeData('bs.' + that.type)
+ })
+ }
+
+
+ // TOOLTIP PLUGIN DEFINITION
+ // =========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.tooltip')
+ var options = typeof option == 'object' && option
+ var selector = options && options.selector
+
+ if (!data && option == 'destroy') return
+ if (selector) {
+ if (!data) $this.data('bs.tooltip', (data = {}))
+ if (!data[selector]) data[selector] = new Tooltip(this, options)
+ } else {
+ if (!data) $this.data('bs.tooltip', (data = new Tooltip(this, options)))
+ }
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ var old = $.fn.tooltip
+
+ $.fn.tooltip = Plugin
+ $.fn.tooltip.Constructor = Tooltip
+
+
+ // TOOLTIP NO CONFLICT
+ // ===================
+
+ $.fn.tooltip.noConflict = function () {
+ $.fn.tooltip = old
+ return this
+ }
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: popover.js v3.3.0
+ * http://getbootstrap.com/javascript/#popovers
+ * ========================================================================
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // POPOVER PUBLIC CLASS DEFINITION
+ // ===============================
+
+ var Popover = function (element, options) {
+ this.init('popover', element, options)
+ }
+
+ if (!$.fn.tooltip) throw new Error('Popover requires tooltip.js')
+
+ Popover.VERSION = '3.3.0'
+
+ Popover.DEFAULTS = $.extend({}, $.fn.tooltip.Constructor.DEFAULTS, {
+ placement: 'right',
+ trigger: 'click',
+ content: '',
+ template: '
'
+ })
+
+
+ // NOTE: POPOVER EXTENDS tooltip.js
+ // ================================
+
+ Popover.prototype = $.extend({}, $.fn.tooltip.Constructor.prototype)
+
+ Popover.prototype.constructor = Popover
+
+ Popover.prototype.getDefaults = function () {
+ return Popover.DEFAULTS
+ }
+
+ Popover.prototype.setContent = function () {
+ var $tip = this.tip()
+ var title = this.getTitle()
+ var content = this.getContent()
+
+ $tip.find('.popover-title')[this.options.html ? 'html' : 'text'](title)
+ $tip.find('.popover-content').children().detach().end()[ // we use append for html objects to maintain js events
+ this.options.html ? (typeof content == 'string' ? 'html' : 'append') : 'text'
+ ](content)
+
+ $tip.removeClass('fade top bottom left right in')
+
+ // IE8 doesn't accept hiding via the `:empty` pseudo selector, we have to do
+ // this manually by checking the contents.
+ if (!$tip.find('.popover-title').html()) $tip.find('.popover-title').hide()
+ }
+
+ Popover.prototype.hasContent = function () {
+ return this.getTitle() || this.getContent()
+ }
+
+ Popover.prototype.getContent = function () {
+ var $e = this.$element
+ var o = this.options
+
+ return $e.attr('data-content')
+ || (typeof o.content == 'function' ?
+ o.content.call($e[0]) :
+ o.content)
+ }
+
+ Popover.prototype.arrow = function () {
+ return (this.$arrow = this.$arrow || this.tip().find('.arrow'))
+ }
+
+ Popover.prototype.tip = function () {
+ if (!this.$tip) this.$tip = $(this.options.template)
+ return this.$tip
+ }
+
+
+ // POPOVER PLUGIN DEFINITION
+ // =========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.popover')
+ var options = typeof option == 'object' && option
+ var selector = options && options.selector
+
+ if (!data && option == 'destroy') return
+ if (selector) {
+ if (!data) $this.data('bs.popover', (data = {}))
+ if (!data[selector]) data[selector] = new Popover(this, options)
+ } else {
+ if (!data) $this.data('bs.popover', (data = new Popover(this, options)))
+ }
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ var old = $.fn.popover
+
+ $.fn.popover = Plugin
+ $.fn.popover.Constructor = Popover
+
+
+ // POPOVER NO CONFLICT
+ // ===================
+
+ $.fn.popover.noConflict = function () {
+ $.fn.popover = old
+ return this
+ }
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: scrollspy.js v3.3.0
+ * http://getbootstrap.com/javascript/#scrollspy
+ * ========================================================================
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // SCROLLSPY CLASS DEFINITION
+ // ==========================
+
+ function ScrollSpy(element, options) {
+ var process = $.proxy(this.process, this)
+
+ this.$body = $('body')
+ this.$scrollElement = $(element).is('body') ? $(window) : $(element)
+ this.options = $.extend({}, ScrollSpy.DEFAULTS, options)
+ this.selector = (this.options.target || '') + ' .nav li > a'
+ this.offsets = []
+ this.targets = []
+ this.activeTarget = null
+ this.scrollHeight = 0
+
+ this.$scrollElement.on('scroll.bs.scrollspy', process)
+ this.refresh()
+ this.process()
+ }
+
+ ScrollSpy.VERSION = '3.3.0'
+
+ ScrollSpy.DEFAULTS = {
+ offset: 10
+ }
+
+ ScrollSpy.prototype.getScrollHeight = function () {
+ return this.$scrollElement[0].scrollHeight || Math.max(this.$body[0].scrollHeight, document.documentElement.scrollHeight)
+ }
+
+ ScrollSpy.prototype.refresh = function () {
+ var offsetMethod = 'offset'
+ var offsetBase = 0
+
+ if (!$.isWindow(this.$scrollElement[0])) {
+ offsetMethod = 'position'
+ offsetBase = this.$scrollElement.scrollTop()
+ }
+
+ this.offsets = []
+ this.targets = []
+ this.scrollHeight = this.getScrollHeight()
+
+ var self = this
+
+ this.$body
+ .find(this.selector)
+ .map(function () {
+ var $el = $(this)
+ var href = $el.data('target') || $el.attr('href')
+ var $href = /^#./.test(href) && $(href)
+
+ return ($href
+ && $href.length
+ && $href.is(':visible')
+ && [[$href[offsetMethod]().top + offsetBase, href]]) || null
+ })
+ .sort(function (a, b) { return a[0] - b[0] })
+ .each(function () {
+ self.offsets.push(this[0])
+ self.targets.push(this[1])
+ })
+ }
+
+ ScrollSpy.prototype.process = function () {
+ var scrollTop = this.$scrollElement.scrollTop() + this.options.offset
+ var scrollHeight = this.getScrollHeight()
+ var maxScroll = this.options.offset + scrollHeight - this.$scrollElement.height()
+ var offsets = this.offsets
+ var targets = this.targets
+ var activeTarget = this.activeTarget
+ var i
+
+ if (this.scrollHeight != scrollHeight) {
+ this.refresh()
+ }
+
+ if (scrollTop >= maxScroll) {
+ return activeTarget != (i = targets[targets.length - 1]) && this.activate(i)
+ }
+
+ if (activeTarget && scrollTop < offsets[0]) {
+ this.activeTarget = null
+ return this.clear()
+ }
+
+ for (i = offsets.length; i--;) {
+ activeTarget != targets[i]
+ && scrollTop >= offsets[i]
+ && (!offsets[i + 1] || scrollTop <= offsets[i + 1])
+ && this.activate(targets[i])
+ }
+ }
+
+ ScrollSpy.prototype.activate = function (target) {
+ this.activeTarget = target
+
+ this.clear()
+
+ var selector = this.selector +
+ '[data-target="' + target + '"],' +
+ this.selector + '[href="' + target + '"]'
+
+ var active = $(selector)
+ .parents('li')
+ .addClass('active')
+
+ if (active.parent('.dropdown-menu').length) {
+ active = active
+ .closest('li.dropdown')
+ .addClass('active')
+ }
+
+ active.trigger('activate.bs.scrollspy')
+ }
+
+ ScrollSpy.prototype.clear = function () {
+ $(this.selector)
+ .parentsUntil(this.options.target, '.active')
+ .removeClass('active')
+ }
+
+
+ // SCROLLSPY PLUGIN DEFINITION
+ // ===========================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.scrollspy')
+ var options = typeof option == 'object' && option
+
+ if (!data) $this.data('bs.scrollspy', (data = new ScrollSpy(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ var old = $.fn.scrollspy
+
+ $.fn.scrollspy = Plugin
+ $.fn.scrollspy.Constructor = ScrollSpy
+
+
+ // SCROLLSPY NO CONFLICT
+ // =====================
+
+ $.fn.scrollspy.noConflict = function () {
+ $.fn.scrollspy = old
+ return this
+ }
+
+
+ // SCROLLSPY DATA-API
+ // ==================
+
+ $(window).on('load.bs.scrollspy.data-api', function () {
+ $('[data-spy="scroll"]').each(function () {
+ var $spy = $(this)
+ Plugin.call($spy, $spy.data())
+ })
+ })
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: tab.js v3.3.0
+ * http://getbootstrap.com/javascript/#tabs
+ * ========================================================================
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // TAB CLASS DEFINITION
+ // ====================
+
+ var Tab = function (element) {
+ this.element = $(element)
+ }
+
+ Tab.VERSION = '3.3.0'
+
+ Tab.TRANSITION_DURATION = 150
+
+ Tab.prototype.show = function () {
+ var $this = this.element
+ var $ul = $this.closest('ul:not(.dropdown-menu)')
+ var selector = $this.data('target')
+
+ if (!selector) {
+ selector = $this.attr('href')
+ selector = selector && selector.replace(/.*(?=#[^\s]*$)/, '') // strip for ie7
+ }
+
+ if ($this.parent('li').hasClass('active')) return
+
+ var $previous = $ul.find('.active:last a')
+ var hideEvent = $.Event('hide.bs.tab', {
+ relatedTarget: $this[0]
+ })
+ var showEvent = $.Event('show.bs.tab', {
+ relatedTarget: $previous[0]
+ })
+
+ $previous.trigger(hideEvent)
+ $this.trigger(showEvent)
+
+ if (showEvent.isDefaultPrevented() || hideEvent.isDefaultPrevented()) return
+
+ var $target = $(selector)
+
+ this.activate($this.closest('li'), $ul)
+ this.activate($target, $target.parent(), function () {
+ $previous.trigger({
+ type: 'hidden.bs.tab',
+ relatedTarget: $this[0]
+ })
+ $this.trigger({
+ type: 'shown.bs.tab',
+ relatedTarget: $previous[0]
+ })
+ })
+ }
+
+ Tab.prototype.activate = function (element, container, callback) {
+ var $active = container.find('> .active')
+ var transition = callback
+ && $.support.transition
+ && (($active.length && $active.hasClass('fade')) || !!container.find('> .fade').length)
+
+ function next() {
+ $active
+ .removeClass('active')
+ .find('> .dropdown-menu > .active')
+ .removeClass('active')
+ .end()
+ .find('[data-toggle="tab"]')
+ .attr('aria-expanded', false)
+
+ element
+ .addClass('active')
+ .find('[data-toggle="tab"]')
+ .attr('aria-expanded', true)
+
+ if (transition) {
+ element[0].offsetWidth // reflow for transition
+ element.addClass('in')
+ } else {
+ element.removeClass('fade')
+ }
+
+ if (element.parent('.dropdown-menu')) {
+ element
+ .closest('li.dropdown')
+ .addClass('active')
+ .end()
+ .find('[data-toggle="tab"]')
+ .attr('aria-expanded', true)
+ }
+
+ callback && callback()
+ }
+
+ $active.length && transition ?
+ $active
+ .one('bsTransitionEnd', next)
+ .emulateTransitionEnd(Tab.TRANSITION_DURATION) :
+ next()
+
+ $active.removeClass('in')
+ }
+
+
+ // TAB PLUGIN DEFINITION
+ // =====================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.tab')
+
+ if (!data) $this.data('bs.tab', (data = new Tab(this)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ var old = $.fn.tab
+
+ $.fn.tab = Plugin
+ $.fn.tab.Constructor = Tab
+
+
+ // TAB NO CONFLICT
+ // ===============
+
+ $.fn.tab.noConflict = function () {
+ $.fn.tab = old
+ return this
+ }
+
+
+ // TAB DATA-API
+ // ============
+
+ var clickHandler = function (e) {
+ e.preventDefault()
+ Plugin.call($(this), 'show')
+ }
+
+ $(document)
+ .on('click.bs.tab.data-api', '[data-toggle="tab"]', clickHandler)
+ .on('click.bs.tab.data-api', '[data-toggle="pill"]', clickHandler)
+
+}(jQuery);
+
+/* ========================================================================
+ * Bootstrap: affix.js v3.3.0
+ * http://getbootstrap.com/javascript/#affix
+ * ========================================================================
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ * ======================================================================== */
+
+
++function ($) {
+ 'use strict';
+
+ // AFFIX CLASS DEFINITION
+ // ======================
+
+ var Affix = function (element, options) {
+ this.options = $.extend({}, Affix.DEFAULTS, options)
+
+ this.$target = $(this.options.target)
+ .on('scroll.bs.affix.data-api', $.proxy(this.checkPosition, this))
+ .on('click.bs.affix.data-api', $.proxy(this.checkPositionWithEventLoop, this))
+
+ this.$element = $(element)
+ this.affixed =
+ this.unpin =
+ this.pinnedOffset = null
+
+ this.checkPosition()
+ }
+
+ Affix.VERSION = '3.3.0'
+
+ Affix.RESET = 'affix affix-top affix-bottom'
+
+ Affix.DEFAULTS = {
+ offset: 0,
+ target: window
+ }
+
+ Affix.prototype.getState = function (scrollHeight, height, offsetTop, offsetBottom) {
+ var scrollTop = this.$target.scrollTop()
+ var position = this.$element.offset()
+ var targetHeight = this.$target.height()
+
+ if (offsetTop != null && this.affixed == 'top') return scrollTop < offsetTop ? 'top' : false
+
+ if (this.affixed == 'bottom') {
+ if (offsetTop != null) return (scrollTop + this.unpin <= position.top) ? false : 'bottom'
+ return (scrollTop + targetHeight <= scrollHeight - offsetBottom) ? false : 'bottom'
+ }
+
+ var initializing = this.affixed == null
+ var colliderTop = initializing ? scrollTop : position.top
+ var colliderHeight = initializing ? targetHeight : height
+
+ if (offsetTop != null && colliderTop <= offsetTop) return 'top'
+ if (offsetBottom != null && (colliderTop + colliderHeight >= scrollHeight - offsetBottom)) return 'bottom'
+
+ return false
+ }
+
+ Affix.prototype.getPinnedOffset = function () {
+ if (this.pinnedOffset) return this.pinnedOffset
+ this.$element.removeClass(Affix.RESET).addClass('affix')
+ var scrollTop = this.$target.scrollTop()
+ var position = this.$element.offset()
+ return (this.pinnedOffset = position.top - scrollTop)
+ }
+
+ Affix.prototype.checkPositionWithEventLoop = function () {
+ setTimeout($.proxy(this.checkPosition, this), 1)
+ }
+
+ Affix.prototype.checkPosition = function () {
+ if (!this.$element.is(':visible')) return
+
+ var height = this.$element.height()
+ var offset = this.options.offset
+ var offsetTop = offset.top
+ var offsetBottom = offset.bottom
+ var scrollHeight = $('body').height()
+
+ if (typeof offset != 'object') offsetBottom = offsetTop = offset
+ if (typeof offsetTop == 'function') offsetTop = offset.top(this.$element)
+ if (typeof offsetBottom == 'function') offsetBottom = offset.bottom(this.$element)
+
+ var affix = this.getState(scrollHeight, height, offsetTop, offsetBottom)
+
+ if (this.affixed != affix) {
+ if (this.unpin != null) this.$element.css('top', '')
+
+ var affixType = 'affix' + (affix ? '-' + affix : '')
+ var e = $.Event(affixType + '.bs.affix')
+
+ this.$element.trigger(e)
+
+ if (e.isDefaultPrevented()) return
+
+ this.affixed = affix
+ this.unpin = affix == 'bottom' ? this.getPinnedOffset() : null
+
+ this.$element
+ .removeClass(Affix.RESET)
+ .addClass(affixType)
+ .trigger(affixType.replace('affix', 'affixed') + '.bs.affix')
+ }
+
+ if (affix == 'bottom') {
+ this.$element.offset({
+ top: scrollHeight - height - offsetBottom
+ })
+ }
+ }
+
+
+ // AFFIX PLUGIN DEFINITION
+ // =======================
+
+ function Plugin(option) {
+ return this.each(function () {
+ var $this = $(this)
+ var data = $this.data('bs.affix')
+ var options = typeof option == 'object' && option
+
+ if (!data) $this.data('bs.affix', (data = new Affix(this, options)))
+ if (typeof option == 'string') data[option]()
+ })
+ }
+
+ var old = $.fn.affix
+
+ $.fn.affix = Plugin
+ $.fn.affix.Constructor = Affix
+
+
+ // AFFIX NO CONFLICT
+ // =================
+
+ $.fn.affix.noConflict = function () {
+ $.fn.affix = old
+ return this
+ }
+
+
+ // AFFIX DATA-API
+ // ==============
+
+ $(window).on('load', function () {
+ $('[data-spy="affix"]').each(function () {
+ var $spy = $(this)
+ var data = $spy.data()
+
+ data.offset = data.offset || {}
+
+ if (data.offsetBottom != null) data.offset.bottom = data.offsetBottom
+ if (data.offsetTop != null) data.offset.top = data.offsetTop
+
+ Plugin.call($spy, data)
+ })
+ })
+
+}(jQuery);
diff --git a/booksalessm/WebRoot/admin/common/bootstrap/js/bootstrap.min.js b/booksalessm/WebRoot/admin/common/bootstrap/js/bootstrap.min.js
new file mode 100644
index 0000000..63866bc
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/bootstrap/js/bootstrap.min.js
@@ -0,0 +1,7 @@
+/*!
+ * Bootstrap v3.3.0 (http://getbootstrap.com)
+ * Copyright 2011-2014 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
+ */
+if("undefined"==typeof jQuery)throw new Error("Bootstrap's JavaScript requires jQuery");+function(a){var b=a.fn.jquery.split(" ")[0].split(".");if(b[0]<2&&b[1]<9||1==b[0]&&9==b[1]&&b[2]<1)throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}(jQuery),+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]};return!1}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one("bsTransitionEnd",function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b(),a.support.transition&&(a.event.special.bsTransitionEnd={bindType:a.support.transition.end,delegateType:a.support.transition.end,handle:function(b){return a(b.target).is(this)?b.handleObj.handler.apply(this,arguments):void 0}})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var c=a(this),e=c.data("bs.alert");e||c.data("bs.alert",e=new d(this)),"string"==typeof b&&e[b].call(c)})}var c='[data-dismiss="alert"]',d=function(b){a(b).on("click",c,this.close)};d.VERSION="3.3.0",d.TRANSITION_DURATION=150,d.prototype.close=function(b){function c(){g.detach().trigger("closed.bs.alert").remove()}var e=a(this),f=e.attr("data-target");f||(f=e.attr("href"),f=f&&f.replace(/.*(?=#[^\s]*$)/,""));var g=a(f);b&&b.preventDefault(),g.length||(g=e.closest(".alert")),g.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(g.removeClass("in"),a.support.transition&&g.hasClass("fade")?g.one("bsTransitionEnd",c).emulateTransitionEnd(d.TRANSITION_DURATION):c())};var e=a.fn.alert;a.fn.alert=b,a.fn.alert.Constructor=d,a.fn.alert.noConflict=function(){return a.fn.alert=e,this},a(document).on("click.bs.alert.data-api",c,d.prototype.close)}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof b&&b;e||d.data("bs.button",e=new c(this,f)),"toggle"==b?e.toggle():b&&e.setState(b)})}var c=function(b,d){this.$element=a(b),this.options=a.extend({},c.DEFAULTS,d),this.isLoading=!1};c.VERSION="3.3.0",c.DEFAULTS={loadingText:"loading..."},c.prototype.setState=function(b){var c="disabled",d=this.$element,e=d.is("input")?"val":"html",f=d.data();b+="Text",null==f.resetText&&d.data("resetText",d[e]()),setTimeout(a.proxy(function(){d[e](null==f[b]?this.options[b]:f[b]),"loadingText"==b?(this.isLoading=!0,d.addClass(c).attr(c,c)):this.isLoading&&(this.isLoading=!1,d.removeClass(c).removeAttr(c))},this),0)},c.prototype.toggle=function(){var a=!0,b=this.$element.closest('[data-toggle="buttons"]');if(b.length){var c=this.$element.find("input");"radio"==c.prop("type")&&(c.prop("checked")&&this.$element.hasClass("active")?a=!1:b.find(".active").removeClass("active")),a&&c.prop("checked",!this.$element.hasClass("active")).trigger("change")}else this.$element.attr("aria-pressed",!this.$element.hasClass("active"));a&&this.$element.toggleClass("active")};var d=a.fn.button;a.fn.button=b,a.fn.button.Constructor=c,a.fn.button.noConflict=function(){return a.fn.button=d,this},a(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(c){var d=a(c.target);d.hasClass("btn")||(d=d.closest(".btn")),b.call(d,"toggle"),c.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(b){a(b.target).closest(".btn").toggleClass("focus","focus"==b.type)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},c.DEFAULTS,d.data(),"object"==typeof b&&b),g="string"==typeof b?b:f.slide;e||d.data("bs.carousel",e=new c(this,f)),"number"==typeof b?e.to(b):g?e[g]():f.interval&&e.pause().cycle()})}var c=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,this.options.keyboard&&this.$element.on("keydown.bs.carousel",a.proxy(this.keydown,this)),"hover"==this.options.pause&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",a.proxy(this.pause,this)).on("mouseleave.bs.carousel",a.proxy(this.cycle,this))};c.VERSION="3.3.0",c.TRANSITION_DURATION=600,c.DEFAULTS={interval:5e3,pause:"hover",wrap:!0,keyboard:!0},c.prototype.keydown=function(a){switch(a.which){case 37:this.prev();break;case 39:this.next();break;default:return}a.preventDefault()},c.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},c.prototype.getItemIndex=function(a){return this.$items=a.parent().children(".item"),this.$items.index(a||this.$active)},c.prototype.getItemForDirection=function(a,b){var c="prev"==a?-1:1,d=this.getItemIndex(b),e=(d+c)%this.$items.length;return this.$items.eq(e)},c.prototype.to=function(a){var b=this,c=this.getItemIndex(this.$active=this.$element.find(".item.active"));return a>this.$items.length-1||0>a?void 0:this.sliding?this.$element.one("slid.bs.carousel",function(){b.to(a)}):c==a?this.pause().cycle():this.slide(a>c?"next":"prev",this.$items.eq(a))},c.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},c.prototype.next=function(){return this.sliding?void 0:this.slide("next")},c.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},c.prototype.slide=function(b,d){var e=this.$element.find(".item.active"),f=d||this.getItemForDirection(b,e),g=this.interval,h="next"==b?"left":"right",i="next"==b?"first":"last",j=this;if(!f.length){if(!this.options.wrap)return;f=this.$element.find(".item")[i]()}if(f.hasClass("active"))return this.sliding=!1;var k=f[0],l=a.Event("slide.bs.carousel",{relatedTarget:k,direction:h});if(this.$element.trigger(l),!l.isDefaultPrevented()){if(this.sliding=!0,g&&this.pause(),this.$indicators.length){this.$indicators.find(".active").removeClass("active");var m=a(this.$indicators.children()[this.getItemIndex(f)]);m&&m.addClass("active")}var n=a.Event("slid.bs.carousel",{relatedTarget:k,direction:h});return a.support.transition&&this.$element.hasClass("slide")?(f.addClass(b),f[0].offsetWidth,e.addClass(h),f.addClass(h),e.one("bsTransitionEnd",function(){f.removeClass([b,h].join(" ")).addClass("active"),e.removeClass(["active",h].join(" ")),j.sliding=!1,setTimeout(function(){j.$element.trigger(n)},0)}).emulateTransitionEnd(c.TRANSITION_DURATION)):(e.removeClass("active"),f.addClass("active"),this.sliding=!1,this.$element.trigger(n)),g&&this.cycle(),this}};var d=a.fn.carousel;a.fn.carousel=b,a.fn.carousel.Constructor=c,a.fn.carousel.noConflict=function(){return a.fn.carousel=d,this};var e=function(c){var d,e=a(this),f=a(e.attr("data-target")||(d=e.attr("href"))&&d.replace(/.*(?=#[^\s]+$)/,""));if(f.hasClass("carousel")){var g=a.extend({},f.data(),e.data()),h=e.attr("data-slide-to");h&&(g.interval=!1),b.call(f,g),h&&f.data("bs.carousel").to(h),c.preventDefault()}};a(document).on("click.bs.carousel.data-api","[data-slide]",e).on("click.bs.carousel.data-api","[data-slide-to]",e),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var c=a(this);b.call(c,c.data())})})}(jQuery),+function(a){"use strict";function b(b){var c,d=b.attr("data-target")||(c=b.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"");return a(d)}function c(b){return this.each(function(){var c=a(this),e=c.data("bs.collapse"),f=a.extend({},d.DEFAULTS,c.data(),"object"==typeof b&&b);!e&&f.toggle&&"show"==b&&(f.toggle=!1),e||c.data("bs.collapse",e=new d(this,f)),"string"==typeof b&&e[b]()})}var d=function(b,c){this.$element=a(b),this.options=a.extend({},d.DEFAULTS,c),this.$trigger=a(this.options.trigger).filter('[href="#'+b.id+'"], [data-target="#'+b.id+'"]'),this.transitioning=null,this.options.parent?this.$parent=this.getParent():this.addAriaAndCollapsedClass(this.$element,this.$trigger),this.options.toggle&&this.toggle()};d.VERSION="3.3.0",d.TRANSITION_DURATION=350,d.DEFAULTS={toggle:!0,trigger:'[data-toggle="collapse"]'},d.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},d.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b,e=this.$parent&&this.$parent.find("> .panel").children(".in, .collapsing");if(!(e&&e.length&&(b=e.data("bs.collapse"),b&&b.transitioning))){var f=a.Event("show.bs.collapse");if(this.$element.trigger(f),!f.isDefaultPrevented()){e&&e.length&&(c.call(e,"hide"),b||e.data("bs.collapse",null));var g=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[g](0).attr("aria-expanded",!0),this.$trigger.removeClass("collapsed").attr("aria-expanded",!0),this.transitioning=1;var h=function(){this.$element.removeClass("collapsing").addClass("collapse in")[g](""),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return h.call(this);var i=a.camelCase(["scroll",g].join("-"));this.$element.one("bsTransitionEnd",a.proxy(h,this)).emulateTransitionEnd(d.TRANSITION_DURATION)[g](this.$element[0][i])}}}},d.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",!1),this.$trigger.addClass("collapsed").attr("aria-expanded",!1),this.transitioning=1;var e=function(){this.transitioning=0,this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};return a.support.transition?void this.$element[c](0).one("bsTransitionEnd",a.proxy(e,this)).emulateTransitionEnd(d.TRANSITION_DURATION):e.call(this)}}},d.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()},d.prototype.getParent=function(){return a(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each(a.proxy(function(c,d){var e=a(d);this.addAriaAndCollapsedClass(b(e),e)},this)).end()},d.prototype.addAriaAndCollapsedClass=function(a,b){var c=a.hasClass("in");a.attr("aria-expanded",c),b.toggleClass("collapsed",!c).attr("aria-expanded",c)};var e=a.fn.collapse;a.fn.collapse=c,a.fn.collapse.Constructor=d,a.fn.collapse.noConflict=function(){return a.fn.collapse=e,this},a(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(d){var e=a(this);e.attr("data-target")||d.preventDefault();var f=b(e),g=f.data("bs.collapse"),h=g?"toggle":a.extend({},e.data(),{trigger:this});c.call(f,h)})}(jQuery),+function(a){"use strict";function b(b){b&&3===b.which||(a(e).remove(),a(f).each(function(){var d=a(this),e=c(d),f={relatedTarget:this};e.hasClass("open")&&(e.trigger(b=a.Event("hide.bs.dropdown",f)),b.isDefaultPrevented()||(d.attr("aria-expanded","false"),e.removeClass("open").trigger("hidden.bs.dropdown",f)))}))}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#[A-Za-z]/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}function d(b){return this.each(function(){var c=a(this),d=c.data("bs.dropdown");d||c.data("bs.dropdown",d=new g(this)),"string"==typeof b&&d[b].call(c)})}var e=".dropdown-backdrop",f='[data-toggle="dropdown"]',g=function(b){a(b).on("click.bs.dropdown",this.toggle)};g.VERSION="3.3.0",g.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){"ontouchstart"in document.documentElement&&!f.closest(".navbar-nav").length&&a('
').insertAfter(a(this)).on("click",b);var h={relatedTarget:this};if(f.trigger(d=a.Event("show.bs.dropdown",h)),d.isDefaultPrevented())return;e.trigger("focus").attr("aria-expanded","true"),f.toggleClass("open").trigger("shown.bs.dropdown",h)}return!1}},g.prototype.keydown=function(b){if(/(38|40|27|32)/.test(b.which)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var e=c(d),g=e.hasClass("open");if(!g&&27!=b.which||g&&27==b.which)return 27==b.which&&e.find(f).trigger("focus"),d.trigger("click");var h=" li:not(.divider):visible a",i=e.find('[role="menu"]'+h+', [role="listbox"]'+h);if(i.length){var j=i.index(b.target);38==b.which&&j>0&&j--,40==b.which&&j
').prependTo(this.$element).on("click.dismiss.bs.modal",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),f&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;f?this.$backdrop.one("bsTransitionEnd",b).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):b()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var g=function(){d.removeBackdrop(),b&&b()};a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",g).emulateTransitionEnd(c.BACKDROP_TRANSITION_DURATION):g()}else b&&b()},c.prototype.checkScrollbar=function(){this.scrollbarWidth=this.measureScrollbar()},c.prototype.setScrollbar=function(){var a=parseInt(this.$body.css("padding-right")||0,10);this.scrollbarWidth&&this.$body.css("padding-right",a+this.scrollbarWidth)},c.prototype.resetScrollbar=function(){this.$body.css("padding-right","")},c.prototype.measureScrollbar=function(){if(document.body.clientWidth>=window.innerWidth)return 0;var a=document.createElement("div");a.className="modal-scrollbar-measure",this.$body.append(a);var b=a.offsetWidth-a.clientWidth;return this.$body[0].removeChild(a),b};var d=a.fn.modal;a.fn.modal=b,a.fn.modal.Constructor=c,a.fn.modal.noConflict=function(){return a.fn.modal=d,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(c){var d=a(this),e=d.attr("href"),f=a(d.attr("data-target")||e&&e.replace(/.*(?=#[^\s]+$)/,"")),g=f.data("bs.modal")?"toggle":a.extend({remote:!/#/.test(e)&&e},f.data(),d.data());d.is("a")&&c.preventDefault(),f.one("show.bs.modal",function(a){a.isDefaultPrevented()||f.one("hidden.bs.modal",function(){d.is(":visible")&&d.trigger("focus")})}),b.call(f,g,this)})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof b&&b,g=f&&f.selector;(e||"destroy"!=b)&&(g?(e||d.data("bs.tooltip",e={}),e[g]||(e[g]=new c(this,f))):e||d.data("bs.tooltip",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};c.VERSION="3.3.0",c.TRANSITION_DURATION=150,c.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'
',trigger:"hover focus",title:"",delay:0,html:!1,container:!1,viewport:{selector:"body",padding:0}},c.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d),this.$viewport=this.options.viewport&&a(this.options.viewport.selector||this.options.viewport);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focusin",i="hover"==g?"mouseleave":"focusout";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},c.prototype.getDelegateOptions=function(){var b={},c=this.getDefaults();return this._options&&a.each(this._options,function(a,d){c[a]!=d&&(b[a]=d)}),b},c.prototype.enter=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c&&c.$tip&&c.$tip.is(":visible")?void(c.hoverState="in"):(c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="in",c.options.delay&&c.options.delay.show?void(c.timeout=setTimeout(function(){"in"==c.hoverState&&c.show()},c.options.delay.show)):c.show())},c.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget).data("bs."+this.type);return c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c)),clearTimeout(c.timeout),c.hoverState="out",c.options.delay&&c.options.delay.hide?void(c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide)):c.hide()},c.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(b);var d=a.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(b.isDefaultPrevented()||!d)return;var e=this,f=this.tip(),g=this.getUID(this.type);this.setContent(),f.attr("id",g),this.$element.attr("aria-describedby",g),this.options.animation&&f.addClass("fade");var h="function"==typeof this.options.placement?this.options.placement.call(this,f[0],this.$element[0]):this.options.placement,i=/\s?auto?\s?/i,j=i.test(h);j&&(h=h.replace(i,"")||"top"),f.detach().css({top:0,left:0,display:"block"}).addClass(h).data("bs."+this.type,this),this.options.container?f.appendTo(this.options.container):f.insertAfter(this.$element);var k=this.getPosition(),l=f[0].offsetWidth,m=f[0].offsetHeight;if(j){var n=h,o=this.options.container?a(this.options.container):this.$element.parent(),p=this.getPosition(o);h="bottom"==h&&k.bottom+m>p.bottom?"top":"top"==h&&k.top-m
p.width?"left":"left"==h&&k.left-lg.top+g.height&&(e.top=g.top+g.height-i)}else{var j=b.left-f,k=b.left+f+c;jg.width&&(e.left=g.left+g.width-k)}return e},c.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},c.prototype.getUID=function(a){do a+=~~(1e6*Math.random());while(document.getElementById(a));return a},c.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},c.prototype.enable=function(){this.enabled=!0},c.prototype.disable=function(){this.enabled=!1},c.prototype.toggleEnabled=function(){this.enabled=!this.enabled},c.prototype.toggle=function(b){var c=this;b&&(c=a(b.currentTarget).data("bs."+this.type),c||(c=new this.constructor(b.currentTarget,this.getDelegateOptions()),a(b.currentTarget).data("bs."+this.type,c))),c.tip().hasClass("in")?c.leave(c):c.enter(c)},c.prototype.destroy=function(){var a=this;clearTimeout(this.timeout),this.hide(function(){a.$element.off("."+a.type).removeData("bs."+a.type)})};var d=a.fn.tooltip;a.fn.tooltip=b,a.fn.tooltip.Constructor=c,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=d,this}}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof b&&b,g=f&&f.selector;(e||"destroy"!=b)&&(g?(e||d.data("bs.popover",e={}),e[g]||(e[g]=new c(this,f))):e||d.data("bs.popover",e=new c(this,f)),"string"==typeof b&&e[b]())})}var c=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");c.VERSION="3.3.0",c.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:''}),c.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),c.prototype.constructor=c,c.prototype.getDefaults=function(){return c.DEFAULTS},c.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content").children().detach().end()[this.options.html?"string"==typeof c?"html":"append":"text"](c),a.removeClass("fade top bottom left right in"),a.find(".popover-title").html()||a.find(".popover-title").hide()},c.prototype.hasContent=function(){return this.getTitle()||this.getContent()},c.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},c.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},c.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var d=a.fn.popover;a.fn.popover=b,a.fn.popover.Constructor=c,a.fn.popover.noConflict=function(){return a.fn.popover=d,this}}(jQuery),+function(a){"use strict";function b(c,d){var e=a.proxy(this.process,this);this.$body=a("body"),this.$scrollElement=a(a(c).is("body")?window:c),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||"")+" .nav li > a",this.offsets=[],this.targets=[],this.activeTarget=null,this.scrollHeight=0,this.$scrollElement.on("scroll.bs.scrollspy",e),this.refresh(),this.process()}function c(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})}b.VERSION="3.3.0",b.DEFAULTS={offset:10},b.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)},b.prototype.refresh=function(){var b="offset",c=0;a.isWindow(this.$scrollElement[0])||(b="position",c=this.$scrollElement.scrollTop()),this.offsets=[],this.targets=[],this.scrollHeight=this.getScrollHeight();var d=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#./.test(e)&&a(e);return f&&f.length&&f.is(":visible")&&[[f[b]().top+c,e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){d.offsets.push(this[0]),d.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.getScrollHeight(),d=this.options.offset+c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(this.scrollHeight!=c&&this.refresh(),b>=d)return g!=(a=f[f.length-1])&&this.activate(a);if(g&&b=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,this.clear();var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate.bs.scrollspy")},b.prototype.clear=function(){a(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};var d=a.fn.scrollspy;a.fn.scrollspy=c,a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=d,this},a(window).on("load.bs.scrollspy.data-api",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);c.call(b,b.data())})})}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new c(this)),"string"==typeof b&&e[b]()})}var c=function(b){this.element=a(b)};c.VERSION="3.3.0",c.TRANSITION_DURATION=150,c.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.data("target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a"),f=a.Event("hide.bs.tab",{relatedTarget:b[0]}),g=a.Event("show.bs.tab",{relatedTarget:e[0]});if(e.trigger(f),b.trigger(g),!g.isDefaultPrevented()&&!f.isDefaultPrevented()){var h=a(d);this.activate(b.closest("li"),c),this.activate(h,h.parent(),function(){e.trigger({type:"hidden.bs.tab",relatedTarget:b[0]}),b.trigger({type:"shown.bs.tab",relatedTarget:e[0]})})}}},c.prototype.activate=function(b,d,e){function f(){g.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!1),b.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",!0),h?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",!0),e&&e()}var g=d.find("> .active"),h=e&&a.support.transition&&(g.length&&g.hasClass("fade")||!!d.find("> .fade").length);g.length&&h?g.one("bsTransitionEnd",f).emulateTransitionEnd(c.TRANSITION_DURATION):f(),g.removeClass("in")};var d=a.fn.tab;a.fn.tab=b,a.fn.tab.Constructor=c,a.fn.tab.noConflict=function(){return a.fn.tab=d,this};var e=function(c){c.preventDefault(),b.call(a(this),"show")};a(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',e).on("click.bs.tab.data-api",'[data-toggle="pill"]',e)
+}(jQuery),+function(a){"use strict";function b(b){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof b&&b;e||d.data("bs.affix",e=new c(this,f)),"string"==typeof b&&e[b]()})}var c=function(b,d){this.options=a.extend({},c.DEFAULTS,d),this.$target=a(this.options.target).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(b),this.affixed=this.unpin=this.pinnedOffset=null,this.checkPosition()};c.VERSION="3.3.0",c.RESET="affix affix-top affix-bottom",c.DEFAULTS={offset:0,target:window},c.prototype.getState=function(a,b,c,d){var e=this.$target.scrollTop(),f=this.$element.offset(),g=this.$target.height();if(null!=c&&"top"==this.affixed)return c>e?"top":!1;if("bottom"==this.affixed)return null!=c?e+this.unpin<=f.top?!1:"bottom":a-d>=e+g?!1:"bottom";var h=null==this.affixed,i=h?e:f.top,j=h?g:b;return null!=c&&c>=i?"top":null!=d&&i+j>=a-d?"bottom":!1},c.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(c.RESET).addClass("affix");var a=this.$target.scrollTop(),b=this.$element.offset();return this.pinnedOffset=b.top-a},c.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},c.prototype.checkPosition=function(){if(this.$element.is(":visible")){var b=this.$element.height(),d=this.options.offset,e=d.top,f=d.bottom,g=a("body").height();"object"!=typeof d&&(f=e=d),"function"==typeof e&&(e=d.top(this.$element)),"function"==typeof f&&(f=d.bottom(this.$element));var h=this.getState(g,b,e,f);if(this.affixed!=h){null!=this.unpin&&this.$element.css("top","");var i="affix"+(h?"-"+h:""),j=a.Event(i+".bs.affix");if(this.$element.trigger(j),j.isDefaultPrevented())return;this.affixed=h,this.unpin="bottom"==h?this.getPinnedOffset():null,this.$element.removeClass(c.RESET).addClass(i).trigger(i.replace("affix","affixed")+".bs.affix")}"bottom"==h&&this.$element.offset({top:g-b-f})}};var d=a.fn.affix;a.fn.affix=b,a.fn.affix.Constructor=c,a.fn.affix.noConflict=function(){return a.fn.affix=d,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var c=a(this),d=c.data();d.offset=d.offset||{},null!=d.offsetBottom&&(d.offset.bottom=d.offsetBottom),null!=d.offsetTop&&(d.offset.top=d.offsetTop),b.call(c,d)})})}(jQuery);
\ No newline at end of file
diff --git a/booksalessm/WebRoot/admin/common/bootstrap/js/npm.js b/booksalessm/WebRoot/admin/common/bootstrap/js/npm.js
new file mode 100644
index 0000000..bf6aa80
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/bootstrap/js/npm.js
@@ -0,0 +1,13 @@
+// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
+require('../../js/transition.js')
+require('../../js/alert.js')
+require('../../js/button.js')
+require('../../js/carousel.js')
+require('../../js/collapse.js')
+require('../../js/dropdown.js')
+require('../../js/modal.js')
+require('../../js/tooltip.js')
+require('../../js/popover.js')
+require('../../js/scrollspy.js')
+require('../../js/tab.js')
+require('../../js/affix.js')
\ No newline at end of file
diff --git a/booksalessm/WebRoot/admin/common/font/FontAwesome.otf b/booksalessm/WebRoot/admin/common/font/FontAwesome.otf
new file mode 100644
index 0000000..401ec0f
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/font/FontAwesome.otf differ
diff --git a/booksalessm/WebRoot/admin/common/font/fontawesome-webfont.eot b/booksalessm/WebRoot/admin/common/font/fontawesome-webfont.eot
new file mode 100644
index 0000000..e9f60ca
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/font/fontawesome-webfont.eot differ
diff --git a/booksalessm/WebRoot/admin/common/font/fontawesome-webfont.svg b/booksalessm/WebRoot/admin/common/font/fontawesome-webfont.svg
new file mode 100644
index 0000000..855c845
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/font/fontawesome-webfont.svg
@@ -0,0 +1,2671 @@
+
+
+
diff --git a/booksalessm/WebRoot/admin/common/font/fontawesome-webfont.ttf b/booksalessm/WebRoot/admin/common/font/fontawesome-webfont.ttf
new file mode 100644
index 0000000..35acda2
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/font/fontawesome-webfont.ttf differ
diff --git a/booksalessm/WebRoot/admin/common/font/fontawesome-webfont.woff b/booksalessm/WebRoot/admin/common/font/fontawesome-webfont.woff
new file mode 100644
index 0000000..400014a
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/font/fontawesome-webfont.woff differ
diff --git a/booksalessm/WebRoot/admin/common/font/fontawesome-webfont.woff2 b/booksalessm/WebRoot/admin/common/font/fontawesome-webfont.woff2
new file mode 100644
index 0000000..4d13fc6
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/font/fontawesome-webfont.woff2 differ
diff --git a/booksalessm/WebRoot/admin/common/font/iconfont.css b/booksalessm/WebRoot/admin/common/font/iconfont.css
new file mode 100644
index 0000000..89d042a
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/font/iconfont.css
@@ -0,0 +1,441 @@
+
+@font-face {font-family: "iconfont";
+ src: url('iconfont.eot?t=1482121308889'); /* IE9*/
+ src: url('iconfont.eot?t=1482121308889#iefix') format('embedded-opentype'), /* IE6-IE8 */
+ url('iconfont.woff?t=1482121308889') format('woff'), /* chrome, firefox */
+ url('iconfont.ttf?t=1482121308889') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
+ url('iconfont.svg?t=1482121308889#iconfont') format('svg'); /* iOS 4.1- */
+}
+
+.iconfont {
+ font-family:"iconfont" !important;
+ font-size:16px;
+ font-style:normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-wenzhang:before { content: "\e600"; }
+
+.icon-shuaxin:before { content: "\e601"; }
+
+.icon-caidan:before { content: "\e645"; }
+
+.icon-pinglun:before { content: "\e602"; }
+
+.icon-qingchuhuancun:before { content: "\e603"; }
+
+.icon-weixin:before { content: "\e604"; }
+
+.icon-tianjiayonghu:before { content: "\e643"; }
+
+.icon-tianjia:before { content: "\e666"; }
+
+.icon-caidan1:before { content: "\e646"; }
+
+.icon-sousuo:before { content: "\e667"; }
+
+.icon-exit:before { content: "\e62c"; }
+
+.icon-home:before { content: "\e607"; }
+
+.icon-QQ:before { content: "\e608"; }
+
+.icon-11:before { content: "\e669"; }
+
+.icon-shanchu:before { content: "\e6d3"; }
+
+.icon-chatlist:before { content: "\e605"; }
+
+.icon-mima:before { content: "\e61b"; }
+
+.icon-caidan2:before { content: "\e6dc"; }
+
+.icon-yonghu:before { content: "\e620"; }
+
+.icon-shezhi:before { content: "\e64c"; }
+
+.icon-iconfontzhuce:before { content: "\e639"; }
+
+.icon-shanchu1:before { content: "\e692"; }
+
+.icon-tags:before { content: "\e66a"; }
+
+.icon-shezhi1:before { content: "\e64d"; }
+
+.icon-daohang:before { content: "\e606"; }
+
+.icon-denglu:before { content: "\e609"; }
+
+.icon-sousuo1:before { content: "\e6ab"; }
+
+.icon-huishouzhan:before { content: "\e656"; }
+
+.icon-tianjia1:before { content: "\e66b"; }
+
+.icon-circularrefresh:before { content: "\e6ad"; }
+
+.icon-diannao:before { content: "\e62b"; }
+
+.icon-llalbumshopselectorcreate:before { content: "\e66c"; }
+
+.icon-daohang1:before { content: "\e784"; }
+
+.icon-iconfuzhi01:before { content: "\e60a"; }
+
+.icon-home1:before { content: "\e6b1"; }
+
+.icon-sousuo2:before { content: "\e66d"; }
+
+.icon-refurbish:before { content: "\e754"; }
+
+.icon-iconfontsousuo1:before { content: "\e66e"; }
+
+.icon-zhuceguanli:before { content: "\e726"; }
+
+.icon-shanchu2:before { content: "\e66f"; }
+
+.icon-shezhi2:before { content: "\e64e"; }
+
+.icon-shezhi3:before { content: "\e64f"; }
+
+.icon-liuyanicon:before { content: "\e670"; }
+
+.icon-jiahao:before { content: "\e671"; }
+
+.icon-weixin1:before { content: "\e69f"; }
+
+.icon-shezhi4:before { content: "\e650"; }
+
+.icon-chaxun:before { content: "\e7b9"; }
+
+.icon-iconfontqq:before { content: "\e649"; }
+
+.icon-diannao1:before { content: "\e6db"; }
+
+.icon-huanyuan:before { content: "\e67e"; }
+
+.icon-beifen:before { content: "\e6a2"; }
+
+.icon-shanchu3:before { content: "\e672"; }
+
+.icon-xinxicaiji:before { content: "\e60b"; }
+
+.icon-msnui-copy:before { content: "\e778"; }
+
+.icon-gengxin:before { content: "\e65e"; }
+
+.icon-gengxin1:before { content: "\e616"; }
+
+.icon-sms:before { content: "\e673"; }
+
+.icon-duanxin:before { content: "\e674"; }
+
+.icon-jian:before { content: "\e675"; }
+
+.icon-xitong:before { content: "\e60f"; }
+
+.icon-lanmudaohang:before { content: "\e627"; }
+
+.icon-shenhe:before { content: "\e711"; }
+
+.icon-duanxin1:before { content: "\e698"; }
+
+.icon-neirong:before { content: "\e632"; }
+
+.icon-zhucechenggong:before { content: "\e615"; }
+
+.icon-iconfontmokuai:before { content: "\e657"; }
+
+.icon-geren:before { content: "\e624"; }
+
+.icon-password:before { content: "\e658"; }
+
+.icon-pinglun01:before { content: "\e617"; }
+
+.icon-liuyan:before { content: "\e6fc"; }
+
+.icon-yonghu1:before { content: "\e610"; }
+
+.icon-denglu1:before { content: "\e60c"; }
+
+.icon-xitonghuancun:before { content: "\e67b"; }
+
+.icon-chat:before { content: "\e611"; }
+
+.icon-iconwendang:before { content: "\e625"; }
+
+.icon-qqdenglu:before { content: "\e60d"; }
+
+.icon-denglu2:before { content: "\e67f"; }
+
+.icon-shuaxin1:before { content: "\e677"; }
+
+.icon-quanxian:before { content: "\e631"; }
+
+.icon-neirong1:before { content: "\e64a"; }
+
+.icon-wangzhanguanli:before { content: "\e659"; }
+
+.icon-iconfonthuishouzhan:before { content: "\e612"; }
+
+.icon-pinglun1:before { content: "\e628"; }
+
+.icon-daohanglanmu:before { content: "\e621"; }
+
+.icon-quanxianxiugai:before { content: "\e6e2"; }
+
+.icon-jianhao:before { content: "\e68d"; }
+
+.icon-icon1:before { content: "\e678"; }
+
+.icon-zoomout:before { content: "\e660"; }
+
+.icon-piliangicon:before { content: "\e613"; }
+
+.icon-xitongguanli:before { content: "\e69b"; }
+
+.icon-comiisqqdenglu:before { content: "\e62d"; }
+
+.icon-youqinglianjie:before { content: "\e694"; }
+
+.icon-jiaoseguanli:before { content: "\e89e"; }
+
+.icon-database:before { content: "\e779"; }
+
+.icon-denglutubiao:before { content: "\e6c3"; }
+
+.icon-02:before { content: "\e614"; }
+
+.icon-30wangzhanguanli:before { content: "\e65a"; }
+
+.icon-o5:before { content: "\e679"; }
+
+.icon-yuncaiji:before { content: "\e60e"; }
+
+.icon-iconfontkucunchaxun01:before { content: "\e67a"; }
+
+.icon-zhifu:before { content: "\e67c"; }
+
+.icon-sql:before { content: "\e6aa"; }
+
+.icon-icon:before { content: "\e622"; }
+
+.icon-c-databackup:before { content: "\e651"; }
+
+.icon-3beifen:before { content: "\e676"; }
+
+.icon-m-members:before { content: "\e6b8"; }
+
+.icon-jiaoseguanli1:before { content: "\e618"; }
+
+.icon-a130:before { content: "\e63f"; }
+
+.icon-zhandianpeizhi:before { content: "\e681"; }
+
+.icon-huiyuan:before { content: "\e619"; }
+
+.icon-dianyuan01:before { content: "\e652"; }
+
+.icon-huanyuan2:before { content: "\e6ac"; }
+
+.icon-weibiaoti46:before { content: "\e63c"; }
+
+.icon-xiugai:before { content: "\e682"; }
+
+.icon-i:before { content: "\e683"; }
+
+.icon-yumingguanli:before { content: "\e6d7"; }
+
+.icon-useradd:before { content: "\e8dc"; }
+
+.icon-zhandianguanli:before { content: "\e69e"; }
+
+.icon-gongyingshangfuwu:before { content: "\e61a"; }
+
+.icon-weibiaoti1:before { content: "\e6bd"; }
+
+.icon-anquanshezhi:before { content: "\e684"; }
+
+.icon-odpssql:before { content: "\e6f0"; }
+
+.icon-ht_expand:before { content: "\e65c"; }
+
+.icon-gongzhonghao:before { content: "\e65d"; }
+
+.icon-beifenyuhuifu:before { content: "\e7c7"; }
+
+.icon-dengdaishenhe:before { content: "\e686"; }
+
+.icon-jiaoseguanli2:before { content: "\ea62"; }
+
+.icon-zixuntousu:before { content: "\e685"; }
+
+.icon-zhandianguanli1:before { content: "\e687"; }
+
+.icon-anquanshezhi1:before { content: "\e688"; }
+
+.icon-liuyan1:before { content: "\e68a"; }
+
+.icon-beifenguanli:before { content: "\e68b"; }
+
+.icon-icon56-copy:before { content: "\e68c"; }
+
+.icon-pinglunguanli:before { content: "\e738"; }
+
+.icon-chaxun1:before { content: "\e68e"; }
+
+.icon-quanxianwodequanxiancha:before { content: "\e647"; }
+
+.icon-quanxianwodequanxiangou:before { content: "\e648"; }
+
+.icon-anquanshezhi2:before { content: "\e68f"; }
+
+.icon-xiugai1:before { content: "\e690"; }
+
+.icon-tubiao3:before { content: "\e691"; }
+
+.icon-wangzhanpeizhiguanli:before { content: "\e729"; }
+
+.icon-neirong2:before { content: "\e61c"; }
+
+.icon-rizhi:before { content: "\e61f"; }
+
+.icon-anquanshezhi3:before { content: "\e695"; }
+
+.icon-pay:before { content: "\e6a4"; }
+
+.icon-guanlijiaose:before { content: "\e626"; }
+
+.icon-xitongguanli1:before { content: "\e61d"; }
+
+.icon-liuyan2:before { content: "\e696"; }
+
+.icon-zhuce-copy:before { content: "\e61e"; }
+
+.icon-lanmuguanli:before { content: "\e654"; }
+
+.icon-pingmusuoding:before { content: "\e6a7"; }
+
+.icon-word:before { content: "\e653"; }
+
+.icon-geren1:before { content: "\e623"; }
+
+.icon-zhifu1:before { content: "\e72a"; }
+
+.icon-sql1:before { content: "\e697"; }
+
+.icon-shujukuguanli:before { content: "\e69c"; }
+
+.icon-role:before { content: "\e6bf"; }
+
+.icon-zhandian:before { content: "\e629"; }
+
+.icon-30wangzhanguanli1:before { content: "\e662"; }
+
+.icon-xitong1:before { content: "\e633"; }
+
+.icon-neirongguanli:before { content: "\e664"; }
+
+.icon-shengchengbaogao:before { content: "\e661"; }
+
+.icon-zengjia:before { content: "\e69d"; }
+
+.icon-wenzhang1:before { content: "\e62a"; }
+
+.icon-kuozhan:before { content: "\e706"; }
+
+.icon-xitongguanli2:before { content: "\e62e"; }
+
+.icon-anquanshezhi4:before { content: "\e6a0"; }
+
+.icon-power:before { content: "\e62f"; }
+
+.icon-weizhuce:before { content: "\e630"; }
+
+.icon-jiaoseguanli3:before { content: "\e64b"; }
+
+.icon-zhifu2:before { content: "\e6a5"; }
+
+.icon-zengjia1:before { content: "\e6a1"; }
+
+.icon-zhuti:before { content: "\e689"; }
+
+.icon-jianhao1:before { content: "\e6a3"; }
+
+.icon-weixin3:before { content: "\e6be"; }
+
+.icon-shujuku:before { content: "\e6a6"; }
+
+.icon-gengxin-copy-copy:before { content: "\e634"; }
+
+.icon-icon114:before { content: "\e635"; }
+
+.icon-yuming:before { content: "\e640"; }
+
+.icon-gerenkuozhan:before { content: "\e9a1"; }
+
+.icon-gongnengkuozhan:before { content: "\e693"; }
+
+.icon-tianjiayonghu1:before { content: "\e644"; }
+
+.icon-gengxin2:before { content: "\e65b"; }
+
+.icon-SQLServershujuku:before { content: "\e6a8"; }
+
+.icon-suoping:before { content: "\e776"; }
+
+.icon-wenzhang2:before { content: "\e636"; }
+
+.icon-anquanshezhi5:before { content: "\e6a9"; }
+
+.icon-pinglunguanli1:before { content: "\e637"; }
+
+.icon-huishouzhan1:before { content: "\e638"; }
+
+.icon-16:before { content: "\e63a"; }
+
+.icon-gengxin3:before { content: "\e63b"; }
+
+.icon-quanxian1:before { content: "\e699"; }
+
+.icon-quanxian2:before { content: "\e69a"; }
+
+.icon-huishouzhan2:before { content: "\e63d"; }
+
+.icon-daishenhe:before { content: "\e6ae"; }
+
+.icon-anquanshezhi6:before { content: "\e6af"; }
+
+.icon-sousuo-sousuo:before { content: "\e6b0"; }
+
+.icon-shujuquanxian:before { content: "\e668"; }
+
+.icon-shengchengbaogao1:before { content: "\e6c2"; }
+
+.icon-weishengcheng:before { content: "\e6c4"; }
+
+.icon-duanxin2:before { content: "\e6b2"; }
+
+.icon-chajian:before { content: "\e665"; }
+
+.icon-liebiaoye_liebiao:before { content: "\e63e"; }
+
+.icon-jiaoseguanli4:before { content: "\e663"; }
+
+.icon-system:before { content: "\e641"; }
+
+.icon-shujucaiji:before { content: "\e65f"; }
+
+.icon-xitongguanli3:before { content: "\e642"; }
+
+.icon-neirong3:before { content: "\e655"; }
+
+.icon-tags1:before { content: "\e6c5"; }
+
+.icon-sousuo_sousuo:before { content: "\e6b3"; }
+
+.icon-sousuo-sousuo1:before { content: "\e6d6"; }
+
+.icon-sousuo_sousuo1:before { content: "\e6b4"; }
+
diff --git a/booksalessm/WebRoot/admin/common/font/iconfont.eot b/booksalessm/WebRoot/admin/common/font/iconfont.eot
new file mode 100644
index 0000000..b87fc75
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/font/iconfont.eot differ
diff --git a/booksalessm/WebRoot/admin/common/font/iconfont.js b/booksalessm/WebRoot/admin/common/font/iconfont.js
new file mode 100644
index 0000000..8e15578
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/font/iconfont.js
@@ -0,0 +1,1782 @@
+;(function(window) {
+
+ var svgSprite = ''
+ var script = function() {
+ var scripts = document.getElementsByTagName('script')
+ return scripts[scripts.length - 1]
+ }()
+ var shouldInjectCss = script.getAttribute("data-injectcss")
+
+ /**
+ * document ready
+ */
+ var ready = function(fn) {
+ if (document.addEventListener) {
+ if (~["complete", "loaded", "interactive"].indexOf(document.readyState)) {
+ setTimeout(fn, 0)
+ } else {
+ var loadFn = function() {
+ document.removeEventListener("DOMContentLoaded", loadFn, false)
+ fn()
+ }
+ document.addEventListener("DOMContentLoaded", loadFn, false)
+ }
+ } else if (document.attachEvent) {
+ IEContentLoaded(window, fn)
+ }
+
+ function IEContentLoaded(w, fn) {
+ var d = w.document,
+ done = false,
+ // only fire once
+ init = function() {
+ if (!done) {
+ done = true
+ fn()
+ }
+ }
+ // polling for no errors
+ var polling = function() {
+ try {
+ // throws errors until after ondocumentready
+ d.documentElement.doScroll('left')
+ } catch (e) {
+ setTimeout(polling, 50)
+ return
+ }
+ // no errors, fire
+
+ init()
+ };
+
+ polling()
+ // trying to always fire before onload
+ d.onreadystatechange = function() {
+ if (d.readyState == 'complete') {
+ d.onreadystatechange = null
+ init()
+ }
+ }
+ }
+ }
+
+ /**
+ * Insert el before target
+ *
+ * @param {Element} el
+ * @param {Element} target
+ */
+
+ var before = function(el, target) {
+ target.parentNode.insertBefore(el, target)
+ }
+
+ /**
+ * Prepend el to target
+ *
+ * @param {Element} el
+ * @param {Element} target
+ */
+
+ var prepend = function(el, target) {
+ if (target.firstChild) {
+ before(el, target.firstChild)
+ } else {
+ target.appendChild(el)
+ }
+ }
+
+ function appendSvg() {
+ var div, svg
+
+ div = document.createElement('div')
+ div.innerHTML = svgSprite
+ svgSprite = null
+ svg = div.getElementsByTagName('svg')[0]
+ if (svg) {
+ svg.setAttribute('aria-hidden', 'true')
+ svg.style.position = 'absolute'
+ svg.style.width = 0
+ svg.style.height = 0
+ svg.style.overflow = 'hidden'
+ prepend(svg, document.body)
+ }
+ }
+
+ if (shouldInjectCss && !window.__iconfont__svg__cssinject__) {
+ window.__iconfont__svg__cssinject__ = true
+ try {
+ document.write("");
+ } catch (e) {
+ console && console.log(e)
+ }
+ }
+
+ ready(appendSvg)
+
+
+})(window)
\ No newline at end of file
diff --git a/booksalessm/WebRoot/admin/common/font/iconfont.svg b/booksalessm/WebRoot/admin/common/font/iconfont.svg
new file mode 100644
index 0000000..d2860b9
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/font/iconfont.svg
@@ -0,0 +1,962 @@
+
+
+
diff --git a/booksalessm/WebRoot/admin/common/font/iconfont.ttf b/booksalessm/WebRoot/admin/common/font/iconfont.ttf
new file mode 100644
index 0000000..7751dbb
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/font/iconfont.ttf differ
diff --git a/booksalessm/WebRoot/admin/common/font/iconfont.woff b/booksalessm/WebRoot/admin/common/font/iconfont.woff
new file mode 100644
index 0000000..72086cf
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/font/iconfont.woff differ
diff --git a/booksalessm/WebRoot/admin/common/font/pxgridsicons.eot b/booksalessm/WebRoot/admin/common/font/pxgridsicons.eot
new file mode 100644
index 0000000..4ddde94
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/font/pxgridsicons.eot
@@ -0,0 +1 @@
+L?
\ No newline at end of file
diff --git a/booksalessm/WebRoot/admin/common/font/pxgridsicons.svg b/booksalessm/WebRoot/admin/common/font/pxgridsicons.svg
new file mode 100644
index 0000000..97e623a
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/font/pxgridsicons.svg
@@ -0,0 +1,418 @@
+
+
+
\ No newline at end of file
diff --git a/booksalessm/WebRoot/admin/common/font/pxgridsicons.ttf b/booksalessm/WebRoot/admin/common/font/pxgridsicons.ttf
new file mode 100644
index 0000000..827a8aa
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/font/pxgridsicons.ttf differ
diff --git a/booksalessm/WebRoot/admin/common/font/pxgridsicons.woff b/booksalessm/WebRoot/admin/common/font/pxgridsicons.woff
new file mode 100644
index 0000000..f951792
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/font/pxgridsicons.woff differ
diff --git a/booksalessm/WebRoot/admin/common/global.css b/booksalessm/WebRoot/admin/common/global.css
new file mode 100644
index 0000000..8183a66
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/global.css
@@ -0,0 +1,640 @@
+@charset "utf-8";
+/*
+* @Author: Larry
+* @Date: 2016-12-15 17:20:54
+* @Last Modified by: qinsh
+* @Last Modified time: 2016-12-20 01:16:32
+* +----------------------------------------------------------------------
+* | LarryBlogCMS [ LarryCMS网站内容管理系统 ]
+* | Copyright (c) 2016-2017 http://www.larrycms.com All rights reserved.
+* | Licensed ( http://www.larrycms.com/licenses/ )
+* | Author: qinshouwei <313492783@qq.com>
+* +----------------------------------------------------------------------
+*/
+/* initialize css */
+*html{padding:0px}
+body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,select,p,blockquote,th,td,span,a{margin:0;padding:0;}
+body{font-size:12px;font-family: "微软雅黑","Microsoft YaHei","Microsoft YaHei UI", "Segoe UI", Arial, Verdana, Sans-Serif, sans-serif;}
+em{font-style:normal}
+address, caption, cite, code, dfn, em, strong, th, var { font-style:normal; font-weight:normal;}
+article,aside,details,figcaption,figure,footer,header,hgroup,nav,section,summary {display: block;}
+audio,canvas,video {display: inline-block;}
+audio:not([controls]) {display: none;height: 0;}
+[hidden] {display: none;}
+abbr[title] {border-bottom: 1px dotted;}
+b,strong {font-weight: bold;}
+pre {white-space: pre;white-space: pre-wrap;word-wrap: break-word;}
+a{text-decoration: none;color: #333333;font-family: "Microsoft YaHei";}
+a:hover{text-decoration: none;}
+fieldset,img{border:0;}
+ol,ul,li { list-style:none;}
+del,ins{text-decoration:none;}
+sub,sup {font-size: 75%;line-height: 0;position: relative;vertical-align: baseline;}
+sup {top: -0.5em;}
+sub {bottom: -0.25em;}
+address,button,caption,cite,code,dfn,em,input,optgroup,option,select,strong,textarea,th,var{font:inherit;}
+input[type="checkbox"],input[type="radio"] {box-sizing: border-box; /* 1 */padding: 0; /* 2 */}
+input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration {-webkit-appearance: none;}
+input,select{height:20px;font-size:12px;line-height:20px;}
+button::-moz-focus-inner,input::-moz-focus-inner {border: 0;padding: 0;}
+textarea {overflow: auto; /* 1 */vertical-align: top; /* 2 */}
+table{border-collapse: collapse;border-spacing: 0;}
+caption,th{text-align:left;}
+button,html input[type="button"],
+input[type="reset"],input[type="submit"] {-webkit-appearance: button;
+cursor: pointer;
+}
+a:active {outline: none;star:expression(this.onFocus=this.blur());}
+a,a:hover,a:focus{text-decoration:none;outline:none;-webkit-transition:all 0.3s;transition:all 0.3s;-moz-transition:all 0.3s;-o-transition:all 0.3s;}
+::selection{background:#FF6C60;color:#fff;}
+::-moz-selection{background:#FF6C60;color:#fff;}
+h1,h2,h3,h4,h5,h6,a,p,span{font-family: "微软雅黑","Microsoft YaHei","Microsoft YaHei UI","Hiragino Sans GB W3","Segoe UI", Arial, Verdana, Sans-Serif, sans-serif;}
+
+/* 清除浮动样式 */
+.clearfix:after {content: "."; display: block; height:0; clear:both; visibility: hidden;}
+.clearfix { *zoom:1; }
+/* 清除定位属性 */
+.larry-position-clear{
+ position: static;
+}
+/* layui框架样式定义 */
+.layui-nav-item .layui-icon{position: relative; /*font-size: 20px;*/}
+.layui-nav-item a cite{padding: 0 10px;}
+.layui-larry-box{
+ display:block;
+ width: 100%;
+ height: auto;
+ padding: 10px;
+ background: #fff;
+}
+/* 底部 */
+.footer {
+ padding: 30px 0;
+ line-height: 30px;
+ text-align: center;
+ background-color: #eee;
+ color: #666;
+ font-weight: 300;
+}
+.footer a {
+ padding: 0 5px;
+}
+body .layui-layout-admin .layui-body{
+ padding-bottom: 0px;
+}
+body .layui-layout-admin .layui-larry-foot{
+ height: 30px;
+ padding: 5px 0;
+ line-height: 30px;
+ text-align: center;
+ background-color: #eee;
+ color: #666;
+ font-weight: 300;
+ border-left: 2px solid #1AA094;
+ z-index: 998;
+}
+body .layui-layout-admin .layui-larry-foot a{
+ padding: 0 5px;
+
+}
+
+body .layui-layout-admin .larry-footer-left{
+ width: 300px;
+ height: 30px;
+ position: absolute;
+ left: 0px;
+ text-align: left;
+ padding-left: 15px;
+ font-size: 12px;
+}
+body .layui-layout-admin .larry-footer-left a{
+ line-height: 30px;
+}
+body .layui-layout-admin .layui-larry-foot .p-admin{
+ display: block;
+ width: auto;
+ text-align: center;
+ position: absolute;
+ left: 200px;
+ font-size: 12px;
+}
+body .layui-layout-admin .layui-larry-foot .p-admin a{
+ padding-right: 0px;
+}
+/* ---------------------------------------------------------------------- */
+/**
+ * 字体css
+ */
+/* pxgridsicons字体 */
+@font-face {
+ font-family: 'pxgridsicons';
+ src: url('font/pxgridsicons.eot');
+ src: url('font/pxgridsicons.eot') format('embedded-opentype'),
+ url('font/pxgridsicons.woff') format('woff'),
+ url('font/pxgridsicons.ttf') format('truetype'),
+ url('font/pxgridsicons.svg') format('svg');
+ font-weight: normal;
+ font-style: normal;
+}
+[class^="iconpx-"],
+[class*=" iconpx-"] {
+ font-family: 'pxgridsicons';
+ speak: none;
+ font-style: normal;
+ font-weight: normal;
+ font-variant: normal;
+ text-transform: none;
+ line-height: 1;
+ /* Better Font Rendering =========== */
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+.iconpx-user:before {
+ content: "\e69d";
+}
+.iconpx-users:before {
+ content: "\e69e";
+}
+.iconpx-user-add:before {
+ content: "\e69f";
+}
+.iconpx-file-word-o:before {
+ content: "\f1c2";
+}
+.iconpx-check-circle:before {
+ content: "\f058";
+}
+.iconpx-chevron-down:before {
+ content: "\f078";
+}
+.iconpx-chevron-up:before {
+ content: "\f077";
+}
+/* bs字体 */
+@font-face {
+ font-family: 'FontAwesome';
+ src: url('font/fontawesome-webfont.eot?v=4.7.0');
+ src: url('font/fontawesome-webfont.eot?#iefix&v=4.7.0') format('embedded-opentype'),
+ url('font/fontawesome-webfont.woff2?v=4.7.0') format('woff2'),
+ url('font/fontawesome-webfont.woff?v=4.7.0') format('woff'),
+ url('font/fontawesome-webfont.ttf?v=4.7.0') format('truetype'),
+ url('font/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');
+ font-weight: normal;
+ font-style: normal;
+}
+.fa {
+ display: inline-block;
+ font: normal normal normal 14px/1 FontAwesome;
+ font-size: inherit;
+ text-rendering: auto;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+.fa-bars:before {
+ content: "\f0c9";
+}
+.fa-dashboard:before,
+.fa-tachometer:before {
+ content: "\f0e4";
+}
+/* Larry字体图标 */
+
+@font-face {font-family: "iconfont";
+ src: url('font/iconfont.eot?t=1480736048214'); /* IE9*/
+ src: url('font/iconfont.eot?t=1480736048214#iefix') format('embedded-opentype'), /* IE6-IE8 */
+ url('font/iconfont.woff?t=1480736048214') format('woff'), /* chrome, firefox */
+ url('font/iconfont.ttf?t=1480736048214') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
+ url('font/iconfont.svg?t=1480736048214#iconfont') format('svg'); /* iOS 4.1- */
+}
+
+.iconfont {
+ font-family:"iconfont" !important;
+ font-size:16px;
+ font-style:normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-wenzhang:before { content: "\e600"; }
+
+.icon-shuaxin:before { content: "\e601"; }
+
+.icon-caidan:before { content: "\e645"; }
+
+.icon-pinglun:before { content: "\e602"; }
+
+.icon-qingchuhuancun:before { content: "\e603"; }
+
+.icon-weixin:before { content: "\e604"; }
+
+.icon-tianjiayonghu:before { content: "\e643"; }
+
+.icon-tianjia:before { content: "\e666"; }
+
+.icon-caidan1:before { content: "\e646"; }
+
+.icon-sousuo:before { content: "\e667"; }
+
+.icon-exit:before { content: "\e62c"; }
+
+.icon-home:before { content: "\e607"; }
+
+.icon-QQ:before { content: "\e608"; }
+
+.icon-11:before { content: "\e669"; }
+
+.icon-shanchu:before { content: "\e6d3"; }
+
+.icon-chatlist:before { content: "\e605"; }
+
+.icon-mima:before { content: "\e61b"; }
+
+.icon-caidan2:before { content: "\e6dc"; }
+
+.icon-yonghu:before { content: "\e620"; }
+
+.icon-shezhi:before { content: "\e64c"; }
+
+.icon-iconfontzhuce:before { content: "\e639"; }
+
+.icon-shanchu1:before { content: "\e692"; }
+
+.icon-tags:before { content: "\e66a"; }
+
+.icon-shezhi1:before { content: "\e64d"; }
+
+.icon-daohang:before { content: "\e606"; }
+
+.icon-denglu:before { content: "\e609"; }
+
+.icon-sousuo1:before { content: "\e6ab"; }
+
+.icon-huishouzhan:before { content: "\e656"; }
+
+.icon-tianjia1:before { content: "\e66b"; }
+
+.icon-circularrefresh:before { content: "\e6ad"; }
+
+.icon-diannao:before { content: "\e62b"; }
+
+.icon-llalbumshopselectorcreate:before { content: "\e66c"; }
+
+.icon-daohang1:before { content: "\e784"; }
+
+.icon-iconfuzhi01:before { content: "\e60a"; }
+
+.icon-home1:before { content: "\e6b1"; }
+
+.icon-sousuo2:before { content: "\e66d"; }
+
+.icon-refurbish:before { content: "\e754"; }
+
+.icon-iconfontsousuo1:before { content: "\e66e"; }
+
+.icon-zhuceguanli:before { content: "\e726"; }
+
+.icon-shanchu2:before { content: "\e66f"; }
+
+.icon-shezhi2:before { content: "\e64e"; }
+
+.icon-shezhi3:before { content: "\e64f"; }
+
+.icon-liuyanicon:before { content: "\e670"; }
+
+.icon-jiahao:before { content: "\e671"; }
+
+.icon-weixin1:before { content: "\e69f"; }
+
+.icon-shezhi4:before { content: "\e650"; }
+
+.icon-chaxun:before { content: "\e7b9"; }
+
+.icon-iconfontqq:before { content: "\e649"; }
+
+.icon-diannao1:before { content: "\e6db"; }
+
+.icon-huanyuan:before { content: "\e67e"; }
+
+.icon-beifen:before { content: "\e6a2"; }
+
+.icon-shanchu3:before { content: "\e672"; }
+
+.icon-xinxicaiji:before { content: "\e60b"; }
+
+.icon-msnui-copy:before { content: "\e778"; }
+
+.icon-gengxin:before { content: "\e65e"; }
+
+.icon-gengxin1:before { content: "\e616"; }
+
+.icon-sms:before { content: "\e673"; }
+
+.icon-duanxin:before { content: "\e674"; }
+
+.icon-jian:before { content: "\e675"; }
+
+.icon-xitong:before { content: "\e60f"; }
+
+.icon-lanmudaohang:before { content: "\e627"; }
+
+.icon-shenhe:before { content: "\e711"; }
+
+.icon-duanxin1:before { content: "\e698"; }
+
+.icon-neirong:before { content: "\e632"; }
+
+.icon-zhucechenggong:before { content: "\e615"; }
+
+.icon-iconfontmokuai:before { content: "\e657"; }
+
+.icon-geren:before { content: "\e624"; }
+
+.icon-password:before { content: "\e658"; }
+
+.icon-pinglun01:before { content: "\e617"; }
+
+.icon-liuyan:before { content: "\e6fc"; }
+
+.icon-yonghu1:before { content: "\e610"; }
+
+.icon-denglu1:before { content: "\e60c"; }
+
+.icon-xitonghuancun:before { content: "\e67b"; }
+
+.icon-chat:before { content: "\e611"; }
+
+.icon-iconwendang:before { content: "\e625"; }
+
+.icon-qqdenglu:before { content: "\e60d"; }
+
+.icon-denglu2:before { content: "\e67f"; }
+
+.icon-shuaxin1:before { content: "\e677"; }
+
+.icon-quanxian:before { content: "\e631"; }
+
+.icon-neirong1:before { content: "\e64a"; }
+
+.icon-wangzhanguanli:before { content: "\e659"; }
+
+.icon-iconfonthuishouzhan:before { content: "\e612"; }
+
+.icon-pinglun1:before { content: "\e628"; }
+
+.icon-daohanglanmu:before { content: "\e621"; }
+
+.icon-quanxianxiugai:before { content: "\e6e2"; }
+
+.icon-jianhao:before { content: "\e68d"; }
+
+.icon-icon1:before { content: "\e678"; }
+
+.icon-zoomout:before { content: "\e660"; }
+
+.icon-piliangicon:before { content: "\e613"; }
+
+.icon-xitongguanli:before { content: "\e69b"; }
+
+.icon-comiisqqdenglu:before { content: "\e62d"; }
+
+.icon-youqinglianjie:before { content: "\e694"; }
+
+.icon-jiaoseguanli:before { content: "\e89e"; }
+
+.icon-database:before { content: "\e779"; }
+
+.icon-denglutubiao:before { content: "\e6c3"; }
+
+.icon-02:before { content: "\e614"; }
+
+.icon-30wangzhanguanli:before { content: "\e65a"; }
+
+.icon-o5:before { content: "\e679"; }
+
+.icon-yuncaiji:before { content: "\e60e"; }
+
+.icon-iconfontkucunchaxun01:before { content: "\e67a"; }
+
+.icon-zhifu:before { content: "\e67c"; }
+
+.icon-sql:before { content: "\e6aa"; }
+
+.icon-icon:before { content: "\e622"; }
+
+.icon-c-databackup:before { content: "\e651"; }
+
+.icon-3beifen:before { content: "\e676"; }
+
+.icon-m-members:before { content: "\e6b8"; }
+
+.icon-jiaoseguanli1:before { content: "\e618"; }
+
+.icon-a130:before { content: "\e63f"; }
+
+.icon-zhandianpeizhi:before { content: "\e681"; }
+
+.icon-huiyuan:before { content: "\e619"; }
+
+.icon-dianyuan01:before { content: "\e652"; }
+
+.icon-huanyuan2:before { content: "\e6ac"; }
+
+.icon-weibiaoti46:before { content: "\e63c"; }
+
+.icon-xiugai:before { content: "\e682"; }
+
+.icon-i:before { content: "\e683"; }
+
+.icon-yumingguanli:before { content: "\e6d7"; }
+
+.icon-useradd:before { content: "\e8dc"; }
+
+.icon-zhandianguanli:before { content: "\e69e"; }
+
+.icon-gongyingshangfuwu:before { content: "\e61a"; }
+
+.icon-weibiaoti1:before { content: "\e6bd"; }
+
+.icon-anquanshezhi:before { content: "\e684"; }
+
+.icon-odpssql:before { content: "\e6f0"; }
+
+.icon-ht_expand:before { content: "\e65c"; }
+
+.icon-gongzhonghao:before { content: "\e65d"; }
+
+.icon-beifenyuhuifu:before { content: "\e7c7"; }
+
+.icon-dengdaishenhe:before { content: "\e686"; }
+
+.icon-jiaoseguanli2:before { content: "\ea62"; }
+
+.icon-zixuntousu:before { content: "\e685"; }
+
+.icon-zhandianguanli1:before { content: "\e687"; }
+
+.icon-anquanshezhi1:before { content: "\e688"; }
+
+.icon-liuyan1:before { content: "\e68a"; }
+
+.icon-beifenguanli:before { content: "\e68b"; }
+
+.icon-icon56-copy:before { content: "\e68c"; }
+
+.icon-pinglunguanli:before { content: "\e738"; }
+
+.icon-chaxun1:before { content: "\e68e"; }
+
+.icon-quanxianwodequanxiancha:before { content: "\e647"; }
+
+.icon-quanxianwodequanxiangou:before { content: "\e648"; }
+
+.icon-anquanshezhi2:before { content: "\e68f"; }
+
+.icon-xiugai1:before { content: "\e690"; }
+
+.icon-tubiao3:before { content: "\e691"; }
+
+.icon-wangzhanpeizhiguanli:before { content: "\e729"; }
+
+.icon-neirong2:before { content: "\e61c"; }
+
+.icon-rizhi:before { content: "\e61f"; }
+
+.icon-anquanshezhi3:before { content: "\e695"; }
+
+.icon-pay:before { content: "\e6a4"; }
+
+.icon-guanlijiaose:before { content: "\e626"; }
+
+.icon-xitongguanli1:before { content: "\e61d"; }
+
+.icon-liuyan2:before { content: "\e696"; }
+
+.icon-zhuce-copy:before { content: "\e61e"; }
+
+.icon-lanmuguanli:before { content: "\e654"; }
+
+.icon-pingmusuoding:before { content: "\e6a7"; }
+
+.icon-word:before { content: "\e653"; }
+
+.icon-geren1:before { content: "\e623"; }
+
+.icon-zhifu1:before { content: "\e72a"; }
+
+.icon-sql1:before { content: "\e697"; }
+
+.icon-shujukuguanli:before { content: "\e69c"; }
+
+.icon-role:before { content: "\e6bf"; }
+
+.icon-zhandian:before { content: "\e629"; }
+
+.icon-30wangzhanguanli1:before { content: "\e662"; }
+
+.icon-xitong1:before { content: "\e633"; }
+
+.icon-neirongguanli:before { content: "\e664"; }
+
+.icon-shengchengbaogao:before { content: "\e661"; }
+
+.icon-zengjia:before { content: "\e69d"; }
+
+.icon-wenzhang1:before { content: "\e62a"; }
+
+.icon-kuozhan:before { content: "\e706"; }
+
+.icon-xitongguanli2:before { content: "\e62e"; }
+
+.icon-anquanshezhi4:before { content: "\e6a0"; }
+
+.icon-power:before { content: "\e62f"; }
+
+.icon-weizhuce:before { content: "\e630"; }
+
+.icon-jiaoseguanli3:before { content: "\e64b"; }
+
+.icon-zhifu2:before { content: "\e6a5"; }
+
+.icon-zengjia1:before { content: "\e6a1"; }
+
+.icon-zhuti:before { content: "\e689"; }
+
+.icon-jianhao1:before { content: "\e6a3"; }
+
+.icon-weixin3:before { content: "\e6be"; }
+
+.icon-shujuku:before { content: "\e6a6"; }
+
+.icon-gengxin-copy-copy:before { content: "\e634"; }
+
+.icon-icon114:before { content: "\e635"; }
+
+.icon-yuming:before { content: "\e640"; }
+
+.icon-gerenkuozhan:before { content: "\e9a1"; }
+
+.icon-gongnengkuozhan:before { content: "\e693"; }
+
+.icon-tianjiayonghu1:before { content: "\e644"; }
+
+.icon-gengxin2:before { content: "\e65b"; }
+
+.icon-SQLServershujuku:before { content: "\e6a8"; }
+
+.icon-suoping:before { content: "\e776"; }
+
+.icon-wenzhang2:before { content: "\e636"; }
+
+.icon-anquanshezhi5:before { content: "\e6a9"; }
+
+.icon-pinglunguanli1:before { content: "\e637"; }
+
+.icon-huishouzhan1:before { content: "\e638"; }
+
+.icon-16:before { content: "\e63a"; }
+
+.icon-gengxin3:before { content: "\e63b"; }
+
+.icon-quanxian1:before { content: "\e699"; }
+
+.icon-quanxian2:before { content: "\e69a"; }
+
+.icon-huishouzhan2:before { content: "\e63d"; }
+
+.icon-daishenhe:before { content: "\e6ae"; }
+
+.icon-anquanshezhi6:before { content: "\e6af"; }
+
+.icon-sousuo-sousuo:before { content: "\e6b0"; }
+
+.icon-shujuquanxian:before { content: "\e668"; }
+
+.icon-shengchengbaogao1:before { content: "\e6c2"; }
+
+.icon-weishengcheng:before { content: "\e6c4"; }
+
+.icon-duanxin2:before { content: "\e6b2"; }
+
+.icon-chajian:before { content: "\e665"; }
+
+.icon-liebiaoye_liebiao:before { content: "\e63e"; }
+
+.icon-jiaoseguanli4:before { content: "\e663"; }
+
+.icon-system:before { content: "\e641"; }
+
+.icon-shujucaiji:before { content: "\e65f"; }
+
+.icon-xitongguanli3:before { content: "\e642"; }
+
+.icon-neirong3:before { content: "\e655"; }
+
+.icon-tags1:before { content: "\e6c5"; }
+
+.icon-sousuo_sousuo:before { content: "\e6b3"; }
+
+.icon-sousuo-sousuo1:before { content: "\e6d6"; }
+
+.icon-sousuo_sousuo1:before { content: "\e6b4"; }
\ No newline at end of file
diff --git a/booksalessm/WebRoot/admin/common/images/logo.png b/booksalessm/WebRoot/admin/common/images/logo.png
new file mode 100644
index 0000000..4779fa2
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/images/logo.png differ
diff --git a/booksalessm/WebRoot/admin/common/layui/css/layui.css b/booksalessm/WebRoot/admin/common/layui/css/layui.css
new file mode 100644
index 0000000..e92becd
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/layui/css/layui.css
@@ -0,0 +1,2485 @@
+/** layui-v1.0.7 MIT License By http://www.layui.com */
+
+.layui-btn,
+.layui-inline,
+img {
+ vertical-align: middle
+}
+
+.layui-btn,
+.layui-unselect {
+ -webkit-user-select: none;
+ -ms-user-select: none;
+ -moz-user-select: none
+}
+
+.layui-laypage a,
+a {
+ text-decoration: none
+}
+
+.layui-btn,
+.layui-tree li i,
+.layui-unselect {
+ -moz-user-select: none
+}
+
+.layui-form-select dl,
+.layui-nav-child {
+ min-width: 100%;
+ box-shadow: 0 2px 4px rgba(0, 0, 0, .12)
+}
+
+blockquote,
+body,
+button,
+dd,
+div,
+dl,
+dt,
+form,
+h1,
+h2,
+h3,
+h4,
+h5,
+h6,
+input,
+li,
+ol,
+p,
+pre,
+td,
+textarea,
+th,
+ul {
+ margin: 0;
+ padding: 0;
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0)
+}
+
+a:active,
+a:hover {
+ outline: 0
+}
+
+img {
+ display: inline-block;
+ border: none
+}
+
+li {
+ list-style: none
+}
+
+table {
+ border-collapse: collapse;
+ border-spacing: 0
+}
+
+h1,
+h2,
+h3 {
+ font-size: 14px;
+ font-weight: 400
+}
+
+h4,
+h5,
+h6 {
+ font-size: 100%;
+ font-weight: 400
+}
+
+button,
+input,
+optgroup,
+option,
+select,
+textarea {
+ font-family: inherit;
+ font-size: inherit;
+ font-style: inherit;
+ font-weight: inherit;
+ outline: 0
+}
+
+pre {
+ white-space: pre-wrap;
+ white-space: -moz-pre-wrap;
+ white-space: -pre-wrap;
+ white-space: -o-pre-wrap;
+ word-wrap: break-word
+}
+
+::-webkit-scrollbar {
+ width: 10px;
+ height: 10px
+}
+
+::-webkit-scrollbar-button:vertical {
+ display: none
+}
+
+::-webkit-scrollbar-corner,
+::-webkit-scrollbar-track {
+ background-color: #e2e2e2
+}
+
+::-webkit-scrollbar-thumb {
+ border-radius: 0;
+ background-color: rgba(0, 0, 0, .3)
+}
+
+::-webkit-scrollbar-thumb:vertical:hover {
+ background-color: rgba(0, 0, 0, .35)
+}
+
+::-webkit-scrollbar-thumb:vertical:active {
+ background-color: rgba(0, 0, 0, .38)
+}
+
+@font-face {
+ font-family: layui-icon;
+ src: url(../font/iconfont.eot?v=1.0.7);
+ src: url(../font/iconfont.eot?v=1.0.7#iefix) format('embedded-opentype'), url(../font/iconfont.woff?v=1.0.7) format('woff'), url(../font/iconfont.ttf?v=1.0.7) format('truetype'), url(../font/iconfont.svg?v=1.0.7#iconfont) format('svg')
+}
+
+.layui-icon {
+ font-family: layui-icon!important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale
+}
+
+body {
+ line-height: 24px;
+ font: 14px Helvetica Neue, Helvetica, PingFang SC, \5FAE\8F6F\96C5\9ED1, Tahoma, Arial, sans-serif
+}
+
+.layui-flow-more a cite,
+.layui-laypage em,
+.layui-tree li a cite,
+a cite {
+ font-style: normal
+}
+
+hr {
+ height: 1px;
+ margin: 10px 0;
+ border: 0;
+ background-color: #e2e2e2;
+ clear: both
+}
+
+a {
+ color: #333
+}
+
+a:hover {
+ color: #777
+}
+
+a cite {
+ *cursor: pointer
+}
+
+.layui-box,
+.layui-box * {
+ -webkit-box-sizing: content-box!important;
+ -moz-box-sizing: content-box!important;
+ box-sizing: content-box!important
+}
+
+.layui-border-box,
+.layui-border-box * {
+ -webkit-box-sizing: border-box!important;
+ -moz-box-sizing: border-box!important;
+ box-sizing: border-box!important
+}
+
+.layui-clear {
+ clear: both;
+ *zoom: 1
+}
+
+.layui-clear:after {
+ content: '\20';
+ clear: both;
+ *zoom: 1;
+ display: block;
+ height: 0
+}
+
+.layui-inline {
+ position: relative;
+ display: inline-block;
+ margin-right: 5px;
+ *display: inline;
+ *zoom: 1
+}
+
+.layui-edge {
+ position: absolute;
+ width: 0;
+ height: 0;
+ border-style: dashed;
+ border-color: transparent;
+ overflow: hidden
+}
+
+.layui-elip {
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap
+}
+
+.layui-disabled,
+.layui-disabled:hover {
+ color: #d2d2d2!important;
+ cursor: not-allowed!important
+}
+
+.layui-circle {
+ border-radius: 100%
+}
+
+.layui-show {
+ display: block!important
+}
+
+.layui-hide {
+ display: none!important
+}
+
+.layui-main {
+ position: relative;
+ width: 1140px;
+ margin: 0 auto
+}
+
+.layui-header {
+ position: relative;
+ z-index: 1000;
+ height: 65px
+}
+
+.layui-header a:hover {
+ transition: all .5s;
+ -webkit-transition: all .5s
+}
+
+.layui-side {
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ z-index: 999;
+ width: 200px;
+ overflow-x: hidden
+}
+
+.layui-side-scroll {
+ width: 220px;
+ height: 100%;
+ overflow-x: hidden
+}
+
+.layui-body {
+ position: absolute;
+ left: 200px;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ z-index: 998;
+ width: auto;
+ overflow: hidden;
+ overflow-y: auto;
+ -webkit-box-sizing: border-box;
+ -moz-box-sizing: border-box;
+ box-sizing: border-box
+}
+
+.layui-layout-admin .layui-header {
+
+}
+
+.layui-layout-admin .layui-side {
+ top: 52px;
+ width: 200px;
+ overflow-x: hidden
+}
+
+.layui-layout-admin .layui-body {
+ top: 52px;
+ bottom: 44px
+}
+
+.layui-layout-admin .layui-main {
+ width: auto;
+ margin: 0 15px
+}
+
+.layui-layout-admin .layui-footer {
+ position: fixed;
+ left: 200px;
+ right: 0;
+ bottom: 0;
+ height: 44px;
+ background-color: #eee
+}
+
+.layui-btn,
+.layui-input,
+.layui-select,
+.layui-textarea,
+.layui-upload-button {
+ outline: 0;
+ -webkit-transition: border-color .3s cubic-bezier(.65, .05, .35, .5);
+ transition: border-color .3s cubic-bezier(.65, .05, .35, .5);
+ -webkit-box-sizing: border-box!important;
+ -moz-box-sizing: border-box!important;
+ box-sizing: border-box!important
+}
+
+.layui-elem-quote {
+ margin-bottom: 10px;
+ padding: 15px;
+ line-height: 22px;
+ border-left: 5px solid #2299ee;
+ border-radius: 0 2px 2px 0;
+ background-color: #f2f2f2
+}
+
+.layui-quote-nm {
+ border-color: #e2e2e2;
+ border-style: solid;
+ border-width: 1px 1px 1px 5px;
+ background: 0 0
+}
+
+.layui-elem-field {
+ margin-bottom: 10px;
+ padding: 0;
+ border: 1px solid #e2e2e2
+}
+
+.layui-elem-field legend {
+ margin-left: 20px;
+ padding: 0 10px;
+ font-size: 20px;
+ font-weight: 300
+}
+
+.layui-field-title {
+ margin: 10px 0 20px;
+ border: none;
+ border-top: 1px solid #e2e2e2
+}
+
+.layui-field-box {
+ padding: 0px;
+}
+
+.layui-field-title .layui-field-box {
+ padding: 10px 0
+}
+
+.layui-bg-black {
+ background-color: #393D49;
+ color: #c2c2c2
+}
+
+.layui-bg-black a {
+ color: #c2c2c2
+}
+
+.layui-bg-black a:hover {
+ color: #fff
+}
+
+.layui-bg-gray {
+ background-color: #eee;
+ color: #333
+}
+
+.layui-bg-green {
+ background-color: #009688;
+ color: #D7EEE8
+}
+
+.layui-bg-blue {
+ background-color: #1E9FFF;
+ color: #D7EEE8
+}
+
+.layui-word-aux {
+ font-size: 12px;
+ color: #999;
+ padding: 0 5px
+}
+
+.layui-btn {
+ display: inline-block;
+ height: 38px;
+ line-height: 38px;
+ padding: 0 18px;
+ background-color: #009688;
+ color: #fff;
+ white-space: nowrap;
+ text-align: center;
+ border: none;
+ border-radius: 2px;
+ cursor: pointer;
+ opacity: .9;
+ filter: alpha(opacity=90)
+}
+
+.layui-btn:hover {
+ opacity: .8;
+ filter: alpha(opacity=80);
+ color: #fff
+}
+
+.layui-btn:active {
+ opacity: 1;
+ filter: alpha(opacity=100)
+}
+
+.layui-btn+.layui-btn {
+ margin-left: 0px;
+}
+
+.layui-btn-radius {
+ border-radius: 100px
+}
+
+.layui-btn .layui-icon {
+ font-size: 18px;
+ vertical-align: bottom
+}
+
+.layui-btn-primary {
+ border: 1px solid #C9C9C9;
+ background-color: #fff;
+ color: #555
+}
+
+.layui-btn-primary:hover {
+ border-color: #009688;
+ color: #333
+}
+
+.layui-btn-normal {
+ background-color: #1E9FFF
+}
+
+.layui-btn-warm {
+ background-color: #F7B824
+}
+
+.layui-btn-danger {
+ background-color: #FF5722
+}
+
+.layui-btn-disabled,
+.layui-btn-disabled:active,
+.layui-btn-disabled:hover {
+ border: 1px solid #e6e6e6;
+ background-color: #FBFBFB;
+ color: #C9C9C9;
+ cursor: not-allowed;
+ opacity: 1
+}
+
+.layui-btn-big {
+ height: 44px;
+ line-height: 44px;
+ padding: 0 25px;
+ font-size: 16px
+}
+
+.layui-btn-small {
+ height: 30px;
+ line-height: 30px;
+ padding: 0 10px;
+ font-size: 12px
+}
+
+.layui-btn-small i {
+ font-size: 16px!important
+}
+
+.layui-btn-mini {
+ height: 22px;
+ line-height: 22px;
+ padding: 0 5px;
+ font-size: 12px
+}
+
+.layui-btn-mini i {
+ font-size: 14px!important
+}
+
+.layui-input,
+.layui-select,
+.layui-textarea {
+ height: 38px;
+ line-height: 38px;
+ line-height: 36px\9;
+ border: 1px solid #e6e6e6;
+ background-color: #fff;
+ border-radius: 2px
+}
+
+.layui-form-label,
+.layui-form-mid,
+.layui-textarea {
+ line-height: 20px;
+ position: relative
+}
+
+.layui-input,
+.layui-textarea {
+ display: block;
+ width: 100%;
+ padding-left: 10px
+}
+
+.layui-input:hover,
+.layui-textarea:hover {
+ border-color: #D2D2D2!important
+}
+
+.layui-input:focus,
+.layui-textarea:focus {
+ border-color: #C9C9C9!important
+}
+
+.layui-textarea {
+ min-height: 100px;
+ height: auto;
+ padding: 6px 10px;
+ resize: vertical
+}
+
+.layui-select {
+ padding: 0 10px
+}
+
+.layui-form input[type=checkbox],
+.layui-form input[type=radio],
+.layui-form select {
+ display: none
+}
+
+.layui-form-item {
+ margin-bottom: 15px;
+ clear: both;
+ *zoom: 1
+}
+
+.layui-form-item:after {
+ content: '\20';
+ clear: both;
+ *zoom: 1;
+ display: block;
+ height: 0
+}
+
+.layui-form-label {
+ float: left;
+ display: block;
+ padding: 9px 15px;
+ width: 80px;
+ font-weight: 400;
+ text-align: right
+}
+
+.layui-form-item .layui-inline {
+ margin-bottom: 5px;
+ margin-right: 10px
+}
+
+.layui-input-block,
+.layui-input-inline {
+ position: relative
+}
+
+.layui-input-block {
+ margin-left: 110px;
+ min-height: 36px
+}
+
+.layui-input-inline {
+ display: inline-block;
+ vertical-align: middle
+}
+
+.layui-form-item .layui-input-inline {
+ float: left;
+ width: 190px;
+ margin-right: 10px
+}
+
+.layui-form-text .layui-input-inline {
+ width: auto
+}
+
+.layui-form-mid {
+ float: left;
+ display: block;
+ padding: 8px 0;
+ margin-right: 10px
+}
+
+.layui-form-danger+.layui-form-select .layui-input,
+.layui-form-danger:focus {
+ border: 1px solid #FF5722!important
+}
+
+.layui-form-select {
+ position: relative
+}
+
+.layui-form-select .layui-input {
+ padding-right: 30px;
+ cursor: pointer
+}
+
+.layui-form-select .layui-edge {
+ position: absolute;
+ right: 10px;
+ top: 50%;
+ margin-top: -3px;
+ cursor: pointer;
+ border-width: 6px;
+ border-top-color: #c2c2c2;
+ border-top-style: solid;
+ transition: all .3s;
+ -webkit-transition: all .3s
+}
+
+.layui-form-checkbox,
+.layui-form-switch {
+ -webkit-transition: .1s linear;
+ cursor: pointer
+}
+
+.layui-form-select dl {
+ display: none;
+ position: absolute;
+ left: 0;
+ top: 42px;
+ padding: 5px 0;
+ z-index: 999;
+ border: 1px solid #d2d2d2;
+ max-height: 300px;
+ overflow-y: auto;
+ background-color: #fff;
+ border-radius: 2px;
+ box-sizing: border-box
+}
+
+.layui-form-select dl dd,
+.layui-form-select dl dt {
+ padding: 0 10px;
+ line-height: 36px;
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis
+}
+
+.layui-form-select dl dt {
+ font-size: 12px;
+ color: #999
+}
+
+.layui-form-select dl dd {
+ cursor: pointer
+}
+
+.layui-form-select dl dd:hover {
+ background-color: #f2f2f2;
+}
+
+.layui-form-select .layui-select-group dd {
+ padding-left: 20px
+}
+
+.layui-form-select dl dd.layui-this {
+ background-color: #2299ee;
+ color: #fff
+}
+
+.layui-form-checkbox,
+.layui-form-select dl dd.layui-disabled {
+ background-color: #fff
+}
+
+.layui-form-selected dl {
+ display: block
+}
+
+.layui-form-checkbox,
+.layui-form-checkbox *,
+.layui-form-radio,
+.layui-form-radio *,
+.layui-form-switch {
+ display: inline-block;
+ vertical-align: middle
+}
+
+.layui-form-selected .layui-edge {
+ margin-top: -9px;
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg);
+ margin-top: -3px\9
+}
+
+:root .layui-form-selected .layui-edge {
+ margin-top: -9px\0/IE9
+}
+
+.layui-select-disabled .layui-disabled {
+ border-color: #eee!important
+}
+
+.layui-select-disabled .layui-edge {
+ border-top-color: #d2d2d2
+}
+
+.layui-form-checkbox {
+ position: relative;
+ height: 30px;
+ line-height: 28px;
+ margin: 4px 10px 0 0;
+ padding-right: 30px;
+ border: 1px solid #d2d2d2;
+ font-size: 0;
+ border-radius: 2px;
+ transition: .1s linear;
+ box-sizing: border-box!important
+}
+
+.layui-form-checkbox:hover {
+ border: 1px solid #c2c2c2
+}
+
+.layui-form-checkbox span {
+ padding: 0 10px;
+ font-size: 14px;
+ background-color: #d2d2d2;
+ color: #fff;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.layui-form-checkbox:hover span {
+ background-color: #c2c2c2
+}
+
+.layui-form-checkbox i {
+ position: absolute;
+ right: 0;
+ width: 37px;
+ color: #fff;
+ font-size: 20px
+}
+
+.layui-form-checkbox:hover i {
+ color: #c2c2c2
+}
+
+.layui-form-checked,
+.layui-form-checked:hover {
+ border: 1px solid #2299ee
+}
+
+.layui-form-checked span,
+.layui-form-checked:hover span {
+ background-color: #2299ee
+}
+
+.layui-form-checked i,
+.layui-form-checked:hover i {
+ color: #2299ee
+}
+
+.layui-form-switch {
+ position: relative;
+ height: 22px;
+ line-height: 22px;
+ width: 40px;
+ padding: 0 5px;
+ margin-top: 8px;
+ border: 1px solid #d2d2d2;
+ border-radius: 20px;
+ background-color: #fff;
+ transition: .1s linear
+}
+
+.layui-form-switch i {
+ position: absolute;
+ left: 5px;
+ top: 3px;
+ width: 16px;
+ height: 16px;
+ border-radius: 20px;
+ background-color: #d2d2d2;
+ -webkit-transition: .1s linear;
+ transition: .1s linear
+}
+
+.layui-form-onswitch {
+ border-color: #2299ee;
+ background-color: #2299ee;
+}
+
+.layui-form-onswitch:before {
+ content: 'ON';
+ color: #fff
+}
+
+.layui-form-onswitch i {
+ left: 30px;
+ background-color: #fff
+}
+
+.layui-checkbox-disbaled {
+ border-color: #e2e2e2!important
+}
+
+.layui-checkbox-disbaled span {
+ background-color: #e2e2e2!important
+}
+
+.layui-checkbox-disbaled:hover i {
+ color: #fff!important
+}
+
+.layui-form-radio {
+ line-height: 28px;
+ margin: 6px 10px 0 0;
+ padding-right: 10px;
+ cursor: pointer;
+ font-size: 0
+}
+
+.layui-form-radio i {
+ margin-right: 8px;
+ font-size: 22px;
+ color: #c2c2c2
+}
+
+.layui-form-radio span {
+ font-size: 14px
+}
+
+.layui-form-radio i:hover,
+.layui-form-radioed i {
+ color: #2299ee;
+}
+
+.layui-radio-disbaled i {
+ color: #e2e2e2!important
+}
+
+.layui-form-pane .layui-form-label {
+ width: 80px;
+ padding: 8px 15px;
+ line-height: 20px;
+ border: 1px solid #e6e6e6;
+ border-radius: 2px 0 0 2px;
+ text-align: center;
+ background-color: #FBFBFB;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis
+}
+
+.layui-form-pane .layui-input-inline {
+ margin-left: -1px
+}
+
+.layui-form-pane .layui-input-block {
+ margin-left: 112px;
+ left: -1px
+}
+
+.layui-form-pane .layui-input {
+ border-radius: 0 2px 2px 0
+}
+
+.layui-form-pane .layui-form-text .layui-form-label {
+ float: none;
+ width: 100%;
+ border-right: 1px solid #e6e6e6;
+ border-radius: 2px;
+ box-sizing: border-box!important;
+ text-align: left
+}
+
+.layui-laypage button,
+.layui-laypage input,
+.layui-nav {
+ -webkit-box-sizing: border-box!important;
+ -moz-box-sizing: border-box!important
+}
+
+.layui-form-pane .layui-form-text .layui-input-inline {
+ display: block;
+ margin: 0;
+ top: -1px;
+ clear: both
+}
+
+.layui-form-pane .layui-form-text .layui-input-block {
+ margin: 0;
+ left: 0;
+ top: -1px
+}
+
+.layui-form-pane .layui-form-text .layui-textarea {
+ min-height: 100px;
+ border-radius: 0 0 2px 2px
+}
+
+.layui-form-pane .layui-input:hover,
+.layui-form-pane .layui-textarea:hover {
+ border-color: #e6e6e6!important
+}
+
+.layui-form-pane .layui-input:focus,
+.layui-form-pane .layui-textarea:focus {
+ border-color: #e6e6e6!important
+}
+
+.layui-form-pane .layui-form-checkbox {
+ margin: 0 0 10px 10px
+}
+
+.layui-form-pane .layui-form-radio,
+.layui-form-pane .layui-form-switch {
+ margin-left: 10px
+}
+
+.layui-layedit {
+ border: 1px solid #d2d2d2;
+ border-radius: 2px
+}
+
+.layui-layedit-tool {
+ padding: 3px 5px;
+ border-bottom: 1px solid #e2e2e2;
+ font-size: 0
+}
+
+.layedit-tool-fixed {
+ position: fixed;
+ top: 0;
+ border-top: 1px solid #e2e2e2
+}
+
+.layui-layedit-tool .layedit-tool-mid,
+.layui-layedit-tool .layui-icon {
+ display: inline-block;
+ vertical-align: middle;
+ text-align: center;
+ font-size: 14px
+}
+
+.layui-layedit-tool .layui-icon {
+ position: relative;
+ width: 32px;
+ height: 30px;
+ line-height: 30px;
+ margin: 3px 5px;
+ color: #777;
+ cursor: pointer;
+ border-radius: 2px
+}
+
+.layui-layedit-tool .layui-icon:hover {
+ color: #393D49
+}
+
+.layui-layedit-tool .layui-icon:active {
+ color: #000
+}
+
+.layui-layedit-tool .layedit-tool-active {
+ background-color: #e2e2e2;
+ color: #000
+}
+
+.layui-layedit-tool .layui-disabled,
+.layui-layedit-tool .layui-disabled:hover {
+ color: #d2d2d2;
+ cursor: not-allowed
+}
+
+.layui-layedit-tool .layedit-tool-mid {
+ width: 1px;
+ height: 18px;
+ margin: 0 10px;
+ background-color: #d2d2d2
+}
+
+.layedit-tool-html {
+ width: 50px!important;
+ font-size: 30px!important
+}
+
+.layedit-tool-b,
+.layedit-tool-code,
+.layedit-tool-help {
+ font-size: 16px!important
+}
+
+.layedit-tool-d,
+.layedit-tool-face,
+.layedit-tool-image,
+.layedit-tool-unlink {
+ font-size: 18px!important
+}
+
+.layedit-tool-image input {
+ position: absolute;
+ font-size: 0;
+ left: 0;
+ top: 0;
+ width: 100%;
+ height: 100%;
+ opacity: .01;
+ filter: Alpha(opacity=1);
+ cursor: pointer
+}
+
+.layui-layedit-iframe iframe {
+ display: block;
+ width: 100%
+}
+
+#LAY_layedit_code {
+ overflow: hidden
+}
+
+.layui-table {
+ width: 100%;
+ margin: 10px 0;
+ background-color: #fff
+}
+
+.layui-table tr {
+ transition: all .3s;
+ -webkit-transition: all .3s
+}
+
+.layui-table thead tr {
+ background-color: #f2f2f2
+}
+
+.layui-table th {
+ text-align: left
+}
+
+.layui-table td,
+.layui-table th {
+ padding: 9px 15px;
+ min-height: 20px;
+ line-height: 20px;
+ border: 1px solid #e2e2e2;
+ font-size: 14px
+}
+
+.layui-table tr:hover,
+.layui-table[lay-even] tr:nth-child(even) {
+ background-color: #f8f8f8
+}
+
+.layui-table[lay-skin=line],
+.layui-table[lay-skin=row] {
+ border: 1px solid #e2e2e2
+}
+
+.layui-table[lay-skin=line] td,
+.layui-table[lay-skin=line] th {
+ border: none;
+ border-bottom: 1px solid #e2e2e2
+}
+
+.layui-table[lay-skin=row] td,
+.layui-table[lay-skin=row] th {
+ border: none;
+ border-right: 1px solid #e2e2e2
+}
+
+.layui-table[lay-skin=nob] td,
+.layui-table[lay-skin=nob] th {
+ border: none
+}
+
+.layui-upload-button {
+ position: relative;
+ display: inline-block;
+ vertical-align: middle;
+ min-width: 60px;
+ height: 38px;
+ line-height: 38px;
+ border: 1px solid #DFDFDF;
+ border-radius: 2px;
+ overflow: hidden;
+ background-color: #fff;
+ color: #666
+}
+
+.layui-upload-button:hover {
+ border: 1px solid #aaa;
+ color: #333
+}
+
+.layui-upload-button:active {
+ border: 1px solid #4CAF50;
+ color: #000
+}
+
+.layui-upload-button input,
+.layui-upload-file {
+ opacity: .01;
+ filter: Alpha(opacity=1);
+ cursor: pointer
+}
+
+.layui-upload-button input {
+ position: absolute;
+ left: 0;
+ top: 0;
+ z-index: 10;
+ font-size: 100px;
+ width: 100%;
+ height: 100%
+}
+
+.layui-upload-icon {
+ display: block;
+ margin: 0 15px;
+ text-align: center
+}
+
+.layui-upload-icon i {
+ margin-right: 5px;
+ vertical-align: top;
+ font-size: 20px;
+ color: #2299ee;
+}
+
+.layui-upload-iframe {
+ position: absolute;
+ width: 0;
+ height: 0;
+ border: 0;
+ visibility: hidden
+}
+
+.layui-upload-enter {
+ border: 1px solid #009E94;
+ background-color: #009E94;
+ color: #fff;
+ -webkit-transform: scale(1.1);
+ transform: scale(1.1)
+}
+
+.layui-upload-enter .layui-upload-icon,
+.layui-upload-enter .layui-upload-icon i {
+ color: #fff
+}
+
+.layui-flow-more {
+ margin: 10px 0;
+ text-align: center;
+ color: #999;
+ font-size: 14px
+}
+
+.layui-flow-more a {
+ height: 32px;
+ line-height: 32px
+}
+
+.layui-flow-more a * {
+ display: inline-block;
+ vertical-align: top
+}
+
+.layui-flow-more a cite {
+ padding: 0 20px;
+ border-radius: 3px;
+ background-color: #eee;
+ color: #333
+}
+
+.layui-flow-more a cite:hover {
+ opacity: .8
+}
+
+.layui-flow-more a i {
+ font-size: 30px;
+ color: #737383
+}
+
+.layui-laypage {
+ display: inline-block;
+ *display: inline;
+ *zoom: 1;
+ vertical-align: middle;
+ margin: 10px 0;
+ font-size: 0
+}
+
+.layui-laypage>:first-child,
+.layui-laypage>:first-child em {
+ border-radius: 2px 0 0 2px
+}
+
+.layui-laypage>:last-child,
+.layui-laypage>:last-child em {
+ border-radius: 0 2px 2px 0
+}
+
+.layui-laypage a,
+.layui-laypage span {
+ display: inline-block;
+ *display: inline;
+ *zoom: 1;
+ vertical-align: middle;
+ padding: 0 15px;
+ border: 1px solid #e2e2e2;
+ height: 28px;
+ line-height: 28px;
+ margin: 0 -1px 5px 0;
+ background-color: #fff;
+ color: #333;
+ font-size: 12px
+}
+
+.layui-laypage span {
+ color: #999;
+ font-weight: 700
+}
+
+.layui-laypage .layui-laypage-curr {
+ position: relative
+}
+
+.layui-laypage .layui-laypage-curr em {
+ position: relative;
+ color: #fff;
+ font-weight: 400
+}
+
+.layui-laypage .layui-laypage-curr .layui-laypage-em {
+ position: absolute;
+ left: -1px;
+ top: -1px;
+ padding: 1px;
+ width: 100%;
+ height: 100%;
+ background-color: #009688
+}
+
+.layui-laypage-em {
+ border-radius: 2px
+}
+
+.layui-laypage-next em,
+.layui-laypage-prev em {
+ font-family: Sim sun;
+ font-size: 16px
+}
+
+.layui-laypage .layui-laypage-total {
+ height: 30px;
+ line-height: 30px;
+ margin-left: 1px;
+ border: none;
+ font-weight: 400
+}
+
+.layui-laypage button,
+.layui-laypage input {
+ height: 30px;
+ line-height: 30px;
+ border: 1px solid #e2e2e2;
+ border-radius: 2px;
+ vertical-align: top;
+ background-color: #fff;
+ box-sizing: border-box!important
+}
+
+.layui-laypage input {
+ width: 50px;
+ margin: 0 5px;
+ text-align: center
+}
+
+.layui-laypage button {
+ margin-left: 5px;
+ padding: 0 15px;
+ cursor: pointer
+}
+
+.layui-code {
+ position: relative;
+ margin: 10px 0;
+ padding: 15px;
+ line-height: 20px;
+ border: 1px solid #ddd;
+ border-left-width: 6px;
+ background-color: #F2F2F2;
+ color: #333;
+ font-family: Courier New;
+ font-size: 12px
+}
+
+.layui-tree {
+ line-height: 26px
+}
+
+.layui-tree li {
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap
+}
+
+.layui-tree li .layui-tree-spread,
+.layui-tree li a {
+ display: inline-block;
+ vertical-align: top;
+ height: 26px;
+ *display: inline;
+ *zoom: 1;
+ cursor: pointer
+}
+
+.layui-tree li a {
+ font-size: 0
+}
+
+.layui-tree li a i {
+ font-size: 16px
+}
+
+.layui-tree li a cite {
+ padding: 0 6px;
+ font-size: 14px
+}
+
+.layui-tree li i {
+ padding-left: 6px;
+ color: #333
+}
+
+.layui-tree li .layui-tree-check {
+ font-size: 13px
+}
+
+.layui-tree li .layui-tree-check:hover {
+ color: #009E94
+}
+
+.layui-tree li ul {
+ display: none;
+ margin-left: 20px
+}
+
+.layui-tree li .layui-tree-enter {
+ line-height: 24px;
+ border: 1px dotted #000
+}
+
+.layui-tree-drag {
+ display: none;
+ position: absolute;
+ left: -666px;
+ top: -666px;
+ background-color: #f2f2f2;
+ padding: 5px 10px;
+ border: 1px dotted #000;
+ white-space: nowrap
+}
+
+.layui-nav .layui-nav-item,
+.layui-tab-title li {
+ display: inline-block;
+ *zoom: 1;
+ vertical-align: middle
+}
+
+.layui-tree-drag i {
+ padding-right: 5px
+}
+
+.layui-nav {
+ position: relative;
+ padding: 0 0px;
+ background-color: #393D49;
+ color: #c2c2c2;
+ border-radius: 2px;
+ font-size: 0;
+ box-sizing: border-box!important
+}
+
+.layui-nav * {
+ font-size: 14px
+}
+
+.layui-nav .layui-nav-item {
+ position: relative;
+ *display: inline;
+ line-height: 60px
+}
+
+.layui-nav .layui-nav-item a {
+ display: block;
+ padding: 0 20px;
+ color: #c2c2c2;
+ transition: all .3s;
+ -webkit-transition: all .3s
+}
+
+.layui-nav .layui-this:after,
+.layui-nav-bar,
+.layui-nav-tree .layui-nav-itemed:after {
+ position: absolute;
+ left: 0;
+ top: 0;
+ width: 0;
+ height: 5px;
+ background-color:#2299ee;
+ transition: all .2s;
+ -webkit-transition: all .2s
+}
+
+.layui-nav-bar {
+ z-index: 1000
+}
+
+.layui-nav .layui-nav-item a:hover,
+.layui-nav .layui-this a {
+ color: #fff
+}
+
+.layui-nav .layui-this:after {
+ content: '';
+ top: auto;
+ bottom: 0;
+ width: 100%
+}
+
+.layui-nav .layui-nav-more {
+ content: '';
+ width: 0;
+ height: 0;
+ border-style: solid dashed dashed;
+ border-color: #c2c2c2 transparent transparent;
+ overflow: hidden;
+ cursor: pointer;
+ transition: all .2s;
+ -webkit-transition: all .2s;
+ position: absolute;
+ top: 18px;
+ right: 3px;
+ border-width: 6px
+}
+
+.layui-nav .layui-nav-mored,
+.layui-nav-itemed .layui-nav-more {
+ top: 12px;
+ border-style: dashed dashed solid;
+ border-color: transparent transparent #c2c2c2
+}
+
+.layui-nav-child {
+ display: none;
+ position: absolute;
+ left: 0;
+ top: 57px;
+ line-height: 36px;
+ padding: 5px 0;
+ border: 1px solid #d2d2d2;
+ background-color: #fff;
+ z-index: 100;
+ border-radius: 2px;
+ white-space: nowrap
+}
+
+.layui-nav .layui-nav-child a {
+ color: #333
+}
+
+.layui-nav .layui-nav-child a:hover {
+ background-color: #2299ee;
+ color: #333
+}
+
+.layui-nav-child dd {
+ position: relative
+}
+
+.layui-nav-child dd.layui-this {
+ background-color: #2299ee;
+ color: #fff
+}
+
+.layui-nav-child dd.layui-this a {
+ color: #fff
+}
+
+.layui-nav-child dd.layui-this:after {
+ display: none
+}
+
+.layui-nav-tree {
+ width: 200px;
+ padding: 0
+}
+
+.layui-nav-tree .layui-nav-item {
+ display: block;
+ width: 100%;
+ line-height: 45px
+}
+
+.layui-nav-tree .layui-nav-item a {
+ height: 45px;
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap
+}
+
+.layui-nav-tree .layui-nav-item a:hover {
+ background-color: #4E5465
+}
+
+.layui-nav-tree .layui-nav-child dd.layui-this,
+.layui-nav-tree .layui-this,
+.layui-nav-tree .layui-this>a,
+.layui-nav-tree .layui-this>a:hover {
+ background-color: ;
+ color: #fff
+}
+
+.layui-nav-tree .layui-this:after {
+ display: none
+}
+
+.layui-nav-itemed>a,
+.layui-nav-tree .layui-nav-title a,
+.layui-nav-tree .layui-nav-title a:hover {
+ background-color: #2B2E37!important;
+ color: #fff!important
+}
+
+.layui-nav-tree .layui-nav-bar {
+ width: 5px;
+ height: 0;
+ background-color: #2299ee;
+}
+
+.layui-nav-tree .layui-nav-child {
+ position: relative;
+ z-index: 0;
+ top: 0;
+ border: none;
+ box-shadow: none
+}
+
+.layui-nav-tree .layui-nav-child a {
+ height: 40px;
+ line-height: 40px;
+ color: #c2c2c2
+}
+
+.layui-nav-tree .layui-nav-child,
+.layui-nav-tree .layui-nav-child a:hover {
+ background: 0 0;
+ color: #fff
+}
+
+.layui-nav-tree .layui-nav-more {
+ top: 20px;
+ right: 10px
+}
+
+.layui-nav-itemed .layui-nav-more {
+ top: 14px
+}
+
+.layui-nav-itemed .layui-nav-child {
+ display: block;
+ padding: 0
+}
+
+.layui-nav-side {
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ overflow-x: hidden;
+ z-index: 999
+}
+
+.layui-breadcrumb {
+ visibility: hidden;
+ font-size: 0
+}
+
+.layui-breadcrumb a {
+ padding-right: 8px;
+ line-height: 22px;
+ font-size: 14px;
+ color: #333!important
+}
+
+.layui-breadcrumb a:hover {
+ color: #01AAED!important
+}
+
+.layui-breadcrumb a cite,
+.layui-breadcrumb a span {
+ color: #666;
+ cursor: text;
+ font-style: normal
+}
+
+.layui-breadcrumb a span {
+ padding-left: 8px;
+ font-family: Sim sun
+}
+
+.layui-tab {
+ margin: 0px 0;
+ overflow: hidden;
+ text-align: left!important
+}
+
+.layui-fixbar li,
+.layui-tab-bar,
+.layui-tab-title li,
+.layui-util-face ul li {
+ cursor: pointer;
+ text-align: center
+}
+
+.layui-tab-title {
+ position: relative;
+ left: 0;
+ height: 38px;
+ white-space: nowrap;
+ font-size: 0;
+ border-bottom: 1px solid #e2e2e2;
+ transition: all .2s;
+ -webkit-transition: all .2s
+}
+
+.layui-tab-title li {
+ *display: inline;
+ font-size: 14px;
+ transition: all .3s;
+ -webkit-transition: all .3s;
+ position: relative;
+ line-height: 38px;
+ min-width: 65px;
+ padding: 0 10px;
+ border: none;
+}
+
+.layui-tab-title .layui-this {
+ color: #000
+}
+
+.layui-tab-title .layui-this:after {
+ position: absolute;
+ left: 0;
+ top: 0;
+ content: '';
+ width: 100%;
+ height: 41px;
+ border-bottom-color: #fff;
+ border-radius: 2px 2px 0 0;
+ -webkit-box-sizing: border-box!important;
+ -moz-box-sizing: border-box!important;
+ box-sizing: border-box!important;
+ pointer-events: none
+}
+
+.layui-tab-bar {
+ position: absolute;
+ right: 0;
+ top: 0;
+ width: 30px;
+ height: 39px;
+ line-height: 39px;
+ border: 1px solid #e2e2e2;
+ border-radius: 2px;
+ background-color: #fff
+}
+
+.layui-tab-bar .layui-icon {
+ position: relative;
+ display: inline-block;
+ top: 3px;
+ transition: all .3s;
+ -webkit-transition: all .3s
+}
+
+.layui-tab-item,
+.layui-util-face .layui-layer-TipsG {
+ display: none
+}
+
+.layui-tab-more {
+ padding-right: 30px;
+ height: auto;
+ white-space: normal
+}
+
+.layui-tab-more li.layui-this:after {
+ border-bottom-color: #e2e2e2;
+ border-radius: 2px
+}
+
+.layui-tab-more .layui-tab-bar .layui-icon {
+ top: -2px;
+ top: 3px\9;
+ -webkit-transform: rotate(180deg);
+ transform: rotate(180deg)
+}
+
+:root .layui-tab-more .layui-tab-bar .layui-icon {
+ top: -2px\0/IE9
+}
+
+.layui-tab-content {
+ padding: 10px
+}
+
+.layui-tab-title li .layui-tab-close {
+ position: relative;
+ margin-left: 8px;
+ top: 1px;
+ color: #c2c2c2
+}
+
+.layui-tab-title li .layui-tab-close:hover {
+ border-radius: 10px;
+ background-color: #FF5722;
+ color: #fff
+}
+
+.layui-tab-brief>.layui-tab-title .layui-this {
+ color: #009688
+}
+
+.layui-tab-brief>.layui-tab-more li.layui-this:after,
+.layui-tab-brief>.layui-tab-title .layui-this:after {
+ border: none;
+ border-radius: 0;
+ border-bottom: 3px solid #2299ee;
+}
+
+.layui-tab-card {
+
+}
+
+.layui-tab-card>.layui-tab-title {
+ background-color: #fff;
+}
+
+.layui-tab-card>.layui-tab-title li {
+ margin-right: -1px;
+ margin-left: -1px
+}
+
+.layui-tab-card>.layui-tab-title .layui-this {
+ background-color: #fff
+}
+
+.layui-tab-card>.layui-tab-title .layui-this:after {
+ border-top: none;
+ border-width: 1px;
+ border-bottom-color: #fff
+}
+
+.layui-tab-card>.layui-tab-title .layui-tab-bar {
+ height: 40px;
+ line-height: 40px;
+ border-radius: 0;
+ border-top: none;
+ border-right: none
+}
+
+.layui-tab-card>.layui-tab-more .layui-this {
+ background: 0 0;
+ color: #2299ee;
+}
+
+.layui-tab-card>.layui-tab-more .layui-this:after {
+ border: none
+}
+
+.layui-fixbar {
+ position: fixed;
+ right: 15px;
+ bottom: 15px;
+ z-index: 9999
+}
+
+.layui-fixbar li {
+ width: 50px;
+ height: 50px;
+ line-height: 50px;
+ margin-bottom: 1px;
+ font-size: 30px;
+ background-color: #9F9F9F;
+ color: #fff;
+ border-radius: 2px;
+ opacity: .95
+}
+
+.layui-fixbar li:hover {
+ opacity: .85
+}
+
+.layui-fixbar li:active {
+ opacity: 1
+}
+
+.layui-fixbar .layui-fixbar-top {
+ display: none;
+ font-size: 40px
+}
+
+body .layui-util-face {
+ border: none;
+ background: 0 0
+}
+
+body .layui-util-face .layui-layer-content {
+ padding: 0;
+ background-color: #fff;
+ color: #666;
+ box-shadow: none
+}
+
+.layui-util-face ul {
+ position: relative;
+ width: 372px;
+ padding: 10px;
+ border: 1px solid #D9D9D9;
+ background-color: #fff;
+ box-shadow: 0 0 20px rgba(0, 0, 0, .2)
+}
+
+.layui-util-face ul li {
+ float: left;
+ border: 1px solid #e8e8e8;
+ height: 22px;
+ width: 26px;
+ overflow: hidden;
+ margin: -1px 0 0 -1px;
+ padding: 4px 2px
+}
+
+.layui-util-face ul li:hover {
+ position: relative;
+ z-index: 2;
+ border: 1px solid #eb7350;
+ background: #fff9ec
+}
+
+.layui-anim {
+ -webkit-animation-duration: .3s;
+ animation-duration: .3s;
+ -webkit-animation-fill-mode: both;
+ animation-fill-mode: both
+}
+
+.layui-anim-loop {
+ -webkit-animation-iteration-count: infinite;
+ animation-iteration-count: infinite
+}
+
+@-webkit-keyframes layui-rotate {
+ from {
+ -webkit-transform: rotate(0)
+ }
+ to {
+ -webkit-transform: rotate(360deg)
+ }
+}
+
+@keyframes layui-rotate {
+ from {
+ transform: rotate(0)
+ }
+ to {
+ transform: rotate(360deg)
+ }
+}
+
+.layui-anim-rotate {
+ -webkit-animation-name: layui-rotate;
+ animation-name: layui-rotate;
+ -webkit-animation-duration: 1s;
+ animation-duration: 1s;
+ -webkit-animation-timing-function: linear;
+ animation-timing-function: linear
+}
+
+@-webkit-keyframes layui-up {
+ from {
+ -webkit-transform: translate3d(0, 100%, 0);
+ opacity: .3
+ }
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ opacity: 1
+ }
+}
+
+@keyframes layui-up {
+ from {
+ transform: translate3d(0, 100%, 0);
+ opacity: .3
+ }
+ to {
+ transform: translate3d(0, 0, 0);
+ opacity: 1
+ }
+}
+
+.layui-anim-up {
+ -webkit-animation-name: layui-up;
+ animation-name: layui-up
+}
+
+@-webkit-keyframes layui-upbit {
+ from {
+ -webkit-transform: translate3d(0, 30px, 0);
+ opacity: .3
+ }
+ to {
+ -webkit-transform: translate3d(0, 0, 0);
+ opacity: 1
+ }
+}
+
+@keyframes layui-upbit {
+ from {
+ transform: translate3d(0, 30px, 0);
+ opacity: .3
+ }
+ to {
+ transform: translate3d(0, 0, 0);
+ opacity: 1
+ }
+}
+
+.layui-anim-upbit {
+ -webkit-animation-name: layui-upbit;
+ animation-name: layui-upbit
+}
+
+@-webkit-keyframes layui-scale {
+ 0% {
+ opacity: .3;
+ -webkit-transform: scale(.5)
+ }
+ 100% {
+ opacity: 1;
+ -webkit-transform: scale(1)
+ }
+}
+
+@keyframes layui-scale {
+ 0% {
+ opacity: .3;
+ -ms-transform: scale(.5);
+ transform: scale(.5)
+ }
+ 100% {
+ opacity: 1;
+ -ms-transform: scale(1);
+ transform: scale(1)
+ }
+}
+
+.layui-anim-scale {
+ -webkit-animation-name: layui-scale;
+ animation-name: layui-scale
+}
+
+@-webkit-keyframes layui-scale-spring {
+ 0% {
+ opacity: .5;
+ -webkit-transform: scale(.5)
+ }
+ 80% {
+ opacity: .8;
+ -webkit-transform: scale(1.1)
+ }
+ 100% {
+ opacity: 1;
+ -webkit-transform: scale(1)
+ }
+}
+
+@keyframes layui-scale-spring {
+ 0% {
+ opacity: .5;
+ -ms-transform: scale(.5);
+ transform: scale(.5)
+ }
+ 80% {
+ opacity: .8;
+ -ms-transform: scale(1.1);
+ transform: scale(1.1)
+ }
+ 100% {
+ opacity: 1;
+ -ms-transform: scale(1);
+ transform: scale(1)
+ }
+}
+
+.layui-anim-scaleSpring {
+ -webkit-animation-name: layui-scale-spring;
+ animation-name: layui-scale-spring
+}
+
+@media screen and (max-width:450px) {
+ .layui-form-item .layui-form-label {
+ text-overflow: ellipsis;
+ overflow: hidden;
+ white-space: nowrap
+ }
+ .layui-form-item .layui-inline {
+ display: block;
+ margin-right: 0;
+ margin-bottom: 20px;
+ clear: both
+ }
+ .layui-form-item .layui-inline:after {
+ content: '\20';
+ clear: both;
+ display: block;
+ height: 0
+ }
+ .layui-form-item .layui-input-inline {
+ display: block;
+ float: none;
+ left: -1px;
+ width: auto;
+ margin: 0 0 10px 112px
+ }
+ .layui-form-item .layui-input-inline+.layui-form-mid {
+ margin-left: 110px;
+ top: -5px;
+ padding: 0
+ }
+ .layui-form-item .layui-form-checkbox {
+ margin-right: 5px;
+ margin-bottom: 5px
+ }
+}
+
+
+
+.layui-form-checkbox[lay-skin="primary"] {
+ height: auto !important;
+ line-height: normal !important;
+ border: none !important;
+ margin-right: 0;
+ padding-right: 0;
+ background: 0 0;
+}
+.layui-form-checkbox {
+ position: relative;
+ height: 32px;
+ line-height: 30px;
+ margin-right: 10px;
+ padding-right: 28px;
+ border: 1px solid #d2d2d2;
+ cursor: pointer;
+ font-size: 0;
+ border-radius: 2px;
+ -webkit-transition: .1s linear;
+ transition: .1s linear;
+ box-sizing: border-box !important;
+}
+.layui-form-checkbox, .layui-form-checkbox *, .layui-form-radio, .layui-form-radio *, .layui-form-switch {
+ display: inline-block;
+ vertical-align: middle;
+}
+.layui-form input[type="checkbox"], .layui-form input[type="radio"], .layui-form select {
+ display: none;
+}
+button, input, optgroup, option, select, textarea {
+ font-family: inherit;
+ font-size: inherit;
+ font-style: inherit;
+ font-weight: inherit;
+ outline: 0;
+}
+.layui-form-checkbox[lay-skin="primary"]:hover i {
+ border-color: #5FB878;
+ color: #fff;
+}
+.layui-form-checkbox[lay-skin="primary"] i {
+ position: relative;
+ top: 0;
+ width: 16px;
+ line-height: 16px;
+ border: 1px solid #d2d2d2;
+ border-top-color: rgb(210, 210, 210);
+ border-right-color: rgb(210, 210, 210);
+ border-bottom-color: rgb(210, 210, 210);
+ border-left-color: rgb(210, 210, 210);
+ font-size: 12px;
+ border-radius: 2px;
+ background-color: #fff;
+ -webkit-transition: .1s linear;
+ transition: .1s linear;
+}
+.layui-form-checkbox:hover i {
+ color: #c2c2c2;
+}
+.layui-form-checkbox i {
+ position: absolute;
+ right: 0;
+ width: 30px;
+ color: #fff;
+ font-size: 20px;
+ text-align: center;
+}
+.layui-form-checkbox, .layui-form-checkbox *, .layui-form-radio, .layui-form-radio *, .layui-form-switch {
+ display: inline-block;
+ vertical-align: middle;
+}
+.layui-icon {
+ font-family: layui-icon !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.layui-form-checkbox[lay-skin="primary"]:hover i {
+ border-color: #5FB878;
+ color: #fff;
+}
+.layui-form-checked[lay-skin="primary"] i {
+ border-color: #5FB878;
+ background-color: #5FB878;
+ color: #fff;
+}
+.layui-form-checkbox[lay-skin="primary"] i {
+ position: relative;
+ top: 0;
+ width: 16px;
+ line-height: 16px;
+ border: 1px solid #d2d2d2;
+ border-top-color: rgb(210, 210, 210);
+ border-right-color: rgb(210, 210, 210);
+ border-bottom-color: rgb(210, 210, 210);
+ border-left-color: rgb(210, 210, 210);
+ font-size: 12px;
+ border-radius: 2px;
+ background-color: #fff;
+ -webkit-transition: .1s linear;
+ transition: .1s linear;
+}
+.layui-form-checked i, .layui-form-checked:hover i {
+ color: #5FB878;
+}
+.layui-form-checkbox:hover i {
+ color: #c2c2c2;
+}
+.layui-form-checkbox i {
+ position: absolute;
+ right: 0;
+ width: 30px;
+ color: #fff;
+ font-size: 20px;
+ text-align: center;
+}
+.layui-form-checkbox, .layui-form-checkbox *, .layui-form-radio, .layui-form-radio *, .layui-form-switch {
+ display: inline-block;
+ vertical-align: middle;
+ }
+
+.layui-form-switch em {
+ position: absolute;
+ right: 5px;
+ top: 0;
+ width: 25px;
+ padding: 0 !important;
+ text-align: center !important;
+ color: #999 !important;
+ font-style: normal !important;
+ font-size: 12px;
+}
+.news_list .layui-form-switch {
+ margin-top: 0;
+}
+.layui-form-switch {
+ position: relative;
+ font-size: 12px;
+ height: 24px;
+ line-height: 20px;
+ width: 52px;
+ padding: 0 8px;
+ margin-top: 8px;
+ border: 1px solid #d2d2d2;
+ border-radius: 20px;
+ cursor: pointer;
+ background-color: #fff;
+ -webkit-transition: .1s linear;
+ transition: .1s linear;
+}
+.layui-form-checkbox, .layui-form-checkbox *, .layui-form-radio, .layui-form-radio *, .layui-form-switch {
+ display: inline-block;
+ vertical-align: middle;
+}
+.layui-btn, .layui-tree li i, .layui-unselect {
+ -moz-user-select: none;
+}
+.layui-form-onswitch em {
+ left: 5px;
+ right: auto;
+ color: #fff !important;
+}
+.layui-form-onswitch {
+ border-color: #2299ee;
+ background-color: #2299ee;
+ font-size: 12px;
+}
+.layui-form-onswitch i {
+ left: 30px;
+ background-color: #fff;
+}
+.layui-form-switch i {
+ position: absolute;
+ left: 5px;
+ top: 3px;
+ width: 16px;
+ height: 16px;
+ border-radius: 20px;
+ background-color: #d2d2d2;
+ -webkit-transition: .1s linear;
+ transition: .1s linear;
+}
+.layui-form-onswitch i {
+ left: 32px;
+ background-color: #fff;
+}
+.layui-form input[type="checkbox"], .layui-form input[type="radio"], .layui-form select {
+ display: none;
+}
+button, input, optgroup, option, select, textarea {
+ font-family: inherit;
+ font-size: inherit;
+ font-style: inherit;
+ font-weight: inherit;
+ outline: 0;
+}
+
+.news_search{ padding:10px 10px; }
+.layui-table,.layui-table th{ text-align:center; }
+.news_list .layui-form-switch{ margin-top:0; }
+
+/*分页*/
+#page{ text-align:right; }
+
+.layui-form-item {
+ margin-bottom: 15px;
+ clear: both;
+ *zoom: 1;
+}
+.closeBox {
+ position: absolute;
+ right: 0;
+ background-color: #fff !important;
+ color: #000;
+ border-left: 1px solid #e2e2e2;
+ top:5px;
+ height: 38px;
+ line-height: 38px;
+}
+
+.closeBox .layui-nav-item {
+ line-height: 38px;
+}
+.layui-nav .layui-nav-item {
+ position: relative;
+ display: inline-block;
+ *display: inline;
+ *zoom: 1;
+ vertical-align: middle;
+ line-height: 38px;
+}
+.layui-nav * {
+ font-size: 14px;
+}
+li {
+ list-style: none;
+}
+.closeBox .layui-nav-child{
+ top:33px;
+}
+.closeBox .layui-nav-item a, .closeBox .layui-nav-item a:hover {
+ color: #000;
+}
+
+.layui-tab .larry-title-box .go-left {
+ position: absolute;
+ top: 0px;
+ left: 0px;
+ z-index: 1005;
+}
+
+.layui-tab-card1 .layui-tab-title .layui-this {
+ color: #000
+}
+
+.layui-tab-card1 .layui-tab-title .layui-this:after {
+ position: absolute;
+ left: 0;
+ top: 0;
+ content: '';
+ width: 100%;
+ height: 38px;
+ border-bottom-color: #fff;
+ border-radius: 2px 2px 0 0;
+ -webkit-box-sizing: border-box!important;
+ -moz-box-sizing: border-box!important;
+ box-sizing: border-box!important;
+ pointer-events: none;
+ border: 1px solid #e2e2e2;
+ border-bottom: 1px solid #fff;
+}
+
+.layui-tab-card2 {
+ border: 1px solid #e2e2e2;
+ border-radius: 2px;
+ box-shadow: 0 2px 5px 0 rgba(0,0,0,.1);
+}
+.layui-tab-card2 .layui-tab-title{
+ background: #f2f2f2;
+}
+.layui-tab-card2 .layui-tab-title .layui-this {
+ color: #000
+}
+
+.layui-tab-card2 .layui-tab-title .layui-this:after {
+ position: absolute;
+ left: 0;
+ top: 0;
+ content: '';
+ width: 100%;
+ height: 38px;
+ border-bottom-color: #fff;
+ border-radius: 2px 2px 0 0;
+ -webkit-box-sizing: border-box!important;
+ -moz-box-sizing: border-box!important;
+ box-sizing: border-box!important;
+ pointer-events: none;
+ border-right: 1px solid #E2E2E2;
+ border-left: 1px solid #E2E2E2;
+
+}
+
+
+
+
+@font-face {font-family: "iconfont";
+ src: url('//at.alicdn.com/t/font_tnyc012u2rlwstt9.eot?t=1499243955345'); /* IE9*/
+ src: url('//at.alicdn.com/t/font_tnyc012u2rlwstt9.eot?t=1499243955345#iefix') format('embedded-opentype'), /* IE6-IE8 */
+ url('//at.alicdn.com/t/font_tnyc012u2rlwstt9.woff?t=1499243955345') format('woff'), /* chrome, firefox */
+ url('//at.alicdn.com/t/font_tnyc012u2rlwstt9.ttf?t=1499243955345') format('truetype'), /* chrome, firefox, opera, Safari, Android, iOS 4.2+*/
+ url('//at.alicdn.com/t/font_tnyc012u2rlwstt9.svg?t=1499243955345#iconfont') format('svg'); /* iOS 4.1- */
+}
+
+.iconfont {
+ font-family:"iconfont" !important;
+ font-size:16px;
+ font-style:normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-zhanghu:before { content: "\e605"; }
+
+.icon-lock1:before { content: "\e622"; }
+
+.icon-erweima:before { content: "\e62d"; }
+
+.icon-xinlangweibo:before { content: "\e63d"; }
+
+.icon-qq:before { content: "\e63e"; }
+
+.icon-icon:before { content: "\e609"; }
+
+.icon-edit:before { content: "\e602"; }
+
+.icon-computer:before { content: "\e645"; }
+
+.icon-text:before { content: "\e64d"; }
+
+.icon-guanbi:before { content: "\e62f"; }
+
+.icon-loginout:before { content: "\e608"; }
+
+.icon-shuaxin1:before { content: "\e648"; }
+
+.icon-shezhi1:before { content: "\e64a"; }
+
+.icon-gonggao:before { content: "\e614"; }
+
+.icon-menu1:before { content: "\e62a"; }
+
+.icon-wenben:before { content: "\e600"; }
+
+.icon-dengji3:before { content: "\e61e"; }
+
+.icon-dengji1:before { content: "\e628"; }
+
+.icon-dengji2:before { content: "\e629"; }
+
+.icon-dengji4:before { content: "\e62b"; }
+
+.icon-dengji5:before { content: "\e62c"; }
+
+.icon-dengji6:before { content: "\e62e"; }
+
+.icon-new1:before { content: "\e610"; }
+
+.icon-huanfu:before { content: "\e623"; }
+
+.icon-link:before { content: "\e657"; }
+
+.icon-lingsheng:before { content: "\e601"; }
+
+.icon-star:before { content: "\e783"; }
+
+.icon-dongtaifensishu:before { content: "\e603"; }
+
+.icon-prohibit:before { content: "\e73a"; }
+
+.icon-caozuo:before { content: "\e64e"; }
+
+.icon-weather:before { content: "\e89e"; }
+
diff --git a/booksalessm/WebRoot/admin/common/layui/css/layui.mobile.css b/booksalessm/WebRoot/admin/common/layui/css/layui.mobile.css
new file mode 100644
index 0000000..49a8d57
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/layui/css/layui.mobile.css
@@ -0,0 +1,2 @@
+/** layui-v1.0.7 MIT License By http://www.layui.com */
+ blockquote,body,button,dd,div,dl,dt,form,h1,h2,h3,h4,h5,h6,input,legend,li,ol,p,td,textarea,th,ul{margin:0;padding:0;-webkit-tap-highlight-color:rgba(0,0,0,0)}html{font:12px 'Helvetica Neue','PingFang SC',STHeitiSC-Light,Helvetica,Arial,sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}a,button,input{-webkit-tap-highlight-color:rgba(255,0,0,0)}a{text-decoration:none;background:0 0}a:active,a:hover{outline:0}table{border-collapse:collapse;border-spacing:0}li{list-style:none}b,strong{font-weight:700}h1,h2,h3,h4,h5,h6{font-weight:500}address,cite,dfn,em,var{font-style:normal}dfn{font-style:italic}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}img{border:0;vertical-align:bottom}.layui-inline,input,label{vertical-align:middle}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0;outline:0}button,select{text-transform:none}select{-webkit-appearance:none;border:none}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}@font-face{font-family:layui-icon;src:url(../font/iconfont.eot?v=1.0.7);src:url(../font/iconfont.eot?v=1.0.7#iefix) format('embedded-opentype'),url(../font/iconfont.woff?v=1.0.7) format('woff'),url(../font/iconfont.ttf?v=1.0.7) format('truetype'),url(../font/iconfont.svg?v=1.0.7#iconfont) format('svg')}.layui-icon{font-family:layui-icon!important;font-size:16px;font-style:normal;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layui-box,.layui-box *{-webkit-box-sizing:content-box!important;-moz-box-sizing:content-box!important;box-sizing:content-box!important}.layui-border-box,.layui-border-box *{-webkit-box-sizing:border-box!important;-moz-box-sizing:border-box!important;box-sizing:border-box!important}.layui-inline{position:relative;display:inline-block;*display:inline;*zoom:1}.layui-edge{position:absolute;width:0;height:0;border-style:dashed;border-color:transparent;overflow:hidden}.layui-elip{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-unselect{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.layui-disabled,.layui-disabled:active{background-color:#d2d2d2!important;color:#fff!important;cursor:not-allowed!important}.layui-circle{border-radius:100%}.layui-show{display:block!important}.layui-hide{display:none!important}.layui-m-layer{position:relative;z-index:19891014}.layui-m-layer *{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}.layui-m-layermain,.layui-m-layershade{position:fixed;left:0;top:0;width:100%;height:100%}.layui-m-layershade{background-color:rgba(0,0,0,.7);pointer-events:auto}.layui-m-layermain{display:table;font-family:Helvetica,arial,sans-serif;pointer-events:none}.layui-m-layermain .layui-m-layersection{display:table-cell;vertical-align:middle;text-align:center}.layui-m-layerchild{position:relative;display:inline-block;text-align:left;background-color:#fff;font-size:14px;border-radius:5px;box-shadow:0 0 8px rgba(0,0,0,.1);pointer-events:auto;-webkit-overflow-scrolling:touch;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.2s;animation-duration:.2s}@-webkit-keyframes layui-m-anim-scale{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes layui-m-anim-scale{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}.layui-m-anim-scale{animation-name:layui-m-anim-scale;-webkit-animation-name:layui-m-anim-scale}@-webkit-keyframes layui-m-anim-up{0%{opacity:0;-webkit-transform:translateY(800px);transform:translateY(800px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes layui-m-anim-up{0%{opacity:0;-webkit-transform:translateY(800px);transform:translateY(800px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.layui-m-anim-up{-webkit-animation-name:layui-m-anim-up;animation-name:layui-m-anim-up}.layui-m-layer0 .layui-m-layerchild{width:90%;max-width:640px}.layui-m-layer1 .layui-m-layerchild{border:none;border-radius:0}.layui-m-layer2 .layui-m-layerchild{width:auto;max-width:260px;min-width:40px;border:none;background:0 0;box-shadow:none;color:#fff}.layui-m-layerchild h3{padding:0 10px;height:60px;line-height:60px;font-size:16px;font-weight:400;border-radius:5px 5px 0 0;text-align:center}.layui-m-layerbtn span,.layui-m-layerchild h3{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.layui-m-layercont{padding:50px 30px;line-height:22px;text-align:center}.layui-m-layer1 .layui-m-layercont{padding:0;text-align:left}.layui-m-layer2 .layui-m-layercont{text-align:center;padding:0;line-height:0}.layui-m-layer2 .layui-m-layercont i{width:25px;height:25px;margin-left:8px;display:inline-block;background-color:#fff;border-radius:100%;-webkit-animation:layui-m-anim-loading 1.4s infinite ease-in-out;animation:layui-m-anim-loading 1.4s infinite ease-in-out;-webkit-animation-fill-mode:both;animation-fill-mode:both}.layui-m-layerbtn,.layui-m-layerbtn span{position:relative;text-align:center;border-radius:0 0 5px 5px}.layui-m-layer2 .layui-m-layercont p{margin-top:20px}@-webkit-keyframes layui-m-anim-loading{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}@keyframes layui-m-anim-loading{0%,100%,80%{transform:scale(0);-webkit-transform:scale(0)}40%{transform:scale(1);-webkit-transform:scale(1)}}.layui-m-layer2 .layui-m-layercont i:first-child{margin-left:0;-webkit-animation-delay:-.32s;animation-delay:-.32s}.layui-m-layer2 .layui-m-layercont i.layui-m-layerload{-webkit-animation-delay:-.16s;animation-delay:-.16s}.layui-m-layer2 .layui-m-layercont>div{line-height:22px;padding-top:7px;margin-bottom:20px;font-size:14px}.layui-m-layerbtn{display:box;display:-moz-box;display:-webkit-box;width:100%;height:50px;line-height:50px;font-size:0;border-top:1px solid #D0D0D0;background-color:#F2F2F2}.layui-m-layerbtn span{display:block;-moz-box-flex:1;box-flex:1;-webkit-box-flex:1;font-size:14px;cursor:pointer}.layui-m-layerbtn span[yes]{color:#40AFFE}.layui-m-layerbtn span[no]{border-right:1px solid #D0D0D0;border-radius:0 0 0 5px}.layui-m-layerbtn span:active{background-color:#F6F6F6}.layui-m-layerend{position:absolute;right:7px;top:10px;width:30px;height:30px;border:0;font-weight:400;background:0 0;cursor:pointer;-webkit-appearance:none;font-size:30px}.layui-m-layerend::after,.layui-m-layerend::before{position:absolute;left:5px;top:15px;content:'';width:18px;height:1px;background-color:#999;transform:rotate(45deg);-webkit-transform:rotate(45deg);border-radius:3px}.layui-m-layerend::after{transform:rotate(-45deg);-webkit-transform:rotate(-45deg)}body .layui-m-layer .layui-m-layer-footer{position:fixed;width:95%;max-width:100%;margin:0 auto;left:0;right:0;bottom:10px;background:0 0}.layui-m-layer-footer .layui-m-layercont{padding:20px;border-radius:5px 5px 0 0;background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn{display:block;height:auto;background:0 0;border-top:none}.layui-m-layer-footer .layui-m-layerbtn span{background-color:rgba(255,255,255,.8)}.layui-m-layer-footer .layui-m-layerbtn span[no]{color:#FD482C;border-top:1px solid #c2c2c2;border-radius:0 0 5px 5px}.layui-m-layer-footer .layui-m-layerbtn span[yes]{margin-top:10px;border-radius:5px}body .layui-m-layer .layui-m-layer-msg{width:auto;max-width:90%;margin:0 auto;bottom:-150px;background-color:rgba(0,0,0,.7);color:#fff}.layui-m-layer-msg .layui-m-layercont{padding:10px 20px}
\ No newline at end of file
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/code.css b/booksalessm/WebRoot/admin/common/layui/css/modules/code.css
new file mode 100644
index 0000000..d9ee851
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/layui/css/modules/code.css
@@ -0,0 +1,2 @@
+/** layui-v1.0.7 MIT License By http://www.layui.com */
+ html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #ddd;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:30px;line-height:30px;border-bottom:1px solid #ddd}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #ddd;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}
\ No newline at end of file
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/laydate/icon.png b/booksalessm/WebRoot/admin/common/layui/css/modules/laydate/icon.png
new file mode 100644
index 0000000..5a50673
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/css/modules/laydate/icon.png differ
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/laydate/laydate.css b/booksalessm/WebRoot/admin/common/layui/css/modules/laydate/laydate.css
new file mode 100644
index 0000000..f431b55
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/layui/css/modules/laydate/laydate.css
@@ -0,0 +1,2 @@
+/** layui-v1.0.7 MIT License By http://www.layui.com */
+ #layuicss-laydatecss{display:none;position:absolute;width:1989px}.laydate_body .laydate_box,.laydate_body .laydate_box *{margin:0;padding:0;box-sizing:content-box}.laydate-icon,.laydate-icon-dahong,.laydate-icon-danlan,.laydate-icon-default,.laydate-icon-molv{height:22px;line-height:22px;padding-right:20px;border:1px solid #C6C6C6;background-repeat:no-repeat;background-position:right center;background-color:#fff;outline:0}.laydate-icon-default{background-image:url(../skins/default/icon.png)}.laydate-icon-danlan{border:1px solid #B1D2EC;background-image:url(../skins/danlan/icon.png)}.laydate-icon-dahong{background-image:url(../skins/dahong/icon.png)}.laydate-icon-molv{background-image:url(../skins/molv/icon.png)}.laydate_body .laydate_box{width:240px;font:12px '\5B8B\4F53';z-index:99999999;*overflow:hidden;_margin:0;_position:absolute!important}.laydate_body .laydate_box li{list-style:none}.laydate_body .laydate_box .laydate_void{cursor:text!important}.laydate_body .laydate_box cite,.laydate_body .laydate_box label{position:absolute;width:0;height:0;border-width:5px;border-style:dashed;border-color:transparent;overflow:hidden;cursor:pointer}.laydate_body .laydate_box .laydate_time,.laydate_body .laydate_box .laydate_yms{display:none}.laydate_body .laydate_box .laydate_show{display:block}.laydate_body .laydate_box input{outline:0;font-size:14px;background-color:#fff;color:#333}.laydate_body .laydate_top{position:relative;height:26px;padding:5px;*width:100%;z-index:99}.laydate_body .laydate_ym{position:relative;float:left;height:24px;cursor:pointer}.laydate_body .laydate_ym input{float:left;height:24px;line-height:24px;text-align:center;border:none;cursor:pointer}.laydate_body .laydate_ym .laydate_yms{position:absolute;left:-1px;top:24px;height:181px}.laydate_body .laydate_y{width:121px;margin-right:6px}.laydate_body .laydate_y input{width:64px;margin-right:15px}.laydate_body .laydate_y .laydate_yms{width:121px;text-align:center}.laydate_body .laydate_y .laydate_yms a{position:relative;display:block;height:20px}.laydate_body .laydate_y .laydate_yms ul{height:139px;padding:0;*overflow:hidden}.laydate_body .laydate_y .laydate_yms ul li{float:left;width:60px;height:20px;line-height:20px;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}.laydate_body .laydate_m{width:99px}.laydate_body .laydate_m .laydate_yms{width:99px;padding:0}.laydate_body .laydate_m input{width:42px;margin-right:15px}.laydate_body .laydate_m .laydate_yms span{display:block;float:left;width:42px;margin:5px 0 0 5px;line-height:24px;text-align:center;_display:inline}.laydate_body .laydate_choose{display:block;float:left;position:relative;width:20px;height:24px}.laydate_body .laydate_choose cite,.laydate_body .laydate_tab cite{left:50%;top:50%}.laydate_body .laydate_chtop cite{margin:-7px 0 0 -5px;border-bottom-style:solid}.laydate_body .laydate_chdown cite,.laydate_body .laydate_ym label{top:50%;margin:-2px 0 0 -5px;border-top-style:solid}.laydate_body .laydate_chprev cite{margin:-5px 0 0 -7px}.laydate_body .laydate_chnext cite{margin:-5px 0 0 -2px}.laydate_body .laydate_ym label{right:28px}.laydate_body .laydate_table{width:230px;margin:0 5px;border-collapse:collapse;border-spacing:0}.laydate_body .laydate_table td{width:31px;text-align:center;cursor:pointer;font-size:12px}.laydate_body .laydate_table thead th{font-weight:400;font-size:12px;text-align:center}.laydate_body .laydate_bottom{position:relative;height:22px;line-height:20px;padding:5px;font-size:12px}.laydate_body .laydate_bottom #laydate_hms{position:relative;z-index:1;float:left}.laydate_body .laydate_time{position:absolute;left:5px;bottom:26px;width:129px;height:125px;*overflow:hidden}.laydate_body .laydate_time .laydate_hmsno{padding:5px 0 0 5px}.laydate_body .laydate_time .laydate_hmsno span{display:block;float:left;width:24px;height:19px;line-height:19px;text-align:center;cursor:pointer;*margin-bottom:-5px}.laydate_body .laydate_time1{width:228px;height:154px}.laydate_body .laydate_time1 .laydate_hmsno{padding:6px 0 0 8px}.laydate_body .laydate_time1 .laydate_hmsno span{width:21px;height:20px;line-height:20px}.laydate_body .laydate_msg{left:49px;bottom:67px;width:141px;height:auto;overflow:hidden}.laydate_body .laydate_msg p{padding:5px 10px}.laydate_body .laydate_bottom li{float:left;height:20px;line-height:20px;border-right:none;font-weight:900}.laydate_body .laydate_bottom .laydate_sj{width:33px;text-align:center;font-weight:400}.laydate_body .laydate_bottom input{float:left;width:21px;height:20px;line-height:20px;border:none;text-align:center;cursor:pointer;font-size:12px;font-weight:400}.laydate_body .laydate_bottom .laydte_hsmtex{height:20px;line-height:20px;text-align:center}.laydate_body .laydate_bottom .laydte_hsmtex span{position:absolute;width:20px;top:0;right:0;cursor:pointer}.laydate_body .laydate_bottom .laydte_hsmtex span:hover{font-size:14px}.laydate_body .laydate_bottom .laydate_btn{position:absolute;right:5px;top:5px}.laydate_body .laydate_bottom .laydate_btn a{float:left;height:20px;padding:0 6px;_padding:0 5px}.laydate_body .laydate_table td,.laydate_body .laydate_table thead{height:21px!important;line-height:21px!important}.laydate-icon{border:1px solid #C6C6C6;background-image:url(icon.png)}.laydate_body .laydate_bottom #laydate_hms,.laydate_body .laydate_bottom .laydate_btn a,.laydate_body .laydate_box,.laydate_body .laydate_table,.laydate_body .laydate_table td,.laydate_body .laydate_time,.laydate_body .laydate_ym,.laydate_body .laydate_ym .laydate_yms{border:1px solid #ccc}.laydate_body .laydate_bottom .laydte_hsmtex,.laydate_body .laydate_choose,.laydate_body .laydate_table thead,.laydate_body .laydate_y .laydate_yms a{background-color:#F6F6F6}.laydate_body .laydate_box,.laydate_body .laydate_time,.laydate_body .laydate_ym .laydate_yms{box-shadow:2px 2px 5px rgba(0,0,0,.1)}.laydate_body .laydate_box{border-top:none;border-bottom:none;background-color:#fff;color:#333}.laydate_body .laydate_box .laydate_void{color:#ccc!important}.laydate_body .laydate_box .laydate_void:hover{background-color:#fff!important}.laydate_body .laydate_box a,.laydate_body .laydate_box a:hover{text-decoration:none;blr:expression(this.onFocus=this.blur());cursor:pointer;color:#333}.laydate_body .laydate_box a:hover{text-decoration:none;color:#666}.laydate_body .laydate_click{background-color:#eee!important}.laydate_body .laydate_bottom #laydate_hms,.laydate_body .laydate_choose:hover,.laydate_body .laydate_table td,.laydate_body .laydate_time,.laydate_body .laydate_y .laydate_yms a:hover{background-color:#fff}.laydate_body .laydate_top{border-top:1px solid #C6C6C6}.laydate_body .laydate_ym .laydate_yms{border:1px solid #C6C6C6;background-color:#fff}.laydate_body .laydate_y .laydate_yms a{border-bottom:1px solid #C6C6C6}.laydate_body .laydate_y .laydate_yms .laydate_chdown{border-top:1px solid #C6C6C6;border-bottom:none}.laydate_body .laydate_choose{border-left:1px solid #C6C6C6}.laydate_body .laydate_chprev{border-left:none;border-right:1px solid #C6C6C6}.laydate_body .laydate_chtop cite{border-bottom-color:#666}.laydate_body .laydate_chdown cite,.laydate_body .laydate_ym label{border-top-color:#666}.laydate_body .laydate_chprev cite{border-right-style:solid;border-right-color:#666}.laydate_body .laydate_chnext cite{border-left-style:solid;border-left-color:#666}.laydate_body .laydate_table td{border:none}.laydate_body .laydate_table .laydate_nothis{color:#999}.laydate_body .laydate_table thead th{border-bottom:1px solid #ccc}.laydate_body .laydate_bottom,.laydate_body .laydate_bottom .laydte_hsmtex{border-bottom:1px solid #C6C6C6}.laydate_body .laydate_bottom .laydate_sj{border-right:1px solid #C6C6C6;background-color:#F6F6F6}.laydate_body .laydate_bottom input{background-color:#fff}.laydate_body .laydate_bottom .laydate_btn{border-right:1px solid #C6C6C6}.laydate_body .laydate_bottom .laydate_v{position:absolute;left:10px;top:6px;font-family:Courier;z-index:0;color:#999}.laydate_body .laydate_bottom .laydate_btn a{border-right:none;background-color:#F6F6F6}.laydate_body .laydate_bottom .laydate_btn a:hover{color:#000;background-color:#fff}.laydate_body .laydate_m .laydate_yms span:hover,.laydate_body .laydate_table td:hover,.laydate_body .laydate_time .laydate_hmsno span:hover,.laydate_body .laydate_y .laydate_yms ul li:hover{background-color:#F3F3F3}
\ No newline at end of file
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layer/default/icon-ext.png b/booksalessm/WebRoot/admin/common/layui/css/modules/layer/default/icon-ext.png
new file mode 100644
index 0000000..bbbb669
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/css/modules/layer/default/icon-ext.png differ
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layer/default/icon.png b/booksalessm/WebRoot/admin/common/layui/css/modules/layer/default/icon.png
new file mode 100644
index 0000000..3e17da8
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/css/modules/layer/default/icon.png differ
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layer/default/layer.css b/booksalessm/WebRoot/admin/common/layui/css/modules/layer/default/layer.css
new file mode 100644
index 0000000..ef123eb
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/layui/css/modules/layer/default/layer.css
@@ -0,0 +1,2 @@
+/** layui-v1.0.7 MIT License By http://www.layui.com */
+ .layui-layer-imgbar,.layui-layer-imgtit a,.layui-layer-tab .layui-layer-title span,.layui-layer-title{text-overflow:ellipsis;white-space:nowrap}*html{background-image:url(about:blank);background-attachment:fixed}html #layuicss-skinlayercss{display:none;position:absolute;width:1989px}.layui-layer,.layui-layer-shade{position:fixed;_position:absolute;pointer-events:auto}.layui-layer-shade{top:0;left:0;width:100%;height:100%;_height:expression(document.body.offsetHeight+"px")}.layui-layer{-webkit-overflow-scrolling:touch;top:150px;left:0;margin:0;padding:0;background-color:#fff;-webkit-background-clip:content;box-shadow:1px 1px 50px rgba(0,0,0,.3)}.layui-layer-close{position:absolute}.layui-layer-content{position:relative}.layui-layer-border{border:1px solid #B2B2B2;border:1px solid rgba(0,0,0,.1);box-shadow:1px 1px 5px rgba(0,0,0,.2)}.layui-layer-load{background:url(loading-1.gif) center center no-repeat}.layui-layer-ico{background:url(icon.png) no-repeat}.layui-layer-btn a,.layui-layer-dialog .layui-layer-ico,.layui-layer-setwin a{display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-move{display:none;position:fixed;*position:absolute;left:0;top:0;width:100%;height:100%;cursor:move;opacity:0;filter:alpha(opacity=0);background-color:#fff;z-index:2147483647}.layui-layer-resize{position:absolute;width:15px;height:15px;right:0;bottom:0;cursor:se-resize}.layui-layer{border-radius:2px;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-duration:.3s;animation-duration:.3s}@-webkit-keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounceIn{0%{opacity:0;-webkit-transform:scale(.5);-ms-transform:scale(.5);transform:scale(.5)}100%{opacity:1;-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim{-webkit-animation-name:bounceIn;animation-name:bounceIn}@-webkit-keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes zoomInDown{0%{opacity:0;-webkit-transform:scale(.1) translateY(-2000px);-ms-transform:scale(.1) translateY(-2000px);transform:scale(.1) translateY(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateY(60px);-ms-transform:scale(.475) translateY(60px);transform:scale(.475) translateY(60px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-01{-webkit-animation-name:zoomInDown;animation-name:zoomInDown}@-webkit-keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeInUpBig{0%{opacity:0;-webkit-transform:translateY(2000px);-ms-transform:translateY(2000px);transform:translateY(2000px)}100%{opacity:1;-webkit-transform:translateY(0);-ms-transform:translateY(0);transform:translateY(0)}}.layer-anim-02{-webkit-animation-name:fadeInUpBig;animation-name:fadeInUpBig}@-webkit-keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}@keyframes zoomInLeft{0%{opacity:0;-webkit-transform:scale(.1) translateX(-2000px);-ms-transform:scale(.1) translateX(-2000px);transform:scale(.1) translateX(-2000px);-webkit-animation-timing-function:ease-in-out;animation-timing-function:ease-in-out}60%{opacity:1;-webkit-transform:scale(.475) translateX(48px);-ms-transform:scale(.475) translateX(48px);transform:scale(.475) translateX(48px);-webkit-animation-timing-function:ease-out;animation-timing-function:ease-out}}.layer-anim-03{-webkit-animation-name:zoomInLeft;animation-name:zoomInLeft}@-webkit-keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}@keyframes rollIn{0%{opacity:0;-webkit-transform:translateX(-100%) rotate(-120deg);-ms-transform:translateX(-100%) rotate(-120deg);transform:translateX(-100%) rotate(-120deg)}100%{opacity:1;-webkit-transform:translateX(0) rotate(0);-ms-transform:translateX(0) rotate(0);transform:translateX(0) rotate(0)}}.layer-anim-04{-webkit-animation-name:rollIn;animation-name:rollIn}@keyframes fadeIn{0%{opacity:0}100%{opacity:1}}.layer-anim-05{-webkit-animation-name:fadeIn;animation-name:fadeIn}@-webkit-keyframes shake{0%,100%{-webkit-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);transform:translateX(10px)}}@keyframes shake{0%,100%{-webkit-transform:translateX(0);-ms-transform:translateX(0);transform:translateX(0)}10%,30%,50%,70%,90%{-webkit-transform:translateX(-10px);-ms-transform:translateX(-10px);transform:translateX(-10px)}20%,40%,60%,80%{-webkit-transform:translateX(10px);-ms-transform:translateX(10px);transform:translateX(10px)}}.layer-anim-06{-webkit-animation-name:shake;animation-name:shake}@-webkit-keyframes fadeIn{0%{opacity:0}100%{opacity:1}}@-webkit-keyframes bounceOut{100%{opacity:0;-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);transform:scale(1)}}@keyframes bounceOut{100%{opacity:0;-webkit-transform:scale(.7);-ms-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1.05);-ms-transform:scale(1.05);transform:scale(1.05)}0%{-webkit-transform:scale(1);-ms-transform:scale(1);transform:scale(1)}}.layer-anim-close{-webkit-animation-name:bounceOut;animation-name:bounceOut;-webkit-animation-duration:.2s;animation-duration:.2s}.layui-layer-title{padding:0 80px 0 20px;height:42px;line-height:42px;border-bottom:1px solid #eee;font-size:14px;color:#333;overflow:hidden;background-color:#F8F8F8;border-radius:2px 2px 0 0}.layui-layer-setwin{position:absolute;right:15px;*right:0;top:15px;font-size:0;line-height:initial}.layui-layer-setwin a{position:relative;width:16px;height:16px;margin-left:10px;font-size:12px;_overflow:hidden}.layui-layer-setwin .layui-layer-min cite{position:absolute;width:14px;height:2px;left:0;top:50%;margin-top:-1px;background-color:#2E2D3C;cursor:pointer;_overflow:hidden}.layui-layer-setwin .layui-layer-min:hover cite{background-color:#2D93CA}.layui-layer-setwin .layui-layer-max{background-position:-32px -40px}.layui-layer-setwin .layui-layer-max:hover{background-position:-16px -40px}.layui-layer-setwin .layui-layer-maxmin{background-position:-65px -40px}.layui-layer-setwin .layui-layer-maxmin:hover{background-position:-49px -40px}.layui-layer-setwin .layui-layer-close1{background-position:0 -40px;cursor:pointer}.layui-layer-setwin .layui-layer-close1:hover{opacity:.7}.layui-layer-setwin .layui-layer-close2{position:absolute;right:-28px;top:-28px;width:30px;height:30px;margin-left:0;background-position:-149px -31px;*right:-18px;_display:none}.layui-layer-setwin .layui-layer-close2:hover{background-position:-180px -31px}.layui-layer-btn{text-align:right;padding:0 10px 12px;pointer-events:auto;user-select:none;-webkit-user-select:none}.layui-layer-btn a{height:28px;line-height:28px;margin:0 6px;padding:0 15px;border:1px solid #dedede;background-color:#f1f1f1;color:#333;border-radius:2px;font-weight:400;cursor:pointer;text-decoration:none}.layui-layer-btn a:hover{opacity:.9;text-decoration:none}.layui-layer-btn a:active{opacity:.8}.layui-layer-btn .layui-layer-btn0{border-color:#4898d5;background-color:#2e8ded;color:#fff}.layui-layer-btn-l{text-align:left}.layui-layer-btn-c{text-align:center}.layui-layer-dialog{min-width:260px}.layui-layer-dialog .layui-layer-content{position:relative;padding:20px;line-height:24px;word-break:break-all;overflow:hidden;font-size:14px;overflow-x:hidden;overflow-y:auto}.layui-layer-dialog .layui-layer-content .layui-layer-ico{position:absolute;top:16px;left:15px;_left:-40px;width:30px;height:30px}.layui-layer-ico1{background-position:-30px 0}.layui-layer-ico2{background-position:-60px 0}.layui-layer-ico3{background-position:-90px 0}.layui-layer-ico4{background-position:-120px 0}.layui-layer-ico5{background-position:-150px 0}.layui-layer-ico6{background-position:-180px 0}.layui-layer-rim{border:6px solid #8D8D8D;border:6px solid rgba(0,0,0,.3);border-radius:5px;box-shadow:none}.layui-layer-msg{min-width:180px;border:1px solid #D3D4D3;box-shadow:none}.layui-layer-hui{min-width:100px;background-color:#000;filter:alpha(opacity=60);background-color:rgba(0,0,0,.6);color:#fff;border:none}.layui-layer-hui .layui-layer-content{padding:12px 25px;text-align:center}.layui-layer-dialog .layui-layer-padding{padding:20px 20px 20px 55px;text-align:left}.layui-layer-page .layui-layer-content{position:relative;overflow:auto}.layui-layer-iframe .layui-layer-btn,.layui-layer-page .layui-layer-btn{padding-top:10px}.layui-layer-nobg{background:0 0}.layui-layer-iframe iframe{display:block;width:100%}.layui-layer-loading{border-radius:100%;background:0 0;box-shadow:none;border:none}.layui-layer-loading .layui-layer-content{width:60px;height:24px;background:url(loading-0.gif) no-repeat}.layui-layer-loading .layui-layer-loading1{width:37px;height:37px;background:url(loading-1.gif) no-repeat}.layui-layer-ico16,.layui-layer-loading .layui-layer-loading2{width:32px;height:32px;background:url(loading-2.gif) no-repeat}.layui-layer-tips{background:0 0;box-shadow:none;border:none}.layui-layer-tips .layui-layer-content{position:relative;line-height:22px;min-width:12px;padding:5px 10px;font-size:12px;_float:left;border-radius:2px;box-shadow:1px 1px 3px rgba(0,0,0,.2);background-color:#000;color:#fff}.layui-layer-tips .layui-layer-close{right:-2px;top:-1px}.layui-layer-tips i.layui-layer-TipsG{position:absolute;width:0;height:0;border-width:8px;border-color:transparent;border-style:dashed;*overflow:hidden}.layui-layer-tips i.layui-layer-TipsB,.layui-layer-tips i.layui-layer-TipsT{left:5px;border-right-style:solid;border-right-color:#000}.layui-layer-tips i.layui-layer-TipsT{bottom:-8px}.layui-layer-tips i.layui-layer-TipsB{top:-8px}.layui-layer-tips i.layui-layer-TipsL,.layui-layer-tips i.layui-layer-TipsR{top:1px;border-bottom-style:solid;border-bottom-color:#000}.layui-layer-tips i.layui-layer-TipsR{left:-8px}.layui-layer-tips i.layui-layer-TipsL{right:-8px}.layui-layer-lan[type=dialog]{min-width:280px}.layui-layer-lan .layui-layer-title{background:#4476A7;color:#fff;border:none}.layui-layer-lan .layui-layer-btn{padding:10px;text-align:right;border-top:1px solid #E9E7E7}.layui-layer-lan .layui-layer-btn a{background:#BBB5B5;border:none}.layui-layer-lan .layui-layer-btn .layui-layer-btn1{background:#C9C5C5}.layui-layer-molv .layui-layer-title{background:#009f95;color:#fff;border:none}.layui-layer-molv .layui-layer-btn a{background:#009f95}.layui-layer-molv .layui-layer-btn .layui-layer-btn1{background:#92B8B1}.layui-layer-iconext{background:url(icon-ext.png) no-repeat}.layui-layer-prompt .layui-layer-input{display:block;width:220px;height:30px;margin:0 auto;line-height:30px;padding:0 5px;border:1px solid #ccc;box-shadow:1px 1px 5px rgba(0,0,0,.1) inset;color:#333}.layui-layer-prompt textarea.layui-layer-input{width:300px;height:100px;line-height:20px}.layui-layer-prompt .layui-layer-content{padding:20px}.layui-layer-prompt .layui-layer-btn{padding-top:0}.layui-layer-tab{box-shadow:1px 1px 50px rgba(0,0,0,.4)}.layui-layer-tab .layui-layer-title{padding-left:0;border-bottom:1px solid #ccc;background-color:#eee;overflow:visible}.layui-layer-tab .layui-layer-title span{position:relative;float:left;min-width:80px;max-width:260px;padding:0 20px;text-align:center;cursor:default;overflow:hidden}.layui-layer-tab .layui-layer-title span.layui-layer-tabnow{height:43px;border-left:1px solid #ccc;border-right:1px solid #ccc;background-color:#fff;z-index:10}.layui-layer-tab .layui-layer-title span:first-child{border-left:none}.layui-layer-tabmain{line-height:24px;clear:both}.layui-layer-tabmain .layui-layer-tabli{display:none}.layui-layer-tabmain .layui-layer-tabli.xubox_tab_layer{display:block}.xubox_tabclose{position:absolute;right:10px;top:5px;cursor:pointer}.layui-layer-photos{-webkit-animation-duration:1s;animation-duration:1s}.layui-layer-photos .layui-layer-content{overflow:hidden;text-align:center}.layui-layer-photos .layui-layer-phimg img{position:relative;width:100%;display:inline-block;*display:inline;*zoom:1;vertical-align:top}.layui-layer-imgbar,.layui-layer-imguide{display:none}.layui-layer-imgnext,.layui-layer-imgprev{position:absolute;top:50%;width:27px;_width:44px;height:44px;margin-top:-22px;outline:0;blr:expression(this.onFocus=this.blur())}.layui-layer-imgprev{left:10px;background-position:-5px -5px;_background-position:-70px -5px}.layui-layer-imgprev:hover{background-position:-33px -5px;_background-position:-120px -5px}.layui-layer-imgnext{right:10px;_right:8px;background-position:-5px -50px;_background-position:-70px -50px}.layui-layer-imgnext:hover{background-position:-33px -50px;_background-position:-120px -50px}.layui-layer-imgbar{position:absolute;left:0;bottom:0;width:100%;height:32px;line-height:32px;background-color:rgba(0,0,0,.8);background-color:#000\9;filter:Alpha(opacity=80);color:#fff;overflow:hidden;font-size:0}.layui-layer-imgtit *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:12px}.layui-layer-imgtit a{max-width:65%;overflow:hidden;color:#fff}.layui-layer-imgtit a:hover{color:#fff;text-decoration:underline}.layui-layer-imgtit em{padding-left:10px;font-style:normal}@media screen and (max-width:1100px){.layui-layer-iframe{overflow-y:auto;-webkit-overflow-scrolling:touch}}
\ No newline at end of file
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layer/default/loading-0.gif b/booksalessm/WebRoot/admin/common/layui/css/modules/layer/default/loading-0.gif
new file mode 100644
index 0000000..6f3c953
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/css/modules/layer/default/loading-0.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layer/default/loading-1.gif b/booksalessm/WebRoot/admin/common/layui/css/modules/layer/default/loading-1.gif
new file mode 100644
index 0000000..db3a483
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/css/modules/layer/default/loading-1.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layer/default/loading-2.gif b/booksalessm/WebRoot/admin/common/layui/css/modules/layer/default/loading-2.gif
new file mode 100644
index 0000000..5bb90fd
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/css/modules/layer/default/loading-2.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layim/html/chatlog.html b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/html/chatlog.html
new file mode 100644
index 0000000..fe46024
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/html/chatlog.html
@@ -0,0 +1,96 @@
+
+
+
+
+
+
+
+聊天记录
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layim/html/find.html b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/html/find.html
new file mode 100644
index 0000000..7d47758
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/html/find.html
@@ -0,0 +1,38 @@
+
+
+
+
+
+
+
+发现
+
+
+
+
+
+
+
+
此为自定义的【查找】页面,因需求不一,所以官方暂不提供该模版结构与样式,实际使用时,可移至该文件到你的项目中,对页面自行把控。
+
文件所在目录(相对于layui.js):/css/modules/layim/html/find.html
+
+
+
+
+
+
+
+
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layim/html/getmsg.json b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/html/getmsg.json
new file mode 100644
index 0000000..ebb4ea3
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/html/getmsg.json
@@ -0,0 +1,87 @@
+{
+ "code": 0,
+ "pages": 1,
+ "data": [
+ {
+ "id": 76,
+ "content": "申请添加你为好友",
+ "uid": 168,
+ "from": 166488,
+ "from_group": 0,
+ "type": 1,
+ "remark": "有问题要问",
+ "href": null,
+ "read": 1,
+ "time": "刚刚",
+ "user": {
+ "id": 166488,
+ "avatar": "http://q.qlogo.cn/qqapp/101235792/B704597964F9BD0DB648292D1B09F7E8/100",
+ "username": "李彦宏",
+ "sign": null
+ }
+ },
+ {
+ "id": 75,
+ "content": "申请添加你为好友",
+ "uid": 168,
+ "from": 347592,
+ "from_group": 0,
+ "type": 1,
+ "remark": "你好啊!",
+ "href": null,
+ "read": 1,
+ "time": "刚刚",
+ "user": {
+ "id": 347592,
+ "avatar": "http://q.qlogo.cn/qqapp/101235792/B78751375E0531675B1272AD994BA875/100",
+ "username": "麻花疼",
+ "sign": null
+ }
+ },
+ {
+ "id": 62,
+ "content": "雷军 拒绝了你的好友申请",
+ "uid": 168,
+ "from": null,
+ "from_group": null,
+ "type": 1,
+ "remark": null,
+ "href": null,
+ "read": 1,
+ "time": "10天前",
+ "user": {
+ "id": null
+ }
+ },
+ {
+ "id": 60,
+ "content": "马小云 已经同意你的好友申请",
+ "uid": 168,
+ "from": null,
+ "from_group": null,
+ "type": 1,
+ "remark": null,
+ "href": null,
+ "read": 1,
+ "time": "10天前",
+ "user": {
+ "id": null
+ }
+ },
+ {
+ "id": 61,
+ "content": "贤心 已经同意你的好友申请",
+ "uid": 168,
+ "from": null,
+ "from_group": null,
+ "type": 1,
+ "remark": null,
+ "href": null,
+ "read": 1,
+ "time": "10天前",
+ "user": {
+ "id": null
+ }
+ }
+ ]
+}
\ No newline at end of file
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layim/html/msgbox.html b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/html/msgbox.html
new file mode 100644
index 0000000..d1d4a58
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/html/msgbox.html
@@ -0,0 +1,208 @@
+
+
+
+
+
+
+
+消息盒子
+
+
+
+
+
+
+
+
+
+
注意:这些都是模拟数据,实际使用时,需将其中的模拟接口改为你的项目真实接口。
+
该模版文件所在目录(相对于layui.js):/css/modules/layim/html/msgbox.html
+
+
+
+
+
+
+
+
+
+
+
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layim/layim.css b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/layim.css
new file mode 100644
index 0000000..678babb
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/layim.css
@@ -0,0 +1,2 @@
+/** layui-v1.0.7 MIT License By http://www.layui.com */
+ html #layuicss-skinlayimcss{display:none;position:absolute;width:1989px}body .layui-layim,body .layui-layim-chat{border:1px solid #D9D9D9;border-color:rgba(0,0,0,.05);background-repeat:no-repeat;background-color:#F6F6F6;color:#333;font-family:\5FAE\8F6F\96C5\9ED1}body .layui-layim-chat{background-size:cover}body .layui-layim .layui-layer-title{height:110px;border-bottom:none;background:0 0}.layui-layim-main{position:relative;top:-98px;left:0}body .layui-layim .layui-layer-content,body .layui-layim-chat .layui-layer-content{overflow:visible}.layui-layim cite,.layui-layim em,.layui-layim-chat cite,.layui-layim-chat em{font-style:normal}.layui-layim-info{height:50px;font-size:0;padding:0 15px}.layui-layim-info *{font-size:14px}.layim-tab-content li h5 *,.layui-layim-info div,.layui-layim-skin li,.layui-layim-tab li,.layui-layim-tool li{display:inline-block;vertical-align:top;*zoom:1;*display:inline}.layim-tab-content li h5 span,.layui-layim-info .layui-layim-user,.layui-layim-list li p,.layui-layim-list li span,.layui-layim-remark{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layui-layim-info .layui-layim-user{max-width:150px;margin-right:5px;font-size:16px}.layui-layim-status{position:relative;top:2px;line-height:19px;cursor:pointer}.layim-status-online{color:#3FDD86}.layim-status-hide{color:#DD691D}.layim-menu-box{display:none;position:absolute;z-index:100;top:24px;left:-31px;padding:5px 0;width:85px;border:1px solid #E2E2E2;border-radius:2px;background-color:#fff;box-shadow:1px 1px 20px rgba(0,0,0,.1)}.layim-menu-box li{position:relative;line-height:22px;padding-left:30px;font-size:12px}.layim-menu-box li cite{padding-right:5px;font-size:14px}.layim-menu-box li i{display:none;position:absolute;left:0;top:0}.layim-menu-box .layim-this i{display:block}.layim-menu-box li:hover{background-color:#eee}.layui-layim-remark{position:relative;left:-6px;display:block;width:100%;border:1px solid transparent;margin-top:8px;padding:0 5px;height:26px;line-height:26px;background:0 0;border-radius:2px}.layui-layim-remark:focus,.layui-layim-remark:hover{border:1px solid #d2d2d2;border-color:rgba(0,0,0,.15)}.layui-layim-remark:focus{background-color:#fff}.layui-layim-tab{margin-top:10px;padding:9px 0;font-size:0}.layui-layim-tab li{position:relative;width:33.33%;height:24px;line-height:24px;font-size:22px;text-align:center;color:#666;color:rgba(0,0,0,.6);cursor:pointer}.layim-tab-two li{width:50%}.layui-layim-tab li.layim-this:after{content:'';position:absolute;left:0;bottom:-9px;width:100%;height:3px;background-color:#3FDD86}.layui-layim-tab li.layim-hide{display:none}.layui-layim-tab li:hover{opacity:.8;filter:Alpha(opacity=80)}.layim-tab-content{display:none;padding:10px 0;height:349px;overflow:hidden;background-color:#fff;background-color:rgba(255,255,255,.9)}.layim-tab-content:hover{overflow-y:auto}.layim-tab-content li h5{position:relative;margin-right:15px;padding-left:30px;height:28px;line-height:28px;cursor:pointer;font-size:0;white-space:nowrap;overflow:hidden}.layim-tab-content li h5 *{font-size:14px}.layim-tab-content li h5 span{max-width:125px}.layim-tab-content li h5 i{position:absolute;left:12px;top:0;color:#C9BDBB}.layim-tab-content li h5 em{padding-left:5px;color:#999}.layim-tab-content li h5[lay-type=true] i{top:2px}.layim-tab-content li ul{display:none;margin-bottom:10px}.layui-layim-list li{position:relative;height:42px;padding:5px 15px 5px 60px;font-size:0;cursor:pointer}.layui-layim-list li:hover{background-color:#F2F2F2;background-color:rgba(0,0,0,.05)}.layui-layim-list li.layim-null{height:20px;line-height:20px;padding:0;font-size:14px;color:#999;text-align:center;cursor:default}.layui-layim-list li.layim-null:hover{background:0 0}.layui-layim-list li *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:14px}.layui-layim-list li span{margin-top:4px;max-width:155px}.layui-layim-list li img{position:absolute;left:15px;top:8px;width:36px;height:36px;border-radius:100%}.layui-layim-list li p{display:block;line-height:18px;font-size:12px;color:#999}.layim-list-gray{-webkit-filter:grayscale(100%);-ms-filter:grayscale(100%);filter:grayscale(100%);filter:gray}.layui-layim-tool{padding:0 10px;font-size:0;background-color:#F6F6F6;border-radius:0 0 2px 2px}.layui-layim-tool li{position:relative;width:48px;height:37px;line-height:40px;text-align:center;font-size:22px;cursor:pointer}.layui-layim-tool li:active{background-color:#e2e2e2}.layui-layim-tool .layim-tool-msgbox{line-height:37px}.layui-layim-tool .layim-tool-find{line-height:38px}.layui-layim-tool .layim-tool-skin{font-size:26px}.layim-tool-msgbox span{display:none;position:absolute;left:12px;top:-12px;height:20px;line-height:20px;padding:0 10px;border-radius:2px;background-color:#33DF83;color:#fff;font-size:12px;-webkit-animation-duration:1s;animation-duration:1s}.layim-tool-msgbox .layer-anim-05{display:block}.layui-layim-search{display:none;position:absolute;bottom:5px;left:5px;height:28px;line-height:28px}.layui-layim-search input{width:210px;padding:0 30px 0 10px;height:30px;line-height:30px;border:none;border-radius:3px;background-color:#ddd}.layui-layim-search label{position:absolute;right:6px;top:4px;font-size:20px;cursor:pointer;color:#333;font-weight:400}.layui-layim-skin{margin:10px 0 0 10px;font-size:0}.layui-layim-skin li{margin:0 10px 10px 0;line-height:60px;text-align:center;background-color:#f6f6f6}.layui-layim-skin li,.layui-layim-skin li img{width:86px;height:60px;cursor:pointer}.layui-layim-skin li img:hover{opacity:.8;filter:Alpha(opacity=80)}.layui-layim-skin li cite{font-size:14px;font-style:normal}body .layui-layim-chat{background-color:#fff}body .layui-layim-chat-list{width:760px}body .layui-layim-chat .layui-layer-title{height:80px;border-bottom:none;background-color:#F8F8F8;background-color:rgba(245,245,245,.7)}body .layui-layim-chat .layui-layer-content{background:0 0}.layim-chat-list li *,.layui-layim-min .layui-layer-content *{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:14px}.layim-chat-list{display:none;position:absolute;z-index:1000;top:-80px;width:200px;height:100%;background-color:#D9D9D9;overflow:hidden;font-size:0}.layim-chat-list:hover{overflow-y:auto}.layim-chat-list li,.layui-layim-min .layui-layer-content{position:relative;margin:5px;padding:5px 30px 5px 5px;line-height:40px;cursor:pointer;border-radius:3px}.layim-chat-list li img,.layui-layim-min .layui-layer-content img{width:40px;height:40px;border-radius:100%}.layui-layim-photos{cursor:crosshair}.layim-chat-list li{white-space:nowrap}.layim-chat-list li span,.layui-layim-min .layui-layer-content span{width:100px;padding-left:10px;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.layim-chat-list li span cite{color:#999;padding-left:10px}.layim-chat-list li:hover{background-color:#E2E2E2}.layim-chat-list li.layim-this{background-color:#F3F3F3}.layim-chat-list li .layui-icon{display:none;position:absolute;right:5px;top:7px;color:#555;font-size:22px}.layim-chat-list li .layui-icon:hover{color:#c00}.layim-chat-list li:hover .layui-icon{display:inline-block}.layim-chat-system{margin:10px 0;text-align:center}.layim-chat-system span{display:inline-block;line-height:30px;padding:0 15px;border-radius:3px;background-color:#e2e2e2;cursor:default;font-size:14px}.layim-chat{display:none;position:relative;background-color:#fff;background-color:rgba(255,255,255,.9)}.layim-chat-title{position:absolute;top:-80px;height:80px}.layim-chat-other{position:relative;top:15px;left:15px;padding-left:60px;cursor:default}.layim-chat-other img{position:absolute;left:0;top:0;width:50px;height:50px;border-radius:100%}.layim-chat-username{position:relative;top:5px;font-size:18px}.layim-chat-status{margin-top:6px;font-size:14px;color:#999}.layim-chat-group .layim-chat-other .layim-chat-username{cursor:pointer}.layim-chat-group .layim-chat-other .layim-chat-username em{padding:0 10px;color:#999}.layim-chat-main{height:262px;padding:15px 15px 5px;overflow-x:hidden;overflow-y:auto}.layim-chat-main ul li{position:relative;font-size:0;margin-bottom:10px;padding-left:60px;min-height:68px}.layim-chat-text,.layim-chat-user{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:14px}.layim-chat-user{position:absolute;left:3px}.layim-chat-user img{width:40px;height:40px;border-radius:100%}.layim-chat-user cite{position:absolute;left:60px;top:-2px;width:500px;line-height:24px;font-size:12px;white-space:nowrap;color:#999;text-align:left;font-style:normal}.layim-chat-user cite i{padding-left:15px;font-style:normal}.layim-chat-text{position:relative;line-height:22px;margin-top:25px;padding:8px 15px;background-color:#e2e2e2;border-radius:3px;color:#333;word-break:break-all;max-width:462px\9}.layim-chat-text:after{content:'';position:absolute;left:-10px;top:13px;width:0;height:0;border-style:solid dashed dashed;border-color:#e2e2e2 transparent transparent;overflow:hidden;border-width:10px}.layim-chat-text a{color:#33DF83}.layim-chat-text img{max-width:100%;vertical-align:middle}.layim-chat-text .layui-layim-file,.layui-layim-file{display:block;text-align:center}.layim-chat-text .layui-layim-file{color:#333}.layui-layim-file:hover{opacity:.9}.layui-layim-file i{font-size:80px;line-height:80px}.layui-layim-file cite{display:block;line-height:20px;font-size:14px}.layim-chat-main ul .layim-chat-system{min-height:0;padding:0}.layim-chat-main ul .layim-chat-mine{text-align:right;padding-left:0;padding-right:60px}.layim-chat-mine .layim-chat-user{left:auto;right:3px}.layim-chat-mine .layim-chat-user cite{left:auto;right:60px;text-align:right}.layim-chat-mine .layim-chat-user cite i{padding-left:0;padding-right:15px}.layim-chat-mine .layim-chat-text{margin-left:0;text-align:left;background-color:#5FB878;color:#fff}.layim-chat-mine .layim-chat-text:after{left:auto;right:-10px;border-top-color:#5FB878}.layim-chat-mine .layim-chat-text a{color:#fff}.layim-chat-footer{border-top:1px solid #F1F1F1}.layim-chat-tool{position:relative;padding:0 8px;height:38px;line-height:38px;font-size:0}.layim-chat-tool span{position:relative;margin:0 10px;display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:24px;cursor:pointer}.layim-chat-tool .layim-tool-log{position:absolute;right:5px;font-size:14px}.layim-tool-log i{position:relative;top:2px;margin-right:5px;font-size:20px;color:#999}.layim-tool-image input{position:absolute;font-size:0;left:0;top:0;width:100%;height:100%;opacity:.01;filter:Alpha(opacity=1);cursor:pointer}body .layui-layim-face{margin:10px 0 0 -18px;border:none;background:0 0}body .layui-layim-face .layui-layer-content{padding:0;background-color:#fff;color:#666;box-shadow:none}.layui-layim-face .layui-layer-TipsG{display:none}.layui-layim-face ul{position:relative;width:372px;padding:10px;border:1px solid #D9D9D9;background-color:#fff;box-shadow:0 0 20px rgba(0,0,0,.2)}.layui-layim-face ul li{cursor:pointer;float:left;border:1px solid #e8e8e8;height:22px;width:26px;overflow:hidden;margin:-1px 0 0 -1px;padding:4px 2px;text-align:center}.layui-layim-face ul li:hover{position:relative;z-index:2;border:1px solid #eb7350;background:#fff9ec}.layim-chat-textarea{margin-left:10px}.layim-chat-textarea textarea{display:block;width:100%;padding:5px 0 0;height:68px;line-height:20px;border:none;overflow:auto;resize:none;background:0 0}.layim-chat-textarea textarea:focus{outline:0}.layim-chat-bottom{position:relative;height:46px}.layim-chat-send{position:absolute;right:15px;top:3px;height:32px;line-height:32px;font-size:0;cursor:pointer}.layim-chat-send span{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:14px;line-height:32px;margin-left:5px;padding:0 20px;background-color:#5FB878;color:#fff;border-radius:3px}.layim-chat-send span:hover{background-color:#69BC80}.layim-chat-send span:active{background-color:#59B573}.layim-chat-send .layim-send-btn{border-radius:3px 0 0 3px}.layim-chat-send .layim-send-set{position:relative;width:30px;height:32px;margin-left:0;padding:0;border-left:1px solid #85C998;border-radius:0 3px 3px 0}.layim-send-set .layui-edge{top:14px;left:9px;border-width:6px;border-top-style:solid;border-top-color:#fff}.layim-chat-send .layim-menu-box{left:auto;right:0;top:33px;width:180px;padding:10px 0}.layim-chat-send .layim-menu-box li{padding-right:15px;line-height:28px}body .layui-layim-min{border:1px solid #D9D9D9}.layui-layim-min .layui-layer-content{margin:0 5px;padding:5px 10px;white-space:nowrap}.layui-layim-close .layui-layer-content span{width:auto;max-width:120px}body .layui-layim-members{margin:25px 0 0 -75px;border:none;background:0 0}body .layui-layim-members .layui-layer-content{padding:0;background:0 0;color:#666;box-shadow:none}.layui-layim-members .layui-layer-TipsG{display:none}.layui-layim-members ul{position:relative;width:578px;height:200px;padding:10px 10px 0;border:1px solid #D9D9D9;background-color:#fff;background-color:rgba(255,255,255,.9);box-shadow:none;overflow:hidden;font-size:0}.layui-layim-members ul:hover{overflow:auto}.layim-add-img,.layim-add-remark,.layui-layim-members li{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:14px}.layui-layim-members li{width:112px;margin:10px 0;text-align:center}.layui-layim-members li a{position:relative;display:inline-block;max-width:100%}.layui-layim-members li a:after{content:'';position:absolute;width:46px;height:46px;left:50%;margin-left:-23px;top:0;border:1px solid #eee;border-color:rgba(0,0,0,.1);border-radius:100%}.layui-layim-members li img{width:48px;height:48px;border-radius:100%}.layui-layim-members li:hover{opacity:.9}.layui-layim-members li a cite{display:block;padding:0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body .layui-layim-contextmenu{margin:70px 0 0 30px;width:200px;padding:5px 0;border:1px solid #ccc;background:#fff;border-radius:0;box-shadow:0 0 5px rgba(0,0,0,.2)}body .layui-layim-contextmenu .layui-layer-content{padding:0;background-color:#fff;color:#333;font-size:14px;box-shadow:none}.layui-layim-contextmenu .layui-layer-TipsG{display:none}.layui-layim-contextmenu li{padding:0 15px 0 35px;cursor:pointer;line-height:30px}.layui-layim-contextmenu li:hover{background-color:#F2F2F2}.layim-add-box{margin:15px;font-size:0}.layim-add-img img,.layim-add-remark p{margin-bottom:10px}.layim-add-img{width:100px;margin-right:20px;text-align:center}.layim-add-img img{width:100px;height:100px}.layim-add-remark{width:280px}.layim-add-remark .layui-select{width:100%;margin-bottom:10px}.layim-add-remark .layui-textarea{height:80px;min-height:80px;resize:none}.layim-tab-content,.layui-layim-face ul,.layui-layim-tab{margin-bottom:0}.layim-tab-content li h5{margin-top:0;margin-bottom:0},.layui-layim-face img{vertical-align:bottom}.layim-chat-other span{color:#444}.layim-chat-other span cite{padding:0 15px;color:#999}.layim-chat-other:hover{text-decoration:none}
\ No newline at end of file
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layim/mobile/layim.css b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/mobile/layim.css
new file mode 100644
index 0000000..7ff8e47
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/mobile/layim.css
@@ -0,0 +1,2 @@
+/** layui-v1.0.7 MIT License By http://www.layui.com */
+ .layim-chat-main,.layim-chat-main ul{overflow-x:hidden}html #layuicss-skinlayim-mobilecss{display:none;position:absolute;width:1989px}.layim-chat,.layim-chat-main,.layim-chat-title{position:fixed;left:0;right:0}.layim-chat{bottom:0;top:0;background-color:#eee}.layim-chat-title{top:0;height:50px;line-height:50px;text-align:center;background-color:#36373C;color:#fff;font-size:16px}.layim-chat-status{padding-left:5px;font-size:14px}.layim-chat-main{width:100%;bottom:85px;top:50px;padding:15px;overflow-y:auto;-webkit-box-sizing:border-box!important;-moz-box-sizing:border-box!important;box-sizing:border-box!important}.layim-chat-main[nonetitle]{top:0}.layim-chat-main ul li{position:relative;font-size:0;margin-bottom:10px;padding-left:60px;min-height:68px}.layim-chat-text,.layim-chat-user{display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:14px}.layim-chat-user{position:absolute;left:3px}.layim-chat-user img{width:40px;height:40px;border-radius:100%}.layim-chat-user cite{position:absolute;left:60px;top:-2px;width:500px;line-height:24px;font-size:12px;white-space:nowrap;color:#999;text-align:left;font-style:normal}.layim-chat-user cite i{padding-left:15px;font-style:normal}.layim-chat-text{position:relative;min-height:22px;line-height:22px;margin-top:25px;padding:8px 15px;background-color:#fff;border-radius:3px;color:#333;word-break:break-all}.layim-chat-text:after{content:'';position:absolute;left:-10px;top:13px;width:0;height:0;border-style:solid dashed dashed;border-color:#fff transparent transparent;overflow:hidden;border-width:10px}.layim-chat-text a{color:#33DF83}.layim-chat-text img{max-width:100%;vertical-align:middle}.layim-chat-text .layui-layim-file,.layui-layim-file{display:block;text-align:center}.layim-chat-text .layui-layim-file{color:#333}.layui-layim-file:hover{opacity:.9}.layui-layim-file i{font-size:80px;line-height:80px}.layui-layim-file cite{display:block;line-height:20px;font-size:14px}.layim-chat-main ul .layim-chat-mine{text-align:right;padding-left:0;padding-right:60px}.layim-chat-mine .layim-chat-user{left:auto;right:3px}.layim-chat-mine .layim-chat-user cite{left:auto;right:60px;text-align:right}.layim-chat-mine .layim-chat-user cite i{padding-left:0;padding-right:15px}.layim-chat-mine .layim-chat-text{margin-left:0;text-align:left;background-color:#5FB878;color:#fff}.layim-chat-mine .layim-chat-text:after{left:auto;right:-10px;border-top-color:#5FB878}.layim-chat-mine .layim-chat-text a{color:#fff}.layim-chat-main ul .layim-chat-system{min-height:0;margin:20px 0 5px;padding:0}.layim-chat-system{margin:10px 0;text-align:center}.layim-chat-system span{display:inline-block;line-height:30px;padding:0 15px;border-radius:3px;background-color:#ddd;color:#fff;font-size:14px}.layim-chat-footer{position:fixed;bottom:0;left:10px;right:10px;height:80px}.layim-chat-send{display:-webkit-box;display:-webkit-flex;display:flex}.layim-chat-send input{-webkit-box-flex:1;-webkit-flex:1;flex:1;height:36px;padding-left:5px;border:0;background-color:#fff;border-radius:3px}.layim-chat-send button{border-radius:3px;height:36px;padding:0 10px;border:0;margin-left:10px;background-color:#5FB878;color:#fff}.layim-chat-tool{position:relative;width:100%;overflow-x:auto;padding:0;height:38px;line-height:38px;margin-top:5px;font-size:0;white-space:nowrap}.layim-chat-tool span{position:relative;margin:0 10px;display:inline-block;*display:inline;*zoom:1;vertical-align:top;font-size:24px;cursor:pointer}.layim-chat-tool .layim-tool-log{position:absolute;right:5px;font-size:14px}.layim-tool-log i{position:relative;top:2px;margin-right:5px;font-size:20px;color:#999}.layim-tool-image input{position:absolute;font-size:0;left:0;top:0;width:100%;height:100%;opacity:.01;filter:Alpha(opacity=1);cursor:pointer}.layim-layer{position:fixed;bottom:85px;left:10px;right:10px;margin:0 auto}.layui-layim-face{position:relative;max-height:180px;overflow:auto;padding:10px;font-size:0}.layui-layim-face li{cursor:pointer;display:inline-block;vertical-align:bottom;padding:5px 2px;text-align:center;width:10%;-webkit-box-sizing:border-box!important;-moz-box-sizing:border-box!important;box-sizing:border-box!important}.layui-layim-face li img{width:22px;height:22px}
\ No newline at end of file
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layim/skin/1.jpg b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/skin/1.jpg
new file mode 100644
index 0000000..d9f9926
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/skin/1.jpg differ
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layim/skin/2.jpg b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/skin/2.jpg
new file mode 100644
index 0000000..0bffb50
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/skin/2.jpg differ
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layim/skin/3.jpg b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/skin/3.jpg
new file mode 100644
index 0000000..53ba921
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/skin/3.jpg differ
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layim/skin/4.jpg b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/skin/4.jpg
new file mode 100644
index 0000000..83b4738
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/skin/4.jpg differ
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layim/skin/5.jpg b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/skin/5.jpg
new file mode 100644
index 0000000..8ed74b9
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/skin/5.jpg differ
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layim/skin/logo.jpg b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/skin/logo.jpg
new file mode 100644
index 0000000..26c7358
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/skin/logo.jpg differ
diff --git a/booksalessm/WebRoot/admin/common/layui/css/modules/layim/voice/default.wav b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/voice/default.wav
new file mode 100644
index 0000000..423ddd0
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/css/modules/layim/voice/default.wav differ
diff --git a/booksalessm/WebRoot/admin/common/layui/font/iconfont.eot b/booksalessm/WebRoot/admin/common/layui/font/iconfont.eot
new file mode 100644
index 0000000..6bb5c27
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/font/iconfont.eot differ
diff --git a/booksalessm/WebRoot/admin/common/layui/font/iconfont.svg b/booksalessm/WebRoot/admin/common/layui/font/iconfont.svg
new file mode 100644
index 0000000..bac1b54
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/layui/font/iconfont.svg
@@ -0,0 +1,371 @@
+
+
+
diff --git a/booksalessm/WebRoot/admin/common/layui/font/iconfont.ttf b/booksalessm/WebRoot/admin/common/layui/font/iconfont.ttf
new file mode 100644
index 0000000..e06a767
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/font/iconfont.ttf differ
diff --git a/booksalessm/WebRoot/admin/common/layui/font/iconfont.woff b/booksalessm/WebRoot/admin/common/layui/font/iconfont.woff
new file mode 100644
index 0000000..3997013
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/font/iconfont.woff differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/0.gif b/booksalessm/WebRoot/admin/common/layui/images/face/0.gif
new file mode 100644
index 0000000..a63f0d5
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/0.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/1.gif b/booksalessm/WebRoot/admin/common/layui/images/face/1.gif
new file mode 100644
index 0000000..b2b78b2
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/1.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/10.gif b/booksalessm/WebRoot/admin/common/layui/images/face/10.gif
new file mode 100644
index 0000000..556c7e3
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/10.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/11.gif b/booksalessm/WebRoot/admin/common/layui/images/face/11.gif
new file mode 100644
index 0000000..2bfc58b
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/11.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/12.gif b/booksalessm/WebRoot/admin/common/layui/images/face/12.gif
new file mode 100644
index 0000000..1c321c7
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/12.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/13.gif b/booksalessm/WebRoot/admin/common/layui/images/face/13.gif
new file mode 100644
index 0000000..300bbc2
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/13.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/14.gif b/booksalessm/WebRoot/admin/common/layui/images/face/14.gif
new file mode 100644
index 0000000..43b6d0a
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/14.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/15.gif b/booksalessm/WebRoot/admin/common/layui/images/face/15.gif
new file mode 100644
index 0000000..c9f25fa
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/15.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/16.gif b/booksalessm/WebRoot/admin/common/layui/images/face/16.gif
new file mode 100644
index 0000000..34f28e4
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/16.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/17.gif b/booksalessm/WebRoot/admin/common/layui/images/face/17.gif
new file mode 100644
index 0000000..39cd035
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/17.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/18.gif b/booksalessm/WebRoot/admin/common/layui/images/face/18.gif
new file mode 100644
index 0000000..7bce299
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/18.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/19.gif b/booksalessm/WebRoot/admin/common/layui/images/face/19.gif
new file mode 100644
index 0000000..adac542
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/19.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/2.gif b/booksalessm/WebRoot/admin/common/layui/images/face/2.gif
new file mode 100644
index 0000000..7edbb58
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/2.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/20.gif b/booksalessm/WebRoot/admin/common/layui/images/face/20.gif
new file mode 100644
index 0000000..50631a6
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/20.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/21.gif b/booksalessm/WebRoot/admin/common/layui/images/face/21.gif
new file mode 100644
index 0000000..b984212
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/21.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/22.gif b/booksalessm/WebRoot/admin/common/layui/images/face/22.gif
new file mode 100644
index 0000000..1f0bd8b
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/22.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/23.gif b/booksalessm/WebRoot/admin/common/layui/images/face/23.gif
new file mode 100644
index 0000000..e05e0f9
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/23.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/24.gif b/booksalessm/WebRoot/admin/common/layui/images/face/24.gif
new file mode 100644
index 0000000..f35928a
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/24.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/25.gif b/booksalessm/WebRoot/admin/common/layui/images/face/25.gif
new file mode 100644
index 0000000..0b4a883
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/25.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/26.gif b/booksalessm/WebRoot/admin/common/layui/images/face/26.gif
new file mode 100644
index 0000000..45c4fb5
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/26.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/27.gif b/booksalessm/WebRoot/admin/common/layui/images/face/27.gif
new file mode 100644
index 0000000..7a4c013
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/27.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/28.gif b/booksalessm/WebRoot/admin/common/layui/images/face/28.gif
new file mode 100644
index 0000000..fc5a0cf
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/28.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/29.gif b/booksalessm/WebRoot/admin/common/layui/images/face/29.gif
new file mode 100644
index 0000000..5dd7442
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/29.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/3.gif b/booksalessm/WebRoot/admin/common/layui/images/face/3.gif
new file mode 100644
index 0000000..86df67b
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/3.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/30.gif b/booksalessm/WebRoot/admin/common/layui/images/face/30.gif
new file mode 100644
index 0000000..b751f98
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/30.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/31.gif b/booksalessm/WebRoot/admin/common/layui/images/face/31.gif
new file mode 100644
index 0000000..c9476d7
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/31.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/32.gif b/booksalessm/WebRoot/admin/common/layui/images/face/32.gif
new file mode 100644
index 0000000..9931b06
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/32.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/33.gif b/booksalessm/WebRoot/admin/common/layui/images/face/33.gif
new file mode 100644
index 0000000..59111a3
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/33.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/34.gif b/booksalessm/WebRoot/admin/common/layui/images/face/34.gif
new file mode 100644
index 0000000..a334548
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/34.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/35.gif b/booksalessm/WebRoot/admin/common/layui/images/face/35.gif
new file mode 100644
index 0000000..a932264
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/35.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/36.gif b/booksalessm/WebRoot/admin/common/layui/images/face/36.gif
new file mode 100644
index 0000000..6de432a
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/36.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/37.gif b/booksalessm/WebRoot/admin/common/layui/images/face/37.gif
new file mode 100644
index 0000000..d05f2da
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/37.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/38.gif b/booksalessm/WebRoot/admin/common/layui/images/face/38.gif
new file mode 100644
index 0000000..8b1c88a
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/38.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/39.gif b/booksalessm/WebRoot/admin/common/layui/images/face/39.gif
new file mode 100644
index 0000000..38b84a5
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/39.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/4.gif b/booksalessm/WebRoot/admin/common/layui/images/face/4.gif
new file mode 100644
index 0000000..d52200c
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/4.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/40.gif b/booksalessm/WebRoot/admin/common/layui/images/face/40.gif
new file mode 100644
index 0000000..ae42991
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/40.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/41.gif b/booksalessm/WebRoot/admin/common/layui/images/face/41.gif
new file mode 100644
index 0000000..b9c715c
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/41.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/42.gif b/booksalessm/WebRoot/admin/common/layui/images/face/42.gif
new file mode 100644
index 0000000..0eb1434
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/42.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/43.gif b/booksalessm/WebRoot/admin/common/layui/images/face/43.gif
new file mode 100644
index 0000000..ac0b700
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/43.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/44.gif b/booksalessm/WebRoot/admin/common/layui/images/face/44.gif
new file mode 100644
index 0000000..ad44497
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/44.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/45.gif b/booksalessm/WebRoot/admin/common/layui/images/face/45.gif
new file mode 100644
index 0000000..6837fca
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/45.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/46.gif b/booksalessm/WebRoot/admin/common/layui/images/face/46.gif
new file mode 100644
index 0000000..d62916d
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/46.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/47.gif b/booksalessm/WebRoot/admin/common/layui/images/face/47.gif
new file mode 100644
index 0000000..58a0836
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/47.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/48.gif b/booksalessm/WebRoot/admin/common/layui/images/face/48.gif
new file mode 100644
index 0000000..7ffd161
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/48.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/49.gif b/booksalessm/WebRoot/admin/common/layui/images/face/49.gif
new file mode 100644
index 0000000..959b992
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/49.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/5.gif b/booksalessm/WebRoot/admin/common/layui/images/face/5.gif
new file mode 100644
index 0000000..4e8b09f
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/5.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/50.gif b/booksalessm/WebRoot/admin/common/layui/images/face/50.gif
new file mode 100644
index 0000000..6e22e7f
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/50.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/51.gif b/booksalessm/WebRoot/admin/common/layui/images/face/51.gif
new file mode 100644
index 0000000..ad3f4d3
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/51.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/52.gif b/booksalessm/WebRoot/admin/common/layui/images/face/52.gif
new file mode 100644
index 0000000..39f8a22
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/52.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/53.gif b/booksalessm/WebRoot/admin/common/layui/images/face/53.gif
new file mode 100644
index 0000000..a181ee7
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/53.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/54.gif b/booksalessm/WebRoot/admin/common/layui/images/face/54.gif
new file mode 100644
index 0000000..e289d92
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/54.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/55.gif b/booksalessm/WebRoot/admin/common/layui/images/face/55.gif
new file mode 100644
index 0000000..4351083
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/55.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/56.gif b/booksalessm/WebRoot/admin/common/layui/images/face/56.gif
new file mode 100644
index 0000000..e0eff22
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/56.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/57.gif b/booksalessm/WebRoot/admin/common/layui/images/face/57.gif
new file mode 100644
index 0000000..0bf130f
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/57.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/58.gif b/booksalessm/WebRoot/admin/common/layui/images/face/58.gif
new file mode 100644
index 0000000..0f06508
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/58.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/59.gif b/booksalessm/WebRoot/admin/common/layui/images/face/59.gif
new file mode 100644
index 0000000..7081e4f
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/59.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/6.gif b/booksalessm/WebRoot/admin/common/layui/images/face/6.gif
new file mode 100644
index 0000000..f7715bf
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/6.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/60.gif b/booksalessm/WebRoot/admin/common/layui/images/face/60.gif
new file mode 100644
index 0000000..6e15f89
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/60.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/61.gif b/booksalessm/WebRoot/admin/common/layui/images/face/61.gif
new file mode 100644
index 0000000..f092d7e
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/61.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/62.gif b/booksalessm/WebRoot/admin/common/layui/images/face/62.gif
new file mode 100644
index 0000000..7fe4984
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/62.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/63.gif b/booksalessm/WebRoot/admin/common/layui/images/face/63.gif
new file mode 100644
index 0000000..cf8e23e
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/63.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/64.gif b/booksalessm/WebRoot/admin/common/layui/images/face/64.gif
new file mode 100644
index 0000000..a779719
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/64.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/65.gif b/booksalessm/WebRoot/admin/common/layui/images/face/65.gif
new file mode 100644
index 0000000..7bb98f2
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/65.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/66.gif b/booksalessm/WebRoot/admin/common/layui/images/face/66.gif
new file mode 100644
index 0000000..bb6d077
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/66.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/67.gif b/booksalessm/WebRoot/admin/common/layui/images/face/67.gif
new file mode 100644
index 0000000..6e33f7c
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/67.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/68.gif b/booksalessm/WebRoot/admin/common/layui/images/face/68.gif
new file mode 100644
index 0000000..1a6c400
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/68.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/69.gif b/booksalessm/WebRoot/admin/common/layui/images/face/69.gif
new file mode 100644
index 0000000..a02f0b2
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/69.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/7.gif b/booksalessm/WebRoot/admin/common/layui/images/face/7.gif
new file mode 100644
index 0000000..e6d4db8
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/7.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/70.gif b/booksalessm/WebRoot/admin/common/layui/images/face/70.gif
new file mode 100644
index 0000000..416c5c1
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/70.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/71.gif b/booksalessm/WebRoot/admin/common/layui/images/face/71.gif
new file mode 100644
index 0000000..c17d60c
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/71.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/8.gif b/booksalessm/WebRoot/admin/common/layui/images/face/8.gif
new file mode 100644
index 0000000..66f967b
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/8.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/images/face/9.gif b/booksalessm/WebRoot/admin/common/layui/images/face/9.gif
new file mode 100644
index 0000000..6044740
Binary files /dev/null and b/booksalessm/WebRoot/admin/common/layui/images/face/9.gif differ
diff --git a/booksalessm/WebRoot/admin/common/layui/lay/dest/layui.all.js b/booksalessm/WebRoot/admin/common/layui/lay/dest/layui.all.js
new file mode 100644
index 0000000..bd7d217
--- /dev/null
+++ b/booksalessm/WebRoot/admin/common/layui/lay/dest/layui.all.js
@@ -0,0 +1,5540 @@
+/** layui-v1.0.7 MIT License By http://www.layui.com */ ;
+! function(e) {
+ "use strict";
+ var t = function() {
+ this.v = "1.0.7"
+ };
+ t.fn = t.prototype;
+ var n = document,
+ o = t.fn.cache = {},
+ i = function() {
+ var e = n.scripts,
+ t = e[e.length - 1].src;
+ return t.substring(0, t.lastIndexOf("/") + 1)
+ }(),
+ r = function(t) {
+ e.console && console.error && console.error("Layui hint: " + t)
+ },
+ l = "undefined" != typeof opera && "[object Opera]" === opera.toString(),
+ a = {
+ layer: "modules/layer",
+ laydate: "modules/laydate",
+ laypage: "modules/laypage",
+ laytpl: "modules/laytpl",
+ layim: "modules/layim",
+ layedit: "modules/layedit",
+ form: "modules/form",
+ upload: "modules/upload",
+ tree: "modules/tree",
+ slide: "modules/slide",
+ table: "modules/table",
+ element: "modules/element",
+ util: "modules/util",
+ flow: "modules/flow",
+ code: "modules/code",
+ jquery: "modules/jquery",
+ mobile: "modules/mobile",
+ "layui.all": "dest/layui.all"
+ };
+ o.modules = {}, o.status = {}, o.timeout = 10, o.event = {}, t.fn.define = function(e, t) {
+ var n = this,
+ i = "function" == typeof e,
+ r = function() {
+ return "function" == typeof t && t(function(e, t) {
+ layui[e] = t, o.status[e] = !0
+ }), this
+ };
+ return i && (t = e, e = []), layui["layui.all"] || !layui["layui.all"] && layui["layui.mobile"] ? r.call(n) : (n.use(e, r), n)
+ }, t.fn.use = function(e, t, u) {
+ function s(e, t) {
+ var n = "PLaySTATION 3" === navigator.platform ? /^complete$/ : /^(complete|loaded)$/;
+ ("load" === e.type || n.test((e.currentTarget || e.srcElement).readyState)) && (o.modules[m] = t, y.removeChild(v), function i() {
+ return ++p > 1e3 * o.timeout / 4 ? r(m + " is not a valid module") : void(o.status[m] ? c() : setTimeout(i, 4))
+ }())
+ }
+
+ function c() {
+ u.push(layui[m]), e.length > 1 ? f.use(e.slice(1), t, u) : "function" == typeof t && t.apply(layui, u)
+ }
+ var f = this,
+ d = o.dir = o.dir ? o.dir : i,
+ y = n.getElementsByTagName("head")[0];
+ e = "string" == typeof e ? [e] : e, window.jQuery && jQuery.fn.on && (f.each(e, function(t, n) {
+ "jquery" === n && e.splice(t, 1)
+ }), layui.jquery = jQuery);
+ var m = e[0],
+ p = 0;
+ if(u = u || [], o.host = o.host || (d.match(/\/\/([\s\S]+?)\//) || ["//" + location.host + "/"])[0], 0 === e.length || layui["layui.all"] && a[m] || !layui["layui.all"] && layui["layui.mobile"] && a[m]) return "function" == typeof t && t.apply(layui, u), f;
+ var v = n.createElement("script"),
+ h = (a[m] ? d + "lay/" : o.base || "") + (f.modules[m] || m) + ".js";
+ return v.async = !0, v.charset = "utf-8", v.src = h + function() {
+ var e = o.version === !0 ? o.v || (new Date).getTime() : o.version || "";
+ return e ? "?v=" + e : ""
+ }(), o.modules[m] ? ! function g() {
+ return ++p > 1e3 * o.timeout / 4 ? r(m + " is not a valid module") : void("string" == typeof o.modules[m] && o.status[m] ? c() : setTimeout(g, 4))
+ }() : (y.appendChild(v), !v.attachEvent || v.attachEvent.toString && v.attachEvent.toString().indexOf("[native code") < 0 || l ? v.addEventListener("load", function(e) {
+ s(e, h)
+ }, !1) : v.attachEvent("onreadystatechange", function(e) {
+ s(e, h)
+ })), o.modules[m] = h, f
+ }, t.fn.getStyle = function(t, n) {
+ var o = t.currentStyle ? t.currentStyle : e.getComputedStyle(t, null);
+ return o[o.getPropertyValue ? "getPropertyValue" : "getAttribute"](n)
+ }, t.fn.link = function(e, t, i) {
+ var l = this,
+ a = n.createElement("link"),
+ u = n.getElementsByTagName("head")[0];
+ "string" == typeof t && (i = t);
+ var s = (i || e).replace(/\.|\//g, ""),
+ c = a.id = "layuicss-" + s,
+ f = 0;
+ a.rel = "stylesheet", a.href = e + (o.debug ? "?v=" + (new Date).getTime() : ""), a.media = "all", n.getElementById(c) || u.appendChild(a), "function" == typeof t && ! function d() {
+ return ++f > 1e3 * o.timeout / 100 ? r(e + " timeout") : void(1989 === parseInt(l.getStyle(n.getElementById(c), "width")) ? function() {
+ t()
+ }() : setTimeout(d, 100))
+ }()
+ }, t.fn.addcss = function(e, t, n) {
+ layui.link(o.dir + "css/" + e, t, n)
+ }, t.fn.img = function(e, t, n) {
+ var o = new Image;
+ return o.src = e, o.complete ? t(o) : (o.onload = function() {
+ o.onload = null, t(o)
+ }, void(o.onerror = function(e) {
+ o.onerror = null, n(e)
+ }))
+ }, t.fn.config = function(e) {
+ e = e || {};
+ for(var t in e) o[t] = e[t];
+ return this
+ }, t.fn.modules = function() {
+ var e = {};
+ for(var t in a) e[t] = a[t];
+ return e
+ }(), t.fn.extend = function(e) {
+ var t = this;
+ e = e || {};
+ for(var n in e) t[n] || t.modules[n] ? r("模块名 " + n + " 已被占用") : t.modules[n] = e[n];
+ return t
+ }, t.fn.router = function(e) {
+ for(var t, n = (e || location.hash).replace(/^#/, "").split("/") || [], o = {
+ dir: []
+ }, i = 0; i < n.length; i++) t = n[i].split("="), /^\w+=/.test(n[i]) ? function() {
+ "dir" !== t[0] && (o[t[0]] = t[1])
+ }() : o.dir.push(n[i]), t = null;
+ return o
+ }, t.fn.data = function(t, n) {
+ if(t = t || "layui", e.JSON && e.JSON.parse) {
+ if(null === n) return delete localStorage[t];
+ n = "object" == typeof n ? n : {
+ key: n
+ };
+ try {
+ var o = JSON.parse(localStorage[t])
+ } catch(i) {
+ var o = {}
+ }
+ return n.value && (o[n.key] = n.value), n.remove && delete o[n.key], localStorage[t] = JSON.stringify(o), n.key ? o[n.key] : o
+ }
+ }, t.fn.device = function(t) {
+ var n = navigator.userAgent.toLowerCase(),
+ o = function(e) {
+ var t = new RegExp(e + "/([^\\s\\_\\-]+)");
+ return e = (n.match(t) || [])[1], e || !1
+ },
+ i = {
+ os: function() {
+ return /windows/.test(n) ? "windows" : /linux/.test(n) ? "linux" : /iphone|ipod|ipad|ios/.test(n) ? "ios" : void 0
+ }(),
+ ie: function() {
+ return !!(e.ActiveXObject || "ActiveXObject" in e) && ((n.match(/msie\s(\d+)/) || [])[1] || "11")
+ }(),
+ weixin: o("micromessenger")
+ };
+ return t && !i[t] && (i[t] = o(t)), i.android = /android/.test(n), i.ios = "ios" === i.os, i
+ }, t.fn.hint = function() {
+ return {
+ error: r
+ }
+ }, t.fn.each = function(e, t) {
+ var n, o = this;
+ if("function" != typeof t) return o;
+ if(e = e || [], e.constructor === Object) {
+ for(n in e)
+ if(t.call(e[n], n, e[n])) break
+ } else
+ for(n = 0; n < e.length && !t.call(e[n], n, e[n]); n++);
+ return o
+ }, t.fn.stope = function(t) {
+ t = t || e.event, t.stopPropagation ? t.stopPropagation() : t.cancelBubble = !0
+ }, t.fn.onevent = function(e, t, n) {
+ return "string" != typeof e || "function" != typeof n ? this : (o.event[e + "." + t] = [n], this)
+ }, t.fn.event = function(e, t, n) {
+ var i = this,
+ r = null,
+ l = t.match(/\(.*\)$/) || [],
+ a = (t = e + "." + t).replace(l, ""),
+ u = function(e, t) {
+ var o = t && t.call(i, n);
+ o === !1 && null === r && (r = !1)
+ };
+ return layui.each(o.event[a], u), l[0] && layui.each(o.event[t], u), r
+ }, e.layui = new t
+}(window);
+layui.define(function(a) {
+ var i = layui.cache;
+ layui.config({
+ dir: i.dir.replace(/lay\/dest\/$/, "")
+ }), a("layui.all", layui.v)
+});
+layui.define(function(e) {
+ "use strict";
+ var r = {
+ open: "{{",
+ close: "}}"
+ },
+ n = {
+ exp: function(e) {
+ return new RegExp(e, "g")
+ },
+ query: function(e, n, t) {
+ var o = ["#([\\s\\S])+?", "([^{#}])*?"][e || 0];
+ return c((n || "") + r.open + o + r.close + (t || ""))
+ },
+ escape: function(e) {
+ return String(e || "").replace(/&(?!#?[a-zA-Z0-9]+;)/g, "&").replace(//g, ">").replace(/'/g, "'").replace(/"/g, """)
+ },
+ error: function(e, r) {
+ var n = "Laytpl Error:";
+ return "object" == typeof console && console.error(n + e + "\n" + (r || "")), n + e
+ }
+ },
+ c = n.exp,
+ t = function(e) {
+ this.tpl = e
+ };
+ t.pt = t.prototype, window.errors = 0, t.pt.parse = function(e, t) {
+ var o = this,
+ p = e,
+ a = c("^" + r.open + "#", ""),
+ l = c(r.close + "$", "");
+ e = e.replace(/\s+|\r|\t|\n/g, " ").replace(c(r.open + "#"), r.open + "# ").replace(c(r.close + "}"), "} " + r.close).replace(/\\/g, "\\\\").replace(/(?="|')/g, "\\").replace(n.query(), function(e) {
+ return e = e.replace(a, "").replace(l, ""), '";' + e.replace(/\\/g, "") + ';view+="'
+ }).replace(n.query(1), function(e) {
+ var n = '"+(';
+ return e.replace(/\s/g, "") === r.open + r.close ? "" : (e = e.replace(c(r.open + "|" + r.close), ""), /^=/.test(e) && (e = e.replace(/^=/, ""), n = '"+_escape_('), n + e.replace(/\\/g, "") + ')+"')
+ }), e = '"use strict";var view = "' + e + '";return view;';
+ try {
+ return o.cache = e = new Function("d, _escape_", e), e(t, n.escape)
+ } catch(u) {
+ return delete o.cache, n.error(u, p)
+ }
+ }, t.pt.render = function(e, r) {
+ var c, t = this;
+ return e ? (c = t.cache ? t.cache(e, n.escape) : t.parse(t.tpl, e), r ? void r(c) : c) : n.error("no data")
+ };
+ var o = function(e) {
+ return "string" != typeof e ? n.error("Template not found") : new t(e)
+ };
+ o.config = function(e) {
+ e = e || {};
+ for(var n in e) r[n] = e[n]
+ }, o.v = "1.2.0", e("laytpl", o)
+});
+layui.define(function(a) {
+ "use strict";
+
+ function t(a) {
+ new p(a)
+ }
+ var e = document,
+ r = "getElementById",
+ n = "getElementsByTagName",
+ s = 0,
+ p = function(a) {
+ var t = this,
+ e = t.config = a || {};
+ e.item = s++, t.render(!0)
+ };
+ p.on = function(a, t, e) {
+ return a.attachEvent ? a.attachEvent("on" + t, function() {
+ e.call(a, window.even)
+ }) : a.addEventListener(t, e, !1), p
+ }, p.prototype.type = function() {
+ var a = this.config;
+ if("object" == typeof a.cont) return void 0 === a.cont.length ? 2 : 3
+ }, p.prototype.view = function() {
+ var a = this,
+ t = a.config,
+ e = [],
+ r = {};
+ if(t.pages = 0 | t.pages, t.curr = 0 | t.curr || 1, t.groups = "groups" in t ? 0 | t.groups : 5, t.first = "first" in t ? t.first : "首页", t.last = "last" in t ? t.last : "末页", t.prev = "prev" in t ? t.prev : "上一页", t.next = "next" in t ? t.next : "下一页", t.pages <= 1) return "";
+ for(t.groups > t.pages && (t.groups = t.pages), r.index = Math.ceil((t.curr + (t.groups > 1 && t.groups !== t.pages ? 1 : 0)) / (0 === t.groups ? 1 : t.groups)), t.curr > 1 && t.prev && e.push('' + t.prev + ""), r.index > 1 && t.first && 0 !== t.groups && e.push('' + t.first + "…"), r.poor = Math.floor((t.groups - 1) / 2), r.start = r.index > 1 ? t.curr - r.poor : 1, r.end = r.index > 1 ? function() {
+ var a = t.curr + (t.groups - r.poor - 1);
+ return a > t.pages ? t.pages : a
+ }() : t.groups, r.end - r.start < t.groups - 1 && (r.start = r.end - t.groups + 1); r.start <= r.end; r.start++) r.start === t.curr ? e.push('" + r.start + "") : e.push('' + r.start + "");
+ return t.pages > t.groups && r.end < t.pages && t.last && 0 !== t.groups && e.push('…' + t.last + ""), r.flow = !t.prev && 0 === t.groups, (t.curr !== t.pages && t.next || r.flow) && e.push(function() {
+ return r.flow && t.curr === t.pages ? '' + t.next + "" : '' + t.next + ""
+ }()), '' + e.join("") + function() {
+ return t.skip ? '到第 页 ' : ""
+ }() + "
"
+ }, p.prototype.jump = function(a) {
+ if(a) {
+ for(var t = this, e = t.config, r = a.children, s = a[n]("button")[0], i = a[n]("input")[0], u = 0, o = r.length; u < o; u++) "a" === r[u].nodeName.toLowerCase() && p.on(r[u], "click", function() {
+ var a = 0 | this.getAttribute("data-page");
+ e.curr = a, t.render()
+ });
+ s && p.on(s, "click", function() {
+ var a = 0 | i.value.replace(/\s|\D/g, "");
+ a && a <= e.pages && (e.curr = a, t.render())
+ })
+ }
+ }, p.prototype.render = function(a) {
+ var t = this,
+ n = t.config,
+ s = t.type(),
+ p = t.view();
+ 2 === s ? n.cont.innerHTML = p : 3 === s ? n.cont.html(p) : e[r](n.cont).innerHTML = p, n.jump && n.jump(n, a), t.jump(e[r]("layui-laypage-" + n.item)), n.hash && !a && (location.hash = "!" + n.hash + "=" + n.curr)
+ }, a("laypage", t)
+});
+layui.define(function(e) {
+ "use strict";
+ var t = window,
+ a = {
+ path: "",
+ skin: "default",
+ format: "YYYY-MM-DD",
+ min: "1900-01-01 00:00:00",
+ max: "2099-12-31 23:59:59",
+ isv: !1,
+ init: !0
+ },
+ n = {},
+ s = document,
+ i = "createElement",
+ o = "getElementById",
+ l = "getElementsByTagName",
+ d = ["laydate_box", "laydate_void", "laydate_click", "LayDateSkin", "skins/", "/laydate.css"];
+ t.laydate = function(e) {
+ return e = e || {}, n.run(e), laydate
+ }, laydate.v = "1.1", n.trim = function(e) {
+ return e = e || "", e.replace(/^\s|\s$/g, "").replace(/\s+/g, " ")
+ }, n.digit = function(e) {
+ return e < 10 ? "0" + (0 | e) : e
+ }, n.stopmp = function(e) {
+ return e = e || t.event, e.stopPropagation ? e.stopPropagation() : e.cancelBubble = !0, this
+ }, n.each = function(e, t) {
+ for(var a = 0, n = e.length; a < n && t(a, e[a]) !== !1; a++);
+ }, n.hasClass = function(e, t) {
+ return e = e || {}, new RegExp("\\b" + t + "\\b").test(e.className)
+ }, n.addClass = function(e, t) {
+ return e = e || {}, n.hasClass(e, t) || (e.className += " " + t), e.className = n.trim(e.className), this
+ }, n.removeClass = function(e, t) {
+ if(e = e || {}, n.hasClass(e, t)) {
+ var a = new RegExp("\\b" + t + "\\b");
+ e.className = e.className.replace(a, "")
+ }
+ return this
+ }, n.removeCssAttr = function(e, t) {
+ var a = e.style;
+ a.removeProperty ? a.removeProperty(t) : a.removeAttribute(t)
+ }, n.shde = function(e, t) {
+ e.style.display = t ? "none" : "block"
+ }, n.query = function(e) {
+ if(e && 1 === e.nodeType) {
+ if("input" !== e.tagName.toLowerCase()) throw new Error("选择器elem错误");
+ return e
+ }
+ var t, e = n.trim(e).split(" "),
+ a = s[o](e[0].substr(1));
+ if(a) {
+ if(e[1]) {
+ if(/^\./.test(e[1])) {
+ var i, d = e[1].substr(1),
+ r = new RegExp("\\b" + d + "\\b");
+ return t = [], i = s.getElementsByClassName ? a.getElementsByClassName(d) : a[l]("*"), n.each(i, function(e, a) {
+ r.test(a.className) && t.push(a)
+ }), t[0] ? t : ""
+ }
+ return t = a[l](e[1]), t[0] ? a[l](e[1]) : ""
+ }
+ return a
+ }
+ }, n.on = function(e, a, s) {
+ return e.attachEvent ? e.attachEvent("on" + a, function() {
+ s.call(e, t.even)
+ }) : e.addEventListener(a, s, !1), n
+ }, n.stopMosup = function(e, t) {
+ "mouseup" !== e && n.on(t, "mouseup", function(e) {
+ n.stopmp(e)
+ })
+ }, n.run = function(e) {
+ var t = (n.query, e.elem);
+ t && (d.elemv = /textarea|input/.test(t.tagName.toLocaleLowerCase()) ? "value" : "innerHTML", ("init" in e ? e.init : a.init) && !t[d.elemv] && (t[d.elemv] = laydate.now(null, e.format || a.format)), n.view(t, e), n.reshow())
+ }, n.scroll = function(e) {
+ return e = e ? "scrollLeft" : "scrollTop", s.body[e] | s.documentElement[e]
+ }, n.winarea = function(e) {
+ return document.documentElement[e ? "clientWidth" : "clientHeight"]
+ }, n.isleap = function(e) {
+ return e % 4 === 0 && e % 100 !== 0 || e % 400 === 0
+ }, n.checkVoid = function(e, t, a) {
+ var s = [];
+ return e = 0 | e, t = 0 | t, a = 0 | a, e < n.mins[0] ? s = ["y"] : e > n.maxs[0] ? s = ["y", 1] : e >= n.mins[0] && e <= n.maxs[0] && (e == n.mins[0] && (t < n.mins[1] ? s = ["m"] : t == n.mins[1] && a < n.mins[2] && (s = ["d"])), e == n.maxs[0] && (t > n.maxs[1] ? s = ["m", 1] : t == n.maxs[1] && a > n.maxs[2] && (s = ["d", 1]))), s
+ }, n.timeVoid = function(e, t) {
+ if(n.ymd[1] + 1 == n.mins[1] && n.ymd[2] == n.mins[2]) {
+ if(0 === t && e < n.mins[3]) return 1;
+ if(1 === t && e < n.mins[4]) return 1;
+ if(2 === t && e < n.mins[5]) return 1
+ } else if(n.ymd[1] + 1 == n.maxs[1] && n.ymd[2] == n.maxs[2]) {
+ if(0 === t && e > n.maxs[3]) return 1;
+ if(1 === t && e > n.maxs[4]) return 1;
+ if(2 === t && e > n.maxs[5]) return 1
+ }
+ if(e > (t ? 59 : 23)) return 1
+ }, n.check = function() {
+ var e = n.options.format.replace(/YYYY|MM|DD|hh|mm|ss/g, "\\d+\\").replace(/\\$/g, ""),
+ t = new RegExp(e),
+ a = n.elem[d.elemv],
+ s = a.match(/\d+/g) || [],
+ i = n.checkVoid(s[0], s[1], s[2]);
+ if("" !== a.replace(/\s/g, "")) {
+ if(!t.test(a)) return n.elem[d.elemv] = "", n.msg("日期不符合格式,请重新选择。"), 1;
+ if(i[0]) return n.elem[d.elemv] = "", n.msg("日期不在有效期内,请重新选择。"), 1;
+ i.value = n.elem[d.elemv].match(t).join(), s = i.value.match(/\d+/g), s[1] < 1 ? (s[1] = 1, i.auto = 1) : s[1] > 12 ? (s[1] = 12, i.auto = 1) : s[1].length < 2 && (i.auto = 1), s[2] < 1 ? (s[2] = 1, i.auto = 1) : s[2] > n.months[(0 | s[1]) - 1] ? (s[2] = 31, i.auto = 1) : s[2].length < 2 && (i.auto = 1), s.length > 3 && (n.timeVoid(s[3], 0) && (i.auto = 1), n.timeVoid(s[4], 1) && (i.auto = 1), n.timeVoid(s[5], 2) && (i.auto = 1)), i.auto ? n.creation([s[0], 0 | s[1], 0 | s[2]], 1) : i.value !== n.elem[d.elemv] && (n.elem[d.elemv] = i.value)
+ }
+ }, n.months = [31, null, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31], n.viewDate = function(e, t, a) {
+ var s = (n.query, {}),
+ i = new Date;
+ e < (0 | n.mins[0]) && (e = 0 | n.mins[0]), e > (0 | n.maxs[0]) && (e = 0 | n.maxs[0]), i.setFullYear(e, t, a), s.ymd = [i.getFullYear(), i.getMonth(), i.getDate()], n.months[1] = n.isleap(s.ymd[0]) ? 29 : 28, i.setFullYear(s.ymd[0], s.ymd[1], 1), s.FDay = i.getDay(), s.PDay = n.months[0 === t ? 11 : t - 1] - s.FDay + 1, s.NDay = 1, n.each(d.tds, function(e, t) {
+ var a, i = s.ymd[0],
+ o = s.ymd[1] + 1;
+ t.className = "", e < s.FDay ? (t.innerHTML = a = e + s.PDay, n.addClass(t, "laydate_nothis"), 1 === o && (i -= 1), o = 1 === o ? 12 : o - 1) : e >= s.FDay && e < s.FDay + n.months[s.ymd[1]] ? (t.innerHTML = a = e - s.FDay + 1, e - s.FDay + 1 === s.ymd[2] && (n.addClass(t, d[2]), s.thisDay = t)) : (t.innerHTML = a = s.NDay++, n.addClass(t, "laydate_nothis"), 12 === o && (i += 1), o = 12 === o ? 1 : o + 1), n.checkVoid(i, o, a)[0] && n.addClass(t, d[1]), n.options.festival && n.festival(t, o + "." + a), t.setAttribute("y", i), t.setAttribute("m", o), t.setAttribute("d", a), i = o = a = null
+ }), n.valid = !n.hasClass(s.thisDay, d[1]), n.ymd = s.ymd, d.year.value = n.ymd[0] + "年", d.month.value = n.digit(n.ymd[1] + 1) + "月", n.each(d.mms, function(e, t) {
+ var a = n.checkVoid(n.ymd[0], (0 | t.getAttribute("m")) + 1);
+ "y" === a[0] || "m" === a[0] ? n.addClass(t, d[1]) : n.removeClass(t, d[1]), n.removeClass(t, d[2]), a = null
+ }), n.addClass(d.mms[n.ymd[1]], d[2]), s.times = [0 | n.inymd[3] || 0, 0 | n.inymd[4] || 0, 0 | n.inymd[5] || 0], n.each(new Array(3), function(e) {
+ n.hmsin[e].value = n.digit(n.timeVoid(s.times[e], e) ? 0 | n.mins[e + 3] : 0 | s.times[e])
+ }), n[n.valid ? "removeClass" : "addClass"](d.ok, d[1])
+ }, n.festival = function(e, t) {
+ var a;
+ switch(t) {
+ case "1.1":
+ a = "元旦";
+ break;
+ case "3.8":
+ a = "妇女";
+ break;
+ case "4.5":
+ a = "清明";
+ break;
+ case "5.1":
+ a = "劳动";
+ break;
+ case "6.1":
+ a = "儿童";
+ break;
+ case "9.10":
+ a = "教师";
+ break;
+ case "10.1":
+ a = "国庆"
+ }
+ a && (e.innerHTML = a), a = null
+ }, n.viewYears = function(e) {
+ var t = n.query,
+ a = "";
+ n.each(new Array(14), function(t) {
+ a += 7 === t ? "' + e + "年" : '' + (e - 7 + t) + "年"
+ }), t("#laydate_ys").innerHTML = a, n.each(t("#laydate_ys li"), function(e, t) {
+ "y" === n.checkVoid(t.getAttribute("y"))[0] ? n.addClass(t, d[1]) : n.on(t, "click", function(e) {
+ n.stopmp(e).reshow(), n.viewDate(0 | this.getAttribute("y"), n.ymd[1], n.ymd[2])
+ })
+ })
+ }, n.initDate = function() {
+ var e = (n.query, new Date),
+ t = n.elem[d.elemv].match(/\d+/g) || [];
+ t.length < 3 && (t = n.options.start.match(/\d+/g) || [], t.length < 3 && (t = [e.getFullYear(), e.getMonth() + 1, e.getDate()])), n.inymd = t, n.viewDate(t[0], t[1] - 1, t[2])
+ }, n.iswrite = function() {
+ var e = n.query,
+ t = {
+ time: e("#laydate_hms")
+ };
+ n.shde(t.time, !n.options.istime), n.shde(d.oclear, !("isclear" in n.options ? n.options.isclear : 1)), n.shde(d.otoday, !("istoday" in n.options ? n.options.istoday : 1)), n.shde(d.ok, !("issure" in n.options ? n.options.issure : 1))
+ }, n.orien = function(e, t) {
+ var a, s = n.elem.getBoundingClientRect();
+ e.style.left = s.left + (t ? 0 : n.scroll(1)) + "px", a = s.bottom + e.offsetHeight / 1.5 <= n.winarea() ? s.bottom - 1 : s.top > e.offsetHeight / 1.5 ? s.top - e.offsetHeight + 1 : n.winarea() - e.offsetHeight, e.style.top = Math.max(a + (t ? 0 : n.scroll()), 1) + "px"
+ }, n.follow = function(e) {
+ n.options.fixed ? (e.style.position = "fixed", n.orien(e, 1)) : (e.style.position = "absolute", n.orien(e))
+ }, n.viewtb = function() {
+ var e, t = [],
+ a = ["日", "一", "二", "三", "四", "五", "六"],
+ o = {},
+ d = s[i]("table"),
+ r = s[i]("thead");
+ return r.appendChild(s[i]("tr")), o.creath = function(e) {
+ var t = s[i]("th");
+ t.innerHTML = a[e], r[l]("tr")[0].appendChild(t), t = null
+ }, n.each(new Array(6), function(a) {
+ t.push([]), e = d.insertRow(0), n.each(new Array(7), function(n) {
+ t[a][n] = 0, 0 === a && o.creath(n), e.insertCell(n)
+ })
+ }), d.insertBefore(r, d.children[0]), d.id = d.className = "laydate_table", e = t = null, d.outerHTML.toLowerCase()
+ }(), n.view = function(e, t) {
+ var o, l = n.query,
+ r = {};
+ t = t || e, n.elem = e, n.options = t, n.options.format || (n.options.format = a.format), n.options.start = n.options.start || "", n.mm = r.mm = [n.options.min || a.min, n.options.max || a.max], n.mins = r.mm[0].match(/\d+/g), n.maxs = r.mm[1].match(/\d+/g), n.box ? n.shde(n.box) : (o = s[i]("div"), o.id = d[0], o.className = d[0], o.style.cssText = "position: absolute;", o.setAttribute("name", "laydate-v" + laydate.v), o.innerHTML = r.html = '" + n.viewtb + '", s.body.appendChild(o), n.box = l("#" + d[0]), n.events(), o = null), n.follow(n.box), t.zIndex ? n.box.style.zIndex = t.zIndex : n.removeCssAttr(n.box, "z-index"), n.stopMosup("click", n.box), n.initDate(), n.iswrite(), n.check()
+ }, n.reshow = function() {
+ return n.each(n.query("#" + d[0] + " .laydate_show"), function(e, t) {
+ n.removeClass(t, "laydate_show")
+ }), this
+ }, n.close = function() {
+ n.reshow(), n.shde(n.query("#" + d[0]), 1), n.elem = null
+ }, n.parse = function(e, t, s) {
+ return e = e.concat(t), s = s || (n.options ? n.options.format : a.format), s.replace(/YYYY|MM|DD|hh|mm|ss/g, function(t, a) {
+ return e.index = 0 | ++e.index, n.digit(e[e.index])
+ })
+ }, n.creation = function(e, t) {
+ var a = (n.query, n.hmsin),
+ s = n.parse(e, [a[0].value, a[1].value, a[2].value]);
+ n.elem[d.elemv] = s, t || (n.close(), "function" == typeof n.options.choose && n.options.choose(s))
+ }, n.events = function() {
+ var e = n.query,
+ a = {
+ box: "#" + d[0]
+ };
+ n.addClass(s.body, "laydate_body"), d.tds = e("#laydate_table td"), d.mms = e("#laydate_ms span"), d.year = e("#laydate_y"), d.month = e("#laydate_m"), n.each(e(a.box + " .laydate_ym"), function(e, t) {
+ n.on(t, "click", function(t) {
+ n.stopmp(t).reshow(), n.addClass(this[l]("div")[0], "laydate_show"), e || (a.YY = parseInt(d.year.value), n.viewYears(a.YY))
+ })
+ }), n.on(e(a.box), "click", function() {
+ n.reshow()
+ }), a.tabYear = function(e) {
+ 0 === e ? n.ymd[0]-- : 1 === e ? n.ymd[0]++ : 2 === e ? a.YY -= 14 : a.YY += 14, e < 2 ? (n.viewDate(n.ymd[0], n.ymd[1], n.ymd[2]), n.reshow()) : n.viewYears(a.YY)
+ }, n.each(e("#laydate_YY .laydate_tab"), function(e, t) {
+ n.on(t, "click", function(t) {
+ n.stopmp(t), a.tabYear(e)
+ })
+ }), a.tabMonth = function(e) {
+ e ? (n.ymd[1]++, 12 === n.ymd[1] && (n.ymd[0]++, n.ymd[1] = 0)) : (n.ymd[1]--, n.ymd[1] === -1 && (n.ymd[0]--, n.ymd[1] = 11)), n.viewDate(n.ymd[0], n.ymd[1], n.ymd[2])
+ }, n.each(e("#laydate_MM .laydate_tab"), function(e, t) {
+ n.on(t, "click", function(t) {
+ n.stopmp(t).reshow(), a.tabMonth(e)
+ })
+ }), n.each(e("#laydate_ms span"), function(e, t) {
+ n.on(t, "click", function(e) {
+ n.stopmp(e).reshow(), n.hasClass(this, d[1]) || n.viewDate(n.ymd[0], 0 | this.getAttribute("m"), n.ymd[2])
+ })
+ }), n.each(e("#laydate_table td"), function(e, t) {
+ n.on(t, "click", function(e) {
+ n.hasClass(this, d[1]) || (n.stopmp(e), n.creation([0 | this.getAttribute("y"), 0 | this.getAttribute("m"), 0 | this.getAttribute("d")]))
+ })
+ }), d.oclear = e("#laydate_clear"), n.on(d.oclear, "click", function() {
+ n.elem[d.elemv] = "", n.close()
+ }), d.otoday = e("#laydate_today"), n.on(d.otoday, "click", function() {
+ var e = new Date;
+ n.creation([e.getFullYear(), e.getMonth() + 1, e.getDate()])
+ }), d.ok = e("#laydate_ok"), n.on(d.ok, "click", function() {
+ n.valid && n.creation([n.ymd[0], n.ymd[1] + 1, n.ymd[2]])
+ }), a.times = e("#laydate_time"), n.hmsin = a.hmsin = e("#laydate_hms input"), a.hmss = ["小时", "分钟", "秒数"], a.hmsarr = [], n.msg = function(t, s) {
+ var i = '' + (s || "提示") + "×
";
+ "string" == typeof t ? (i += "" + t + "
", n.shde(e("#" + d[0])), n.removeClass(a.times, "laydate_time1").addClass(a.times, "laydate_msg")) : (a.hmsarr[t] ? i = a.hmsarr[t] : (i += '', n.each(new Array(0 === t ? 24 : 60), function(e) {
+ i += "" + e + ""
+ }), i += "
", a.hmsarr[t] = i), n.removeClass(a.times, "laydate_msg"), n[0 === t ? "removeClass" : "addClass"](a.times, "laydate_time1")), n.addClass(a.times, "laydate_show"), a.times.innerHTML = i
+ }, a.hmson = function(t, a) {
+ var s = e("#laydate_hmsno span"),
+ i = n.valid ? null : 1;
+ n.each(s, function(e, s) {
+ i ? n.addClass(s, d[1]) : n.timeVoid(e, a) ? n.addClass(s, d[1]) : n.on(s, "click", function(e) {
+ n.hasClass(this, d[1]) || (t.value = n.digit(0 | this.innerHTML))
+ })
+ }), n.addClass(s[0 | t.value], "laydate_click")
+ }, n.each(a.hmsin, function(e, t) {
+ n.on(t, "click", function(t) {
+ n.stopmp(t).reshow(), n.msg(e, a.hmss[e]), a.hmson(this, e)
+ })
+ }), n.on(s, "mouseup", function() {
+ var t = e("#" + d[0]);
+ t && "none" !== t.style.display && (n.check() || n.close())
+ }).on(s, "keydown", function(e) {
+ e = e || t.event;
+ var a = e.keyCode;
+ 13 === a && n.elem && n.creation([n.ymd[0], n.ymd[1] + 1, n.ymd[2]])
+ })
+ }, laydate.reset = function() {
+ n.box && n.elem && n.follow(n.box)
+ }, laydate.now = function(e, t) {
+ var a = new Date(0 | e ? function(e) {
+ return e < 864e5 ? +new Date + 864e5 * e : e
+ }(parseInt(e)) : +new Date);
+ return n.parse([a.getFullYear(), a.getMonth() + 1, a.getDate()], [a.getHours(), a.getMinutes(), a.getSeconds()], t)
+ }, layui.addcss("modules/laydate/laydate.css", function() {}, "laydatecss"), e("laydate", laydate)
+});
+! function(e, t) {
+ "object" == typeof module && "object" == typeof module.exports ? module.exports = e.document ? t(e, !0) : function(e) {
+ if(!e.document) throw new Error("jQuery requires a window with a document");
+ return t(e)
+ } : t(e)
+}("undefined" != typeof window ? window : this, function(e, t) {
+ function n(e) {
+ var t = !!e && "length" in e && e.length,
+ n = pe.type(e);
+ return "function" !== n && !pe.isWindow(e) && ("array" === n || 0 === t || "number" == typeof t && t > 0 && t - 1 in e)
+ }
+
+ function r(e, t, n) {
+ if(pe.isFunction(t)) return pe.grep(e, function(e, r) {
+ return !!t.call(e, r, e) !== n
+ });
+ if(t.nodeType) return pe.grep(e, function(e) {
+ return e === t !== n
+ });
+ if("string" == typeof t) {
+ if(Ce.test(t)) return pe.filter(t, e, n);
+ t = pe.filter(t, e)
+ }
+ return pe.grep(e, function(e) {
+ return pe.inArray(e, t) > -1 !== n
+ })
+ }
+
+ function i(e, t) {
+ do e = e[t]; while (e && 1 !== e.nodeType);
+ return e
+ }
+
+ function o(e) {
+ var t = {};
+ return pe.each(e.match(De) || [], function(e, n) {
+ t[n] = !0
+ }), t
+ }
+
+ function a() {
+ re.addEventListener ? (re.removeEventListener("DOMContentLoaded", s), e.removeEventListener("load", s)) : (re.detachEvent("onreadystatechange", s), e.detachEvent("onload", s))
+ }
+
+ function s() {
+ (re.addEventListener || "load" === e.event.type || "complete" === re.readyState) && (a(), pe.ready())
+ }
+
+ function u(e, t, n) {
+ if(void 0 === n && 1 === e.nodeType) {
+ var r = "data-" + t.replace(_e, "-$1").toLowerCase();
+ if(n = e.getAttribute(r), "string" == typeof n) {
+ try {
+ n = "true" === n || "false" !== n && ("null" === n ? null : +n + "" === n ? +n : qe.test(n) ? pe.parseJSON(n) : n)
+ } catch(i) {}
+ pe.data(e, t, n)
+ } else n = void 0
+ }
+ return n
+ }
+
+ function l(e) {
+ var t;
+ for(t in e)
+ if(("data" !== t || !pe.isEmptyObject(e[t])) && "toJSON" !== t) return !1;
+ return !0
+ }
+
+ function c(e, t, n, r) {
+ if(He(e)) {
+ var i, o, a = pe.expando,
+ s = e.nodeType,
+ u = s ? pe.cache : e,
+ l = s ? e[a] : e[a] && a;
+ if(l && u[l] && (r || u[l].data) || void 0 !== n || "string" != typeof t) return l || (l = s ? e[a] = ne.pop() || pe.guid++ : a), u[l] || (u[l] = s ? {} : {
+ toJSON: pe.noop
+ }), "object" != typeof t && "function" != typeof t || (r ? u[l] = pe.extend(u[l], t) : u[l].data = pe.extend(u[l].data, t)), o = u[l], r || (o.data || (o.data = {}), o = o.data), void 0 !== n && (o[pe.camelCase(t)] = n), "string" == typeof t ? (i = o[t], null == i && (i = o[pe.camelCase(t)])) : i = o, i
+ }
+ }
+
+ function f(e, t, n) {
+ if(He(e)) {
+ var r, i, o = e.nodeType,
+ a = o ? pe.cache : e,
+ s = o ? e[pe.expando] : pe.expando;
+ if(a[s]) {
+ if(t && (r = n ? a[s] : a[s].data)) {
+ pe.isArray(t) ? t = t.concat(pe.map(t, pe.camelCase)) : t in r ? t = [t] : (t = pe.camelCase(t), t = t in r ? [t] : t.split(" ")), i = t.length;
+ for(; i--;) delete r[t[i]];
+ if(n ? !l(r) : !pe.isEmptyObject(r)) return
+ }(n || (delete a[s].data, l(a[s]))) && (o ? pe.cleanData([e], !0) : fe.deleteExpando || a != a.window ? delete a[s] : a[s] = void 0)
+ }
+ }
+ }
+
+ function d(e, t, n, r) {
+ var i, o = 1,
+ a = 20,
+ s = r ? function() {
+ return r.cur()
+ } : function() {
+ return pe.css(e, t, "")
+ },
+ u = s(),
+ l = n && n[3] || (pe.cssNumber[t] ? "" : "px"),
+ c = (pe.cssNumber[t] || "px" !== l && +u) && Me.exec(pe.css(e, t));
+ if(c && c[3] !== l) {
+ l = l || c[3], n = n || [], c = +u || 1;
+ do o = o || ".5", c /= o, pe.style(e, t, c + l); while (o !== (o = s() / u) && 1 !== o && --a)
+ }
+ return n && (c = +c || +u || 0, i = n[1] ? c + (n[1] + 1) * n[2] : +n[2], r && (r.unit = l, r.start = c, r.end = i)), i
+ }
+
+ function p(e) {
+ var t = ze.split("|"),
+ n = e.createDocumentFragment();
+ if(n.createElement)
+ for(; t.length;) n.createElement(t.pop());
+ return n
+ }
+
+ function h(e, t) {
+ var n, r, i = 0,
+ o = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t || "*") : "undefined" != typeof e.querySelectorAll ? e.querySelectorAll(t || "*") : void 0;
+ if(!o)
+ for(o = [], n = e.childNodes || e; null != (r = n[i]); i++) !t || pe.nodeName(r, t) ? o.push(r) : pe.merge(o, h(r, t));
+ return void 0 === t || t && pe.nodeName(e, t) ? pe.merge([e], o) : o
+ }
+
+ function g(e, t) {
+ for(var n, r = 0; null != (n = e[r]); r++) pe._data(n, "globalEval", !t || pe._data(t[r], "globalEval"))
+ }
+
+ function m(e) {
+ Be.test(e.type) && (e.defaultChecked = e.checked)
+ }
+
+ function y(e, t, n, r, i) {
+ for(var o, a, s, u, l, c, f, d = e.length, y = p(t), v = [], x = 0; x < d; x++)
+ if(a = e[x], a || 0 === a)
+ if("object" === pe.type(a)) pe.merge(v, a.nodeType ? [a] : a);
+ else if(Ue.test(a)) {
+ for(u = u || y.appendChild(t.createElement("div")), l = (We.exec(a) || ["", ""])[1].toLowerCase(), f = Xe[l] || Xe._default, u.innerHTML = f[1] + pe.htmlPrefilter(a) + f[2], o = f[0]; o--;) u = u.lastChild;
+ if(!fe.leadingWhitespace && $e.test(a) && v.push(t.createTextNode($e.exec(a)[0])), !fe.tbody)
+ for(a = "table" !== l || Ve.test(a) ? "" !== f[1] || Ve.test(a) ? 0 : u : u.firstChild, o = a && a.childNodes.length; o--;) pe.nodeName(c = a.childNodes[o], "tbody") && !c.childNodes.length && a.removeChild(c);
+ for(pe.merge(v, u.childNodes), u.textContent = ""; u.firstChild;) u.removeChild(u.firstChild);
+ u = y.lastChild
+ } else v.push(t.createTextNode(a));
+ for(u && y.removeChild(u), fe.appendChecked || pe.grep(h(v, "input"), m), x = 0; a = v[x++];)
+ if(r && pe.inArray(a, r) > -1) i && i.push(a);
+ else if(s = pe.contains(a.ownerDocument, a), u = h(y.appendChild(a), "script"), s && g(u), n)
+ for(o = 0; a = u[o++];) Ie.test(a.type || "") && n.push(a);
+ return u = null, y
+ }
+
+ function v() {
+ return !0
+ }
+
+ function x() {
+ return !1
+ }
+
+ function b() {
+ try {
+ return re.activeElement
+ } catch(e) {}
+ }
+
+ function w(e, t, n, r, i, o) {
+ var a, s;
+ if("object" == typeof t) {
+ "string" != typeof n && (r = r || n, n = void 0);
+ for(s in t) w(e, s, n, r, t[s], o);
+ return e
+ }
+ if(null == r && null == i ? (i = n, r = n = void 0) : null == i && ("string" == typeof n ? (i = r, r = void 0) : (i = r, r = n, n = void 0)), i === !1) i = x;
+ else if(!i) return e;
+ return 1 === o && (a = i, i = function(e) {
+ return pe().off(e), a.apply(this, arguments)
+ }, i.guid = a.guid || (a.guid = pe.guid++)), e.each(function() {
+ pe.event.add(this, t, i, r, n)
+ })
+ }
+
+ function T(e, t) {
+ return pe.nodeName(e, "table") && pe.nodeName(11 !== t.nodeType ? t : t.firstChild, "tr") ? e.getElementsByTagName("tbody")[0] || e.appendChild(e.ownerDocument.createElement("tbody")) : e
+ }
+
+ function C(e) {
+ return e.type = (null !== pe.find.attr(e, "type")) + "/" + e.type, e
+ }
+
+ function E(e) {
+ var t = it.exec(e.type);
+ return t ? e.type = t[1] : e.removeAttribute("type"), e
+ }
+
+ function N(e, t) {
+ if(1 === t.nodeType && pe.hasData(e)) {
+ var n, r, i, o = pe._data(e),
+ a = pe._data(t, o),
+ s = o.events;
+ if(s) {
+ delete a.handle, a.events = {};
+ for(n in s)
+ for(r = 0, i = s[n].length; r < i; r++) pe.event.add(t, n, s[n][r])
+ }
+ a.data && (a.data = pe.extend({}, a.data))
+ }
+ }
+
+ function k(e, t) {
+ var n, r, i;
+ if(1 === t.nodeType) {
+ if(n = t.nodeName.toLowerCase(), !fe.noCloneEvent && t[pe.expando]) {
+ i = pe._data(t);
+ for(r in i.events) pe.removeEvent(t, r, i.handle);
+ t.removeAttribute(pe.expando)
+ }
+ "script" === n && t.text !== e.text ? (C(t).text = e.text, E(t)) : "object" === n ? (t.parentNode && (t.outerHTML = e.outerHTML), fe.html5Clone && e.innerHTML && !pe.trim(t.innerHTML) && (t.innerHTML = e.innerHTML)) : "input" === n && Be.test(e.type) ? (t.defaultChecked = t.checked = e.checked, t.value !== e.value && (t.value = e.value)) : "option" === n ? t.defaultSelected = t.selected = e.defaultSelected : "input" !== n && "textarea" !== n || (t.defaultValue = e.defaultValue)
+ }
+ }
+
+ function S(e, t, n, r) {
+ t = oe.apply([], t);
+ var i, o, a, s, u, l, c = 0,
+ f = e.length,
+ d = f - 1,
+ p = t[0],
+ g = pe.isFunction(p);
+ if(g || f > 1 && "string" == typeof p && !fe.checkClone && rt.test(p)) return e.each(function(i) {
+ var o = e.eq(i);
+ g && (t[0] = p.call(this, i, o.html())), S(o, t, n, r)
+ });
+ if(f && (l = y(t, e[0].ownerDocument, !1, e, r), i = l.firstChild, 1 === l.childNodes.length && (l = i), i || r)) {
+ for(s = pe.map(h(l, "script"), C), a = s.length; c < f; c++) o = l, c !== d && (o = pe.clone(o, !0, !0), a && pe.merge(s, h(o, "script"))), n.call(e[c], o, c);
+ if(a)
+ for(u = s[s.length - 1].ownerDocument, pe.map(s, E), c = 0; c < a; c++) o = s[c], Ie.test(o.type || "") && !pe._data(o, "globalEval") && pe.contains(u, o) && (o.src ? pe._evalUrl && pe._evalUrl(o.src) : pe.globalEval((o.text || o.textContent || o.innerHTML || "").replace(ot, "")));
+ l = i = null
+ }
+ return e
+ }
+
+ function A(e, t, n) {
+ for(var r, i = t ? pe.filter(t, e) : e, o = 0; null != (r = i[o]); o++) n || 1 !== r.nodeType || pe.cleanData(h(r)), r.parentNode && (n && pe.contains(r.ownerDocument, r) && g(h(r, "script")), r.parentNode.removeChild(r));
+ return e
+ }
+
+ function D(e, t) {
+ var n = pe(t.createElement(e)).appendTo(t.body),
+ r = pe.css(n[0], "display");
+ return n.detach(), r
+ }
+
+ function j(e) {
+ var t = re,
+ n = lt[e];
+ return n || (n = D(e, t), "none" !== n && n || (ut = (ut || pe("")).appendTo(t.documentElement), t = (ut[0].contentWindow || ut[0].contentDocument).document, t.write(), t.close(), n = D(e, t), ut.detach()), lt[e] = n), n
+ }
+
+ function L(e, t) {
+ return {
+ get: function() {
+ return e() ? void delete this.get : (this.get = t).apply(this, arguments)
+ }
+ }
+ }
+
+ function H(e) {
+ if(e in Et) return e;
+ for(var t = e.charAt(0).toUpperCase() + e.slice(1), n = Ct.length; n--;)
+ if(e = Ct[n] + t, e in Et) return e
+ }
+
+ function q(e, t) {
+ for(var n, r, i, o = [], a = 0, s = e.length; a < s; a++) r = e[a], r.style && (o[a] = pe._data(r, "olddisplay"), n = r.style.display, t ? (o[a] || "none" !== n || (r.style.display = ""), "" === r.style.display && Re(r) && (o[a] = pe._data(r, "olddisplay", j(r.nodeName)))) : (i = Re(r), (n && "none" !== n || !i) && pe._data(r, "olddisplay", i ? n : pe.css(r, "display"))));
+ for(a = 0; a < s; a++) r = e[a], r.style && (t && "none" !== r.style.display && "" !== r.style.display || (r.style.display = t ? o[a] || "" : "none"));
+ return e
+ }
+
+ function _(e, t, n) {
+ var r = bt.exec(t);
+ return r ? Math.max(0, r[1] - (n || 0)) + (r[2] || "px") : t
+ }
+
+ function F(e, t, n, r, i) {
+ for(var o = n === (r ? "border" : "content") ? 4 : "width" === t ? 1 : 0, a = 0; o < 4; o += 2) "margin" === n && (a += pe.css(e, n + Oe[o], !0, i)), r ? ("content" === n && (a -= pe.css(e, "padding" + Oe[o], !0, i)), "margin" !== n && (a -= pe.css(e, "border" + Oe[o] + "Width", !0, i))) : (a += pe.css(e, "padding" + Oe[o], !0, i), "padding" !== n && (a += pe.css(e, "border" + Oe[o] + "Width", !0, i)));
+ return a
+ }
+
+ function M(t, n, r) {
+ var i = !0,
+ o = "width" === n ? t.offsetWidth : t.offsetHeight,
+ a = ht(t),
+ s = fe.boxSizing && "border-box" === pe.css(t, "boxSizing", !1, a);
+ if(re.msFullscreenElement && e.top !== e && t.getClientRects().length && (o = Math.round(100 * t.getBoundingClientRect()[n])), o <= 0 || null == o) {
+ if(o = gt(t, n, a), (o < 0 || null == o) && (o = t.style[n]), ft.test(o)) return o;
+ i = s && (fe.boxSizingReliable() || o === t.style[n]), o = parseFloat(o) || 0
+ }
+ return o + F(t, n, r || (s ? "border" : "content"), i, a) + "px"
+ }
+
+ function O(e, t, n, r, i) {
+ return new O.prototype.init(e, t, n, r, i)
+ }
+
+ function R() {
+ return e.setTimeout(function() {
+ Nt = void 0
+ }), Nt = pe.now()
+ }
+
+ function P(e, t) {
+ var n, r = {
+ height: e
+ },
+ i = 0;
+ for(t = t ? 1 : 0; i < 4; i += 2 - t) n = Oe[i], r["margin" + n] = r["padding" + n] = e;
+ return t && (r.opacity = r.width = e), r
+ }
+
+ function B(e, t, n) {
+ for(var r, i = ($.tweeners[t] || []).concat($.tweeners["*"]), o = 0, a = i.length; o < a; o++)
+ if(r = i[o].call(n, t, e)) return r
+ }
+
+ function W(e, t, n) {
+ var r, i, o, a, s, u, l, c, f = this,
+ d = {},
+ p = e.style,
+ h = e.nodeType && Re(e),
+ g = pe._data(e, "fxshow");
+ n.queue || (s = pe._queueHooks(e, "fx"), null == s.unqueued && (s.unqueued = 0, u = s.empty.fire, s.empty.fire = function() {
+ s.unqueued || u()
+ }), s.unqueued++, f.always(function() {
+ f.always(function() {
+ s.unqueued--, pe.queue(e, "fx").length || s.empty.fire()
+ })
+ })), 1 === e.nodeType && ("height" in t || "width" in t) && (n.overflow = [p.overflow, p.overflowX, p.overflowY], l = pe.css(e, "display"), c = "none" === l ? pe._data(e, "olddisplay") || j(e.nodeName) : l, "inline" === c && "none" === pe.css(e, "float") && (fe.inlineBlockNeedsLayout && "inline" !== j(e.nodeName) ? p.zoom = 1 : p.display = "inline-block")), n.overflow && (p.overflow = "hidden", fe.shrinkWrapBlocks() || f.always(function() {
+ p.overflow = n.overflow[0], p.overflowX = n.overflow[1], p.overflowY = n.overflow[2]
+ }));
+ for(r in t)
+ if(i = t[r], St.exec(i)) {
+ if(delete t[r], o = o || "toggle" === i, i === (h ? "hide" : "show")) {
+ if("show" !== i || !g || void 0 === g[r]) continue;
+ h = !0
+ }
+ d[r] = g && g[r] || pe.style(e, r)
+ } else l = void 0;
+ if(pe.isEmptyObject(d)) "inline" === ("none" === l ? j(e.nodeName) : l) && (p.display = l);
+ else {
+ g ? "hidden" in g && (h = g.hidden) : g = pe._data(e, "fxshow", {}), o && (g.hidden = !h), h ? pe(e).show() : f.done(function() {
+ pe(e).hide()
+ }), f.done(function() {
+ var t;
+ pe._removeData(e, "fxshow");
+ for(t in d) pe.style(e, t, d[t])
+ });
+ for(r in d) a = B(h ? g[r] : 0, r, f), r in g || (g[r] = a.start, h && (a.end = a.start, a.start = "width" === r || "height" === r ? 1 : 0))
+ }
+ }
+
+ function I(e, t) {
+ var n, r, i, o, a;
+ for(n in e)
+ if(r = pe.camelCase(n), i = t[r], o = e[n], pe.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), a = pe.cssHooks[r], a && "expand" in a) {
+ o = a.expand(o), delete e[r];
+ for(n in o) n in e || (e[n] = o[n], t[n] = i)
+ } else t[r] = i
+ }
+
+ function $(e, t, n) {
+ var r, i, o = 0,
+ a = $.prefilters.length,
+ s = pe.Deferred().always(function() {
+ delete u.elem
+ }),
+ u = function() {
+ if(i) return !1;
+ for(var t = Nt || R(), n = Math.max(0, l.startTime + l.duration - t), r = n / l.duration || 0, o = 1 - r, a = 0, u = l.tweens.length; a < u; a++) l.tweens[a].run(o);
+ return s.notifyWith(e, [l, o, n]), o < 1 && u ? n : (s.resolveWith(e, [l]), !1)
+ },
+ l = s.promise({
+ elem: e,
+ props: pe.extend({}, t),
+ opts: pe.extend(!0, {
+ specialEasing: {},
+ easing: pe.easing._default
+ }, n),
+ originalProperties: t,
+ originalOptions: n,
+ startTime: Nt || R(),
+ duration: n.duration,
+ tweens: [],
+ createTween: function(t, n) {
+ var r = pe.Tween(e, l.opts, t, n, l.opts.specialEasing[t] || l.opts.easing);
+ return l.tweens.push(r), r
+ },
+ stop: function(t) {
+ var n = 0,
+ r = t ? l.tweens.length : 0;
+ if(i) return this;
+ for(i = !0; n < r; n++) l.tweens[n].run(1);
+ return t ? (s.notifyWith(e, [l, 1, 0]), s.resolveWith(e, [l, t])) : s.rejectWith(e, [l, t]), this
+ }
+ }),
+ c = l.props;
+ for(I(c, l.opts.specialEasing); o < a; o++)
+ if(r = $.prefilters[o].call(l, e, c, l.opts)) return pe.isFunction(r.stop) && (pe._queueHooks(l.elem, l.opts.queue).stop = pe.proxy(r.stop, r)), r;
+ return pe.map(c, B, l), pe.isFunction(l.opts.start) && l.opts.start.call(e, l), pe.fx.timer(pe.extend(u, {
+ elem: e,
+ anim: l,
+ queue: l.opts.queue
+ })), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always)
+ }
+
+ function z(e) {
+ return pe.attr(e, "class") || ""
+ }
+
+ function X(e) {
+ return function(t, n) {
+ "string" != typeof t && (n = t, t = "*");
+ var r, i = 0,
+ o = t.toLowerCase().match(De) || [];
+ if(pe.isFunction(n))
+ for(; r = o[i++];) "+" === r.charAt(0) ? (r = r.slice(1) || "*", (e[r] = e[r] || []).unshift(n)) : (e[r] = e[r] || []).push(n)
+ }
+ }
+
+ function U(e, t, n, r) {
+ function i(s) {
+ var u;
+ return o[s] = !0, pe.each(e[s] || [], function(e, s) {
+ var l = s(t, n, r);
+ return "string" != typeof l || a || o[l] ? a ? !(u = l) : void 0 : (t.dataTypes.unshift(l), i(l), !1)
+ }), u
+ }
+ var o = {},
+ a = e === Qt;
+ return i(t.dataTypes[0]) || !o["*"] && i("*")
+ }
+
+ function V(e, t) {
+ var n, r, i = pe.ajaxSettings.flatOptions || {};
+ for(r in t) void 0 !== t[r] && ((i[r] ? e : n || (n = {}))[r] = t[r]);
+ return n && pe.extend(!0, e, n), e
+ }
+
+ function Y(e, t, n) {
+ for(var r, i, o, a, s = e.contents, u = e.dataTypes;
+ "*" === u[0];) u.shift(), void 0 === i && (i = e.mimeType || t.getResponseHeader("Content-Type"));
+ if(i)
+ for(a in s)
+ if(s[a] && s[a].test(i)) {
+ u.unshift(a);
+ break
+ }
+ if(u[0] in n) o = u[0];
+ else {
+ for(a in n) {
+ if(!u[0] || e.converters[a + " " + u[0]]) {
+ o = a;
+ break
+ }
+ r || (r = a)
+ }
+ o = o || r
+ }
+ if(o) return o !== u[0] && u.unshift(o), n[o]
+ }
+
+ function J(e, t, n, r) {
+ var i, o, a, s, u, l = {},
+ c = e.dataTypes.slice();
+ if(c[1])
+ for(a in e.converters) l[a.toLowerCase()] = e.converters[a];
+ for(o = c.shift(); o;)
+ if(e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift())
+ if("*" === o) o = u;
+ else if("*" !== u && u !== o) {
+ if(a = l[u + " " + o] || l["* " + o], !a)
+ for(i in l)
+ if(s = i.split(" "), s[1] === o && (a = l[u + " " + s[0]] || l["* " + s[0]])) {
+ a === !0 ? a = l[i] : l[i] !== !0 && (o = s[0], c.unshift(s[1]));
+ break
+ }
+ if(a !== !0)
+ if(a && e["throws"]) t = a(t);
+ else try {
+ t = a(t)
+ } catch(f) {
+ return {
+ state: "parsererror",
+ error: a ? f : "No conversion from " + u + " to " + o
+ }
+ }
+ }
+ return {
+ state: "success",
+ data: t
+ }
+ }
+
+ function G(e) {
+ return e.style && e.style.display || pe.css(e, "display")
+ }
+
+ function K(e) {
+ for(; e && 1 === e.nodeType;) {
+ if("none" === G(e) || "hidden" === e.type) return !0;
+ e = e.parentNode
+ }
+ return !1
+ }
+
+ function Q(e, t, n, r) {
+ var i;
+ if(pe.isArray(t)) pe.each(t, function(t, i) {
+ n || rn.test(e) ? r(e, i) : Q(e + "[" + ("object" == typeof i && null != i ? t : "") + "]", i, n, r)
+ });
+ else if(n || "object" !== pe.type(t)) r(e, t);
+ else
+ for(i in t) Q(e + "[" + i + "]", t[i], n, r)
+ }
+
+ function Z() {
+ try {
+ return new e.XMLHttpRequest
+ } catch(t) {}
+ }
+
+ function ee() {
+ try {
+ return new e.ActiveXObject("Microsoft.XMLHTTP")
+ } catch(t) {}
+ }
+
+ function te(e) {
+ return pe.isWindow(e) ? e : 9 === e.nodeType && (e.defaultView || e.parentWindow)
+ }
+ var ne = [],
+ re = e.document,
+ ie = ne.slice,
+ oe = ne.concat,
+ ae = ne.push,
+ se = ne.indexOf,
+ ue = {},
+ le = ue.toString,
+ ce = ue.hasOwnProperty,
+ fe = {},
+ de = "1.12.3",
+ pe = function(e, t) {
+ return new pe.fn.init(e, t)
+ },
+ he = /^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,
+ ge = /^-ms-/,
+ me = /-([\da-z])/gi,
+ ye = function(e, t) {
+ return t.toUpperCase()
+ };
+ pe.fn = pe.prototype = {
+ jquery: de,
+ constructor: pe,
+ selector: "",
+ length: 0,
+ toArray: function() {
+ return ie.call(this)
+ },
+ get: function(e) {
+ return null != e ? e < 0 ? this[e + this.length] : this[e] : ie.call(this)
+ },
+ pushStack: function(e) {
+ var t = pe.merge(this.constructor(), e);
+ return t.prevObject = this, t.context = this.context, t
+ },
+ each: function(e) {
+ return pe.each(this, e)
+ },
+ map: function(e) {
+ return this.pushStack(pe.map(this, function(t, n) {
+ return e.call(t, n, t)
+ }))
+ },
+ slice: function() {
+ return this.pushStack(ie.apply(this, arguments))
+ },
+ first: function() {
+ return this.eq(0)
+ },
+ last: function() {
+ return this.eq(-1)
+ },
+ eq: function(e) {
+ var t = this.length,
+ n = +e + (e < 0 ? t : 0);
+ return this.pushStack(n >= 0 && n < t ? [this[n]] : [])
+ },
+ end: function() {
+ return this.prevObject || this.constructor()
+ },
+ push: ae,
+ sort: ne.sort,
+ splice: ne.splice
+ }, pe.extend = pe.fn.extend = function() {
+ var e, t, n, r, i, o, a = arguments[0] || {},
+ s = 1,
+ u = arguments.length,
+ l = !1;
+ for("boolean" == typeof a && (l = a, a = arguments[s] || {}, s++), "object" == typeof a || pe.isFunction(a) || (a = {}), s === u && (a = this, s--); s < u; s++)
+ if(null != (i = arguments[s]))
+ for(r in i) e = a[r], n = i[r], a !== n && (l && n && (pe.isPlainObject(n) || (t = pe.isArray(n))) ? (t ? (t = !1, o = e && pe.isArray(e) ? e : []) : o = e && pe.isPlainObject(e) ? e : {}, a[r] = pe.extend(l, o, n)) : void 0 !== n && (a[r] = n));
+ return a
+ }, pe.extend({
+ expando: "jQuery" + (de + Math.random()).replace(/\D/g, ""),
+ isReady: !0,
+ error: function(e) {
+ throw new Error(e)
+ },
+ noop: function() {},
+ isFunction: function(e) {
+ return "function" === pe.type(e)
+ },
+ isArray: Array.isArray || function(e) {
+ return "array" === pe.type(e)
+ },
+ isWindow: function(e) {
+ return null != e && e == e.window
+ },
+ isNumeric: function(e) {
+ var t = e && e.toString();
+ return !pe.isArray(e) && t - parseFloat(t) + 1 >= 0
+ },
+ isEmptyObject: function(e) {
+ var t;
+ for(t in e) return !1;
+ return !0
+ },
+ isPlainObject: function(e) {
+ var t;
+ if(!e || "object" !== pe.type(e) || e.nodeType || pe.isWindow(e)) return !1;
+ try {
+ if(e.constructor && !ce.call(e, "constructor") && !ce.call(e.constructor.prototype, "isPrototypeOf")) return !1
+ } catch(n) {
+ return !1
+ }
+ if(!fe.ownFirst)
+ for(t in e) return ce.call(e, t);
+ for(t in e);
+ return void 0 === t || ce.call(e, t)
+ },
+ type: function(e) {
+ return null == e ? e + "" : "object" == typeof e || "function" == typeof e ? ue[le.call(e)] || "object" : typeof e
+ },
+ globalEval: function(t) {
+ t && pe.trim(t) && (e.execScript || function(t) {
+ e.eval.call(e, t)
+ })(t)
+ },
+ camelCase: function(e) {
+ return e.replace(ge, "ms-").replace(me, ye)
+ },
+ nodeName: function(e, t) {
+ return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase()
+ },
+ each: function(e, t) {
+ var r, i = 0;
+ if(n(e))
+ for(r = e.length; i < r && t.call(e[i], i, e[i]) !== !1; i++);
+ else
+ for(i in e)
+ if(t.call(e[i], i, e[i]) === !1) break;
+ return e
+ },
+ trim: function(e) {
+ return null == e ? "" : (e + "").replace(he, "")
+ },
+ makeArray: function(e, t) {
+ var r = t || [];
+ return null != e && (n(Object(e)) ? pe.merge(r, "string" == typeof e ? [e] : e) : ae.call(r, e)), r
+ },
+ inArray: function(e, t, n) {
+ var r;
+ if(t) {
+ if(se) return se.call(t, e, n);
+ for(r = t.length, n = n ? n < 0 ? Math.max(0, r + n) : n : 0; n < r; n++)
+ if(n in t && t[n] === e) return n
+ }
+ return -1
+ },
+ merge: function(e, t) {
+ for(var n = +t.length, r = 0, i = e.length; r < n;) e[i++] = t[r++];
+ if(n !== n)
+ for(; void 0 !== t[r];) e[i++] = t[r++];
+ return e.length = i, e
+ },
+ grep: function(e, t, n) {
+ for(var r, i = [], o = 0, a = e.length, s = !n; o < a; o++) r = !t(e[o], o), r !== s && i.push(e[o]);
+ return i
+ },
+ map: function(e, t, r) {
+ var i, o, a = 0,
+ s = [];
+ if(n(e))
+ for(i = e.length; a < i; a++) o = t(e[a], a, r), null != o && s.push(o);
+ else
+ for(a in e) o = t(e[a], a, r), null != o && s.push(o);
+ return oe.apply([], s)
+ },
+ guid: 1,
+ proxy: function(e, t) {
+ var n, r, i;
+ if("string" == typeof t && (i = e[t], t = e, e = i), pe.isFunction(e)) return n = ie.call(arguments, 2), r = function() {
+ return e.apply(t || this, n.concat(ie.call(arguments)))
+ }, r.guid = e.guid = e.guid || pe.guid++, r
+ },
+ now: function() {
+ return +new Date
+ },
+ support: fe
+ }), "function" == typeof Symbol && (pe.fn[Symbol.iterator] = ne[Symbol.iterator]), pe.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "), function(e, t) {
+ ue["[object " + t + "]"] = t.toLowerCase()
+ });
+ var ve = function(e) {
+ function t(e, t, n, r) {
+ var i, o, a, s, u, l, f, p, h = t && t.ownerDocument,
+ g = t ? t.nodeType : 9;
+ if(n = n || [], "string" != typeof e || !e || 1 !== g && 9 !== g && 11 !== g) return n;
+ if(!r && ((t ? t.ownerDocument || t : B) !== H && L(t), t = t || H, _)) {
+ if(11 !== g && (l = ye.exec(e)))
+ if(i = l[1]) {
+ if(9 === g) {
+ if(!(a = t.getElementById(i))) return n;
+ if(a.id === i) return n.push(a), n
+ } else if(h && (a = h.getElementById(i)) && R(t, a) && a.id === i) return n.push(a), n
+ } else {
+ if(l[2]) return Q.apply(n, t.getElementsByTagName(e)), n;
+ if((i = l[3]) && w.getElementsByClassName && t.getElementsByClassName) return Q.apply(n, t.getElementsByClassName(i)), n
+ }
+ if(w.qsa && !X[e + " "] && (!F || !F.test(e))) {
+ if(1 !== g) h = t, p = e;
+ else if("object" !== t.nodeName.toLowerCase()) {
+ for((s = t.getAttribute("id")) ? s = s.replace(xe, "\\$&") : t.setAttribute("id", s = P), f = N(e), o = f.length, u = de.test(s) ? "#" + s : "[id='" + s + "']"; o--;) f[o] = u + " " + d(f[o]);
+ p = f.join(","), h = ve.test(e) && c(t.parentNode) || t
+ }
+ if(p) try {
+ return Q.apply(n, h.querySelectorAll(p)), n
+ } catch(m) {} finally {
+ s === P && t.removeAttribute("id")
+ }
+ }
+ }
+ return S(e.replace(se, "$1"), t, n, r)
+ }
+
+ function n() {
+ function e(n, r) {
+ return t.push(n + " ") > T.cacheLength && delete e[t.shift()], e[n + " "] = r
+ }
+ var t = [];
+ return e
+ }
+
+ function r(e) {
+ return e[P] = !0, e
+ }
+
+ function i(e) {
+ var t = H.createElement("div");
+ try {
+ return !!e(t)
+ } catch(n) {
+ return !1
+ } finally {
+ t.parentNode && t.parentNode.removeChild(t), t = null
+ }
+ }
+
+ function o(e, t) {
+ for(var n = e.split("|"), r = n.length; r--;) T.attrHandle[n[r]] = t
+ }
+
+ function a(e, t) {
+ var n = t && e,
+ r = n && 1 === e.nodeType && 1 === t.nodeType && (~t.sourceIndex || V) - (~e.sourceIndex || V);
+ if(r) return r;
+ if(n)
+ for(; n = n.nextSibling;)
+ if(n === t) return -1;
+ return e ? 1 : -1
+ }
+
+ function s(e) {
+ return function(t) {
+ var n = t.nodeName.toLowerCase();
+ return "input" === n && t.type === e
+ }
+ }
+
+ function u(e) {
+ return function(t) {
+ var n = t.nodeName.toLowerCase();
+ return("input" === n || "button" === n) && t.type === e
+ }
+ }
+
+ function l(e) {
+ return r(function(t) {
+ return t = +t, r(function(n, r) {
+ for(var i, o = e([], n.length, t), a = o.length; a--;) n[i = o[a]] && (n[i] = !(r[i] = n[i]))
+ })
+ })
+ }
+
+ function c(e) {
+ return e && "undefined" != typeof e.getElementsByTagName && e
+ }
+
+ function f() {}
+
+ function d(e) {
+ for(var t = 0, n = e.length, r = ""; t < n; t++) r += e[t].value;
+ return r
+ }
+
+ function p(e, t, n) {
+ var r = t.dir,
+ i = n && "parentNode" === r,
+ o = I++;
+ return t.first ? function(t, n, o) {
+ for(; t = t[r];)
+ if(1 === t.nodeType || i) return e(t, n, o)
+ } : function(t, n, a) {
+ var s, u, l, c = [W, o];
+ if(a) {
+ for(; t = t[r];)
+ if((1 === t.nodeType || i) && e(t, n, a)) return !0
+ } else
+ for(; t = t[r];)
+ if(1 === t.nodeType || i) {
+ if(l = t[P] || (t[P] = {}), u = l[t.uniqueID] || (l[t.uniqueID] = {}), (s = u[r]) && s[0] === W && s[1] === o) return c[2] = s[2];
+ if(u[r] = c, c[2] = e(t, n, a)) return !0
+ }
+ }
+ }
+
+ function h(e) {
+ return e.length > 1 ? function(t, n, r) {
+ for(var i = e.length; i--;)
+ if(!e[i](t, n, r)) return !1;
+ return !0
+ } : e[0]
+ }
+
+ function g(e, n, r) {
+ for(var i = 0, o = n.length; i < o; i++) t(e, n[i], r);
+ return r
+ }
+
+ function m(e, t, n, r, i) {
+ for(var o, a = [], s = 0, u = e.length, l = null != t; s < u; s++)(o = e[s]) && (n && !n(o, r, i) || (a.push(o), l && t.push(s)));
+ return a
+ }
+
+ function y(e, t, n, i, o, a) {
+ return i && !i[P] && (i = y(i)), o && !o[P] && (o = y(o, a)), r(function(r, a, s, u) {
+ var l, c, f, d = [],
+ p = [],
+ h = a.length,
+ y = r || g(t || "*", s.nodeType ? [s] : s, []),
+ v = !e || !r && t ? y : m(y, d, e, s, u),
+ x = n ? o || (r ? e : h || i) ? [] : a : v;
+ if(n && n(v, x, s, u), i)
+ for(l = m(x, p), i(l, [], s, u), c = l.length; c--;)(f = l[c]) && (x[p[c]] = !(v[p[c]] = f));
+ if(r) {
+ if(o || e) {
+ if(o) {
+ for(l = [], c = x.length; c--;)(f = x[c]) && l.push(v[c] = f);
+ o(null, x = [], l, u)
+ }
+ for(c = x.length; c--;)(f = x[c]) && (l = o ? ee(r, f) : d[c]) > -1 && (r[l] = !(a[l] = f))
+ }
+ } else x = m(x === a ? x.splice(h, x.length) : x), o ? o(null, a, x, u) : Q.apply(a, x)
+ })
+ }
+
+ function v(e) {
+ for(var t, n, r, i = e.length, o = T.relative[e[0].type], a = o || T.relative[" "], s = o ? 1 : 0, u = p(function(e) {
+ return e === t
+ }, a, !0), l = p(function(e) {
+ return ee(t, e) > -1
+ }, a, !0), c = [function(e, n, r) {
+ var i = !o && (r || n !== A) || ((t = n).nodeType ? u(e, n, r) : l(e, n, r));
+ return t = null, i
+ }]; s < i; s++)
+ if(n = T.relative[e[s].type]) c = [p(h(c), n)];
+ else {
+ if(n = T.filter[e[s].type].apply(null, e[s].matches), n[P]) {
+ for(r = ++s; r < i && !T.relative[e[r].type]; r++);
+ return y(s > 1 && h(c), s > 1 && d(e.slice(0, s - 1).concat({
+ value: " " === e[s - 2].type ? "*" : ""
+ })).replace(se, "$1"), n, s < r && v(e.slice(s, r)), r < i && v(e = e.slice(r)), r < i && d(e))
+ }
+ c.push(n)
+ }
+ return h(c)
+ }
+
+ function x(e, n) {
+ var i = n.length > 0,
+ o = e.length > 0,
+ a = function(r, a, s, u, l) {
+ var c, f, d, p = 0,
+ h = "0",
+ g = r && [],
+ y = [],
+ v = A,
+ x = r || o && T.find.TAG("*", l),
+ b = W += null == v ? 1 : Math.random() || .1,
+ w = x.length;
+ for(l && (A = a === H || a || l); h !== w && null != (c = x[h]); h++) {
+ if(o && c) {
+ for(f = 0, a || c.ownerDocument === H || (L(c), s = !_); d = e[f++];)
+ if(d(c, a || H, s)) {
+ u.push(c);
+ break
+ }
+ l && (W = b)
+ }
+ i && ((c = !d && c) && p--, r && g.push(c))
+ }
+ if(p += h, i && h !== p) {
+ for(f = 0; d = n[f++];) d(g, y, a, s);
+ if(r) {
+ if(p > 0)
+ for(; h--;) g[h] || y[h] || (y[h] = G.call(u));
+ y = m(y)
+ }
+ Q.apply(u, y), l && !r && y.length > 0 && p + n.length > 1 && t.uniqueSort(u)
+ }
+ return l && (W = b, A = v), g
+ };
+ return i ? r(a) : a
+ }
+ var b, w, T, C, E, N, k, S, A, D, j, L, H, q, _, F, M, O, R, P = "sizzle" + 1 * new Date,
+ B = e.document,
+ W = 0,
+ I = 0,
+ $ = n(),
+ z = n(),
+ X = n(),
+ U = function(e, t) {
+ return e === t && (j = !0), 0
+ },
+ V = 1 << 31,
+ Y = {}.hasOwnProperty,
+ J = [],
+ G = J.pop,
+ K = J.push,
+ Q = J.push,
+ Z = J.slice,
+ ee = function(e, t) {
+ for(var n = 0, r = e.length; n < r; n++)
+ if(e[n] === t) return n;
+ return -1
+ },
+ te = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",
+ ne = "[\\x20\\t\\r\\n\\f]",
+ re = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",
+ ie = "\\[" + ne + "*(" + re + ")(?:" + ne + "*([*^$|!~]?=)" + ne + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + re + "))|)" + ne + "*\\]",
+ oe = ":(" + re + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + ie + ")*)|.*)\\)|)",
+ ae = new RegExp(ne + "+", "g"),
+ se = new RegExp("^" + ne + "+|((?:^|[^\\\\])(?:\\\\.)*)" + ne + "+$", "g"),
+ ue = new RegExp("^" + ne + "*," + ne + "*"),
+ le = new RegExp("^" + ne + "*([>+~]|" + ne + ")" + ne + "*"),
+ ce = new RegExp("=" + ne + "*([^\\]'\"]*?)" + ne + "*\\]", "g"),
+ fe = new RegExp(oe),
+ de = new RegExp("^" + re + "$"),
+ pe = {
+ ID: new RegExp("^#(" + re + ")"),
+ CLASS: new RegExp("^\\.(" + re + ")"),
+ TAG: new RegExp("^(" + re + "|[*])"),
+ ATTR: new RegExp("^" + ie),
+ PSEUDO: new RegExp("^" + oe),
+ CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + ne + "*(even|odd|(([+-]|)(\\d*)n|)" + ne + "*(?:([+-]|)" + ne + "*(\\d+)|))" + ne + "*\\)|)", "i"),
+ bool: new RegExp("^(?:" + te + ")$", "i"),
+ needsContext: new RegExp("^" + ne + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + ne + "*((?:-\\d)?\\d*)" + ne + "*\\)|)(?=[^-]|$)", "i")
+ },
+ he = /^(?:input|select|textarea|button)$/i,
+ ge = /^h\d$/i,
+ me = /^[^{]+\{\s*\[native \w/,
+ ye = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,
+ ve = /[+~]/,
+ xe = /'|\\/g,
+ be = new RegExp("\\\\([\\da-f]{1,6}" + ne + "?|(" + ne + ")|.)", "ig"),
+ we = function(e, t, n) {
+ var r = "0x" + t - 65536;
+ return r !== r || n ? t : r < 0 ? String.fromCharCode(r + 65536) : String.fromCharCode(r >> 10 | 55296, 1023 & r | 56320)
+ },
+ Te = function() {
+ L()
+ };
+ try {
+ Q.apply(J = Z.call(B.childNodes), B.childNodes), J[B.childNodes.length].nodeType
+ } catch(Ce) {
+ Q = {
+ apply: J.length ? function(e, t) {
+ K.apply(e, Z.call(t))
+ } : function(e, t) {
+ for(var n = e.length, r = 0; e[n++] = t[r++];);
+ e.length = n - 1
+ }
+ }
+ }
+ w = t.support = {}, E = t.isXML = function(e) {
+ var t = e && (e.ownerDocument || e).documentElement;
+ return !!t && "HTML" !== t.nodeName
+ }, L = t.setDocument = function(e) {
+ var t, n, r = e ? e.ownerDocument || e : B;
+ return r !== H && 9 === r.nodeType && r.documentElement ? (H = r, q = H.documentElement, _ = !E(H), (n = H.defaultView) && n.top !== n && (n.addEventListener ? n.addEventListener("unload", Te, !1) : n.attachEvent && n.attachEvent("onunload", Te)), w.attributes = i(function(e) {
+ return e.className = "i", !e.getAttribute("className")
+ }), w.getElementsByTagName = i(function(e) {
+ return e.appendChild(H.createComment("")), !e.getElementsByTagName("*").length
+ }), w.getElementsByClassName = me.test(H.getElementsByClassName), w.getById = i(function(e) {
+ return q.appendChild(e).id = P, !H.getElementsByName || !H.getElementsByName(P).length
+ }), w.getById ? (T.find.ID = function(e, t) {
+ if("undefined" != typeof t.getElementById && _) {
+ var n = t.getElementById(e);
+ return n ? [n] : []
+ }
+ }, T.filter.ID = function(e) {
+ var t = e.replace(be, we);
+ return function(e) {
+ return e.getAttribute("id") === t
+ }
+ }) : (delete T.find.ID, T.filter.ID = function(e) {
+ var t = e.replace(be, we);
+ return function(e) {
+ var n = "undefined" != typeof e.getAttributeNode && e.getAttributeNode("id");
+ return n && n.value === t
+ }
+ }), T.find.TAG = w.getElementsByTagName ? function(e, t) {
+ return "undefined" != typeof t.getElementsByTagName ? t.getElementsByTagName(e) : w.qsa ? t.querySelectorAll(e) : void 0
+ } : function(e, t) {
+ var n, r = [],
+ i = 0,
+ o = t.getElementsByTagName(e);
+ if("*" === e) {
+ for(; n = o[i++];) 1 === n.nodeType && r.push(n);
+ return r
+ }
+ return o
+ }, T.find.CLASS = w.getElementsByClassName && function(e, t) {
+ if("undefined" != typeof t.getElementsByClassName && _) return t.getElementsByClassName(e)
+ }, M = [], F = [], (w.qsa = me.test(H.querySelectorAll)) && (i(function(e) {
+ q.appendChild(e).innerHTML = "", e.querySelectorAll("[msallowcapture^='']").length && F.push("[*^$]=" + ne + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || F.push("\\[" + ne + "*(?:value|" + te + ")"), e.querySelectorAll("[id~=" + P + "-]").length || F.push("~="), e.querySelectorAll(":checked").length || F.push(":checked"), e.querySelectorAll("a#" + P + "+*").length || F.push(".#.+[+~]")
+ }), i(function(e) {
+ var t = H.createElement("input");
+ t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && F.push("name" + ne + "*[*^$|!~]?="), e.querySelectorAll(":enabled").length || F.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), F.push(",.*:")
+ })), (w.matchesSelector = me.test(O = q.matches || q.webkitMatchesSelector || q.mozMatchesSelector || q.oMatchesSelector || q.msMatchesSelector)) && i(function(e) {
+ w.disconnectedMatch = O.call(e, "div"), O.call(e, "[s!='']:x"), M.push("!=", oe)
+ }), F = F.length && new RegExp(F.join("|")), M = M.length && new RegExp(M.join("|")), t = me.test(q.compareDocumentPosition), R = t || me.test(q.contains) ? function(e, t) {
+ var n = 9 === e.nodeType ? e.documentElement : e,
+ r = t && t.parentNode;
+ return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r)))
+ } : function(e, t) {
+ if(t)
+ for(; t = t.parentNode;)
+ if(t === e) return !0;
+ return !1
+ }, U = t ? function(e, t) {
+ if(e === t) return j = !0, 0;
+ var n = !e.compareDocumentPosition - !t.compareDocumentPosition;
+ return n ? n : (n = (e.ownerDocument || e) === (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1, 1 & n || !w.sortDetached && t.compareDocumentPosition(e) === n ? e === H || e.ownerDocument === B && R(B, e) ? -1 : t === H || t.ownerDocument === B && R(B, t) ? 1 : D ? ee(D, e) - ee(D, t) : 0 : 4 & n ? -1 : 1)
+ } : function(e, t) {
+ if(e === t) return j = !0, 0;
+ var n, r = 0,
+ i = e.parentNode,
+ o = t.parentNode,
+ s = [e],
+ u = [t];
+ if(!i || !o) return e === H ? -1 : t === H ? 1 : i ? -1 : o ? 1 : D ? ee(D, e) - ee(D, t) : 0;
+ if(i === o) return a(e, t);
+ for(n = e; n = n.parentNode;) s.unshift(n);
+ for(n = t; n = n.parentNode;) u.unshift(n);
+ for(; s[r] === u[r];) r++;
+ return r ? a(s[r], u[r]) : s[r] === B ? -1 : u[r] === B ? 1 : 0
+ }, H) : H
+ }, t.matches = function(e, n) {
+ return t(e, null, null, n)
+ }, t.matchesSelector = function(e, n) {
+ if((e.ownerDocument || e) !== H && L(e), n = n.replace(ce, "='$1']"), w.matchesSelector && _ && !X[n + " "] && (!M || !M.test(n)) && (!F || !F.test(n))) try {
+ var r = O.call(e, n);
+ if(r || w.disconnectedMatch || e.document && 11 !== e.document.nodeType) return r
+ } catch(i) {}
+ return t(n, H, null, [e]).length > 0
+ }, t.contains = function(e, t) {
+ return(e.ownerDocument || e) !== H && L(e), R(e, t)
+ }, t.attr = function(e, t) {
+ (e.ownerDocument || e) !== H && L(e);
+ var n = T.attrHandle[t.toLowerCase()],
+ r = n && Y.call(T.attrHandle, t.toLowerCase()) ? n(e, t, !_) : void 0;
+ return void 0 !== r ? r : w.attributes || !_ ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value : null
+ }, t.error = function(e) {
+ throw new Error("Syntax error, unrecognized expression: " + e)
+ }, t.uniqueSort = function(e) {
+ var t, n = [],
+ r = 0,
+ i = 0;
+ if(j = !w.detectDuplicates, D = !w.sortStable && e.slice(0), e.sort(U), j) {
+ for(; t = e[i++];) t === e[i] && (r = n.push(i));
+ for(; r--;) e.splice(n[r], 1)
+ }
+ return D = null, e
+ }, C = t.getText = function(e) {
+ var t, n = "",
+ r = 0,
+ i = e.nodeType;
+ if(i) {
+ if(1 === i || 9 === i || 11 === i) {
+ if("string" == typeof e.textContent) return e.textContent;
+ for(e = e.firstChild; e; e = e.nextSibling) n += C(e)
+ } else if(3 === i || 4 === i) return e.nodeValue
+ } else
+ for(; t = e[r++];) n += C(t);
+ return n
+ }, T = t.selectors = {
+ cacheLength: 50,
+ createPseudo: r,
+ match: pe,
+ attrHandle: {},
+ find: {},
+ relative: {
+ ">": {
+ dir: "parentNode",
+ first: !0
+ },
+ " ": {
+ dir: "parentNode"
+ },
+ "+": {
+ dir: "previousSibling",
+ first: !0
+ },
+ "~": {
+ dir: "previousSibling"
+ }
+ },
+ preFilter: {
+ ATTR: function(e) {
+ return e[1] = e[1].replace(be, we), e[3] = (e[3] || e[4] || e[5] || "").replace(be, we), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4)
+ },
+ CHILD: function(e) {
+ return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || t.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && t.error(e[0]), e
+ },
+ PSEUDO: function(e) {
+ var t, n = !e[6] && e[2];
+ return pe.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && fe.test(n) && (t = N(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3))
+ }
+ },
+ filter: {
+ TAG: function(e) {
+ var t = e.replace(be, we).toLowerCase();
+ return "*" === e ? function() {
+ return !0
+ } : function(e) {
+ return e.nodeName && e.nodeName.toLowerCase() === t
+ }
+ },
+ CLASS: function(e) {
+ var t = $[e + " "];
+ return t || (t = new RegExp("(^|" + ne + ")" + e + "(" + ne + "|$)")) && $(e, function(e) {
+ return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute("class") || "")
+ })
+ },
+ ATTR: function(e, n, r) {
+ return function(i) {
+ var o = t.attr(i, e);
+ return null == o ? "!=" === n : !n || (o += "", "=" === n ? o === r : "!=" === n ? o !== r : "^=" === n ? r && 0 === o.indexOf(r) : "*=" === n ? r && o.indexOf(r) > -1 : "$=" === n ? r && o.slice(-r.length) === r : "~=" === n ? (" " + o.replace(ae, " ") + " ").indexOf(r) > -1 : "|=" === n && (o === r || o.slice(0, r.length + 1) === r + "-"))
+ }
+ },
+ CHILD: function(e, t, n, r, i) {
+ var o = "nth" !== e.slice(0, 3),
+ a = "last" !== e.slice(-4),
+ s = "of-type" === t;
+ return 1 === r && 0 === i ? function(e) {
+ return !!e.parentNode
+ } : function(t, n, u) {
+ var l, c, f, d, p, h, g = o !== a ? "nextSibling" : "previousSibling",
+ m = t.parentNode,
+ y = s && t.nodeName.toLowerCase(),
+ v = !u && !s,
+ x = !1;
+ if(m) {
+ if(o) {
+ for(; g;) {
+ for(d = t; d = d[g];)
+ if(s ? d.nodeName.toLowerCase() === y : 1 === d.nodeType) return !1;
+ h = g = "only" === e && !h && "nextSibling"
+ }
+ return !0
+ }
+ if(h = [a ? m.firstChild : m.lastChild], a && v) {
+ for(d = m, f = d[P] || (d[P] = {}), c = f[d.uniqueID] || (f[d.uniqueID] = {}),
+ l = c[e] || [], p = l[0] === W && l[1], x = p && l[2], d = p && m.childNodes[p]; d = ++p && d && d[g] || (x = p = 0) || h.pop();)
+ if(1 === d.nodeType && ++x && d === t) {
+ c[e] = [W, p, x];
+ break
+ }
+ } else if(v && (d = t, f = d[P] || (d[P] = {}), c = f[d.uniqueID] || (f[d.uniqueID] = {}), l = c[e] || [], p = l[0] === W && l[1], x = p), x === !1)
+ for(;
+ (d = ++p && d && d[g] || (x = p = 0) || h.pop()) && ((s ? d.nodeName.toLowerCase() !== y : 1 !== d.nodeType) || !++x || (v && (f = d[P] || (d[P] = {}), c = f[d.uniqueID] || (f[d.uniqueID] = {}), c[e] = [W, x]), d !== t)););
+ return x -= i, x === r || x % r === 0 && x / r >= 0
+ }
+ }
+ },
+ PSEUDO: function(e, n) {
+ var i, o = T.pseudos[e] || T.setFilters[e.toLowerCase()] || t.error("unsupported pseudo: " + e);
+ return o[P] ? o(n) : o.length > 1 ? (i = [e, e, "", n], T.setFilters.hasOwnProperty(e.toLowerCase()) ? r(function(e, t) {
+ for(var r, i = o(e, n), a = i.length; a--;) r = ee(e, i[a]), e[r] = !(t[r] = i[a])
+ }) : function(e) {
+ return o(e, 0, i)
+ }) : o
+ }
+ },
+ pseudos: {
+ not: r(function(e) {
+ var t = [],
+ n = [],
+ i = k(e.replace(se, "$1"));
+ return i[P] ? r(function(e, t, n, r) {
+ for(var o, a = i(e, null, r, []), s = e.length; s--;)(o = a[s]) && (e[s] = !(t[s] = o))
+ }) : function(e, r, o) {
+ return t[0] = e, i(t, null, o, n), t[0] = null, !n.pop()
+ }
+ }),
+ has: r(function(e) {
+ return function(n) {
+ return t(e, n).length > 0
+ }
+ }),
+ contains: r(function(e) {
+ return e = e.replace(be, we),
+ function(t) {
+ return(t.textContent || t.innerText || C(t)).indexOf(e) > -1
+ }
+ }),
+ lang: r(function(e) {
+ return de.test(e || "") || t.error("unsupported lang: " + e), e = e.replace(be, we).toLowerCase(),
+ function(t) {
+ var n;
+ do
+ if(n = _ ? t.lang : t.getAttribute("xml:lang") || t.getAttribute("lang")) return n = n.toLowerCase(), n === e || 0 === n.indexOf(e + "-"); while ((t = t.parentNode) && 1 === t.nodeType);
+ return !1
+ }
+ }),
+ target: function(t) {
+ var n = e.location && e.location.hash;
+ return n && n.slice(1) === t.id
+ },
+ root: function(e) {
+ return e === q
+ },
+ focus: function(e) {
+ return e === H.activeElement && (!H.hasFocus || H.hasFocus()) && !!(e.type || e.href || ~e.tabIndex)
+ },
+ enabled: function(e) {
+ return e.disabled === !1
+ },
+ disabled: function(e) {
+ return e.disabled === !0
+ },
+ checked: function(e) {
+ var t = e.nodeName.toLowerCase();
+ return "input" === t && !!e.checked || "option" === t && !!e.selected
+ },
+ selected: function(e) {
+ return e.parentNode && e.parentNode.selectedIndex, e.selected === !0
+ },
+ empty: function(e) {
+ for(e = e.firstChild; e; e = e.nextSibling)
+ if(e.nodeType < 6) return !1;
+ return !0
+ },
+ parent: function(e) {
+ return !T.pseudos.empty(e)
+ },
+ header: function(e) {
+ return ge.test(e.nodeName)
+ },
+ input: function(e) {
+ return he.test(e.nodeName)
+ },
+ button: function(e) {
+ var t = e.nodeName.toLowerCase();
+ return "input" === t && "button" === e.type || "button" === t
+ },
+ text: function(e) {
+ var t;
+ return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase())
+ },
+ first: l(function() {
+ return [0]
+ }),
+ last: l(function(e, t) {
+ return [t - 1]
+ }),
+ eq: l(function(e, t, n) {
+ return [n < 0 ? n + t : n]
+ }),
+ even: l(function(e, t) {
+ for(var n = 0; n < t; n += 2) e.push(n);
+ return e
+ }),
+ odd: l(function(e, t) {
+ for(var n = 1; n < t; n += 2) e.push(n);
+ return e
+ }),
+ lt: l(function(e, t, n) {
+ for(var r = n < 0 ? n + t : n; --r >= 0;) e.push(r);
+ return e
+ }),
+ gt: l(function(e, t, n) {
+ for(var r = n < 0 ? n + t : n; ++r < t;) e.push(r);
+ return e
+ })
+ }
+ }, T.pseudos.nth = T.pseudos.eq;
+ for(b in {
+ radio: !0,
+ checkbox: !0,
+ file: !0,
+ password: !0,
+ image: !0
+ }) T.pseudos[b] = s(b);
+ for(b in {
+ submit: !0,
+ reset: !0
+ }) T.pseudos[b] = u(b);
+ return f.prototype = T.filters = T.pseudos, T.setFilters = new f, N = t.tokenize = function(e, n) {
+ var r, i, o, a, s, u, l, c = z[e + " "];
+ if(c) return n ? 0 : c.slice(0);
+ for(s = e, u = [], l = T.preFilter; s;) {
+ r && !(i = ue.exec(s)) || (i && (s = s.slice(i[0].length) || s), u.push(o = [])), r = !1, (i = le.exec(s)) && (r = i.shift(), o.push({
+ value: r,
+ type: i[0].replace(se, " ")
+ }), s = s.slice(r.length));
+ for(a in T.filter) !(i = pe[a].exec(s)) || l[a] && !(i = l[a](i)) || (r = i.shift(), o.push({
+ value: r,
+ type: a,
+ matches: i
+ }), s = s.slice(r.length));
+ if(!r) break
+ }
+ return n ? s.length : s ? t.error(e) : z(e, u).slice(0)
+ }, k = t.compile = function(e, t) {
+ var n, r = [],
+ i = [],
+ o = X[e + " "];
+ if(!o) {
+ for(t || (t = N(e)), n = t.length; n--;) o = v(t[n]), o[P] ? r.push(o) : i.push(o);
+ o = X(e, x(i, r)), o.selector = e
+ }
+ return o
+ }, S = t.select = function(e, t, n, r) {
+ var i, o, a, s, u, l = "function" == typeof e && e,
+ f = !r && N(e = l.selector || e);
+ if(n = n || [], 1 === f.length) {
+ if(o = f[0] = f[0].slice(0), o.length > 2 && "ID" === (a = o[0]).type && w.getById && 9 === t.nodeType && _ && T.relative[o[1].type]) {
+ if(t = (T.find.ID(a.matches[0].replace(be, we), t) || [])[0], !t) return n;
+ l && (t = t.parentNode), e = e.slice(o.shift().value.length)
+ }
+ for(i = pe.needsContext.test(e) ? 0 : o.length; i-- && (a = o[i], !T.relative[s = a.type]);)
+ if((u = T.find[s]) && (r = u(a.matches[0].replace(be, we), ve.test(o[0].type) && c(t.parentNode) || t))) {
+ if(o.splice(i, 1), e = r.length && d(o), !e) return Q.apply(n, r), n;
+ break
+ }
+ }
+ return(l || k(e, f))(r, t, !_, n, !t || ve.test(e) && c(t.parentNode) || t), n
+ }, w.sortStable = P.split("").sort(U).join("") === P, w.detectDuplicates = !!j, L(), w.sortDetached = i(function(e) {
+ return 1 & e.compareDocumentPosition(H.createElement("div"))
+ }), i(function(e) {
+ return e.innerHTML = "", "#" === e.firstChild.getAttribute("href")
+ }) || o("type|href|height|width", function(e, t, n) {
+ if(!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2)
+ }), w.attributes && i(function(e) {
+ return e.innerHTML = "", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value")
+ }) || o("value", function(e, t, n) {
+ if(!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue
+ }), i(function(e) {
+ return null == e.getAttribute("disabled")
+ }) || o(te, function(e, t, n) {
+ var r;
+ if(!n) return e[t] === !0 ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null
+ }), t
+ }(e);
+ pe.find = ve, pe.expr = ve.selectors, pe.expr[":"] = pe.expr.pseudos, pe.uniqueSort = pe.unique = ve.uniqueSort, pe.text = ve.getText, pe.isXMLDoc = ve.isXML, pe.contains = ve.contains;
+ var xe = function(e, t, n) {
+ for(var r = [], i = void 0 !== n;
+ (e = e[t]) && 9 !== e.nodeType;)
+ if(1 === e.nodeType) {
+ if(i && pe(e).is(n)) break;
+ r.push(e)
+ }
+ return r
+ },
+ be = function(e, t) {
+ for(var n = []; e; e = e.nextSibling) 1 === e.nodeType && e !== t && n.push(e);
+ return n
+ },
+ we = pe.expr.match.needsContext,
+ Te = /^<([\w-]+)\s*\/?>(?:<\/\1>|)$/,
+ Ce = /^.[^:#\[\.,]*$/;
+ pe.filter = function(e, t, n) {
+ var r = t[0];
+ return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? pe.find.matchesSelector(r, e) ? [r] : [] : pe.find.matches(e, pe.grep(t, function(e) {
+ return 1 === e.nodeType
+ }))
+ }, pe.fn.extend({
+ find: function(e) {
+ var t, n = [],
+ r = this,
+ i = r.length;
+ if("string" != typeof e) return this.pushStack(pe(e).filter(function() {
+ for(t = 0; t < i; t++)
+ if(pe.contains(r[t], this)) return !0
+ }));
+ for(t = 0; t < i; t++) pe.find(e, r[t], n);
+ return n = this.pushStack(i > 1 ? pe.unique(n) : n), n.selector = this.selector ? this.selector + " " + e : e, n
+ },
+ filter: function(e) {
+ return this.pushStack(r(this, e || [], !1))
+ },
+ not: function(e) {
+ return this.pushStack(r(this, e || [], !0))
+ },
+ is: function(e) {
+ return !!r(this, "string" == typeof e && we.test(e) ? pe(e) : e || [], !1).length
+ }
+ });
+ var Ee, Ne = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,
+ ke = pe.fn.init = function(e, t, n) {
+ var r, i;
+ if(!e) return this;
+ if(n = n || Ee, "string" == typeof e) {
+ if(r = "<" === e.charAt(0) && ">" === e.charAt(e.length - 1) && e.length >= 3 ? [null, e, null] : Ne.exec(e), !r || !r[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e);
+ if(r[1]) {
+ if(t = t instanceof pe ? t[0] : t, pe.merge(this, pe.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : re, !0)), Te.test(r[1]) && pe.isPlainObject(t))
+ for(r in t) pe.isFunction(this[r]) ? this[r](t[r]) : this.attr(r, t[r]);
+ return this
+ }
+ if(i = re.getElementById(r[2]), i && i.parentNode) {
+ if(i.id !== r[2]) return Ee.find(e);
+ this.length = 1, this[0] = i
+ }
+ return this.context = re, this.selector = e, this
+ }
+ return e.nodeType ? (this.context = this[0] = e, this.length = 1, this) : pe.isFunction(e) ? "undefined" != typeof n.ready ? n.ready(e) : e(pe) : (void 0 !== e.selector && (this.selector = e.selector, this.context = e.context), pe.makeArray(e, this))
+ };
+ ke.prototype = pe.fn, Ee = pe(re);
+ var Se = /^(?:parents|prev(?:Until|All))/,
+ Ae = {
+ children: !0,
+ contents: !0,
+ next: !0,
+ prev: !0
+ };
+ pe.fn.extend({
+ has: function(e) {
+ var t, n = pe(e, this),
+ r = n.length;
+ return this.filter(function() {
+ for(t = 0; t < r; t++)
+ if(pe.contains(this, n[t])) return !0
+ })
+ },
+ closest: function(e, t) {
+ for(var n, r = 0, i = this.length, o = [], a = we.test(e) || "string" != typeof e ? pe(e, t || this.context) : 0; r < i; r++)
+ for(n = this[r]; n && n !== t; n = n.parentNode)
+ if(n.nodeType < 11 && (a ? a.index(n) > -1 : 1 === n.nodeType && pe.find.matchesSelector(n, e))) {
+ o.push(n);
+ break
+ }
+ return this.pushStack(o.length > 1 ? pe.uniqueSort(o) : o)
+ },
+ index: function(e) {
+ return e ? "string" == typeof e ? pe.inArray(this[0], pe(e)) : pe.inArray(e.jquery ? e[0] : e, this) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1
+ },
+ add: function(e, t) {
+ return this.pushStack(pe.uniqueSort(pe.merge(this.get(), pe(e, t))))
+ },
+ addBack: function(e) {
+ return this.add(null == e ? this.prevObject : this.prevObject.filter(e))
+ }
+ }), pe.each({
+ parent: function(e) {
+ var t = e.parentNode;
+ return t && 11 !== t.nodeType ? t : null
+ },
+ parents: function(e) {
+ return xe(e, "parentNode")
+ },
+ parentsUntil: function(e, t, n) {
+ return xe(e, "parentNode", n)
+ },
+ next: function(e) {
+ return i(e, "nextSibling")
+ },
+ prev: function(e) {
+ return i(e, "previousSibling")
+ },
+ nextAll: function(e) {
+ return xe(e, "nextSibling")
+ },
+ prevAll: function(e) {
+ return xe(e, "previousSibling")
+ },
+ nextUntil: function(e, t, n) {
+ return xe(e, "nextSibling", n)
+ },
+ prevUntil: function(e, t, n) {
+ return xe(e, "previousSibling", n)
+ },
+ siblings: function(e) {
+ return be((e.parentNode || {}).firstChild, e)
+ },
+ children: function(e) {
+ return be(e.firstChild)
+ },
+ contents: function(e) {
+ return pe.nodeName(e, "iframe") ? e.contentDocument || e.contentWindow.document : pe.merge([], e.childNodes)
+ }
+ }, function(e, t) {
+ pe.fn[e] = function(n, r) {
+ var i = pe.map(this, t, n);
+ return "Until" !== e.slice(-5) && (r = n), r && "string" == typeof r && (i = pe.filter(r, i)), this.length > 1 && (Ae[e] || (i = pe.uniqueSort(i)), Se.test(e) && (i = i.reverse())), this.pushStack(i)
+ }
+ });
+ var De = /\S+/g;
+ pe.Callbacks = function(e) {
+ e = "string" == typeof e ? o(e) : pe.extend({}, e);
+ var t, n, r, i, a = [],
+ s = [],
+ u = -1,
+ l = function() {
+ for(i = e.once, r = t = !0; s.length; u = -1)
+ for(n = s.shift(); ++u < a.length;) a[u].apply(n[0], n[1]) === !1 && e.stopOnFalse && (u = a.length, n = !1);
+ e.memory || (n = !1), t = !1, i && (a = n ? [] : "")
+ },
+ c = {
+ add: function() {
+ return a && (n && !t && (u = a.length - 1, s.push(n)), function r(t) {
+ pe.each(t, function(t, n) {
+ pe.isFunction(n) ? e.unique && c.has(n) || a.push(n) : n && n.length && "string" !== pe.type(n) && r(n)
+ })
+ }(arguments), n && !t && l()), this
+ },
+ remove: function() {
+ return pe.each(arguments, function(e, t) {
+ for(var n;
+ (n = pe.inArray(t, a, n)) > -1;) a.splice(n, 1), n <= u && u--
+ }), this
+ },
+ has: function(e) {
+ return e ? pe.inArray(e, a) > -1 : a.length > 0
+ },
+ empty: function() {
+ return a && (a = []), this
+ },
+ disable: function() {
+ return i = s = [], a = n = "", this
+ },
+ disabled: function() {
+ return !a
+ },
+ lock: function() {
+ return i = !0, n || c.disable(), this
+ },
+ locked: function() {
+ return !!i
+ },
+ fireWith: function(e, n) {
+ return i || (n = n || [], n = [e, n.slice ? n.slice() : n], s.push(n), t || l()), this
+ },
+ fire: function() {
+ return c.fireWith(this, arguments), this
+ },
+ fired: function() {
+ return !!r
+ }
+ };
+ return c
+ }, pe.extend({
+ Deferred: function(e) {
+ var t = [
+ ["resolve", "done", pe.Callbacks("once memory"), "resolved"],
+ ["reject", "fail", pe.Callbacks("once memory"), "rejected"],
+ ["notify", "progress", pe.Callbacks("memory")]
+ ],
+ n = "pending",
+ r = {
+ state: function() {
+ return n
+ },
+ always: function() {
+ return i.done(arguments).fail(arguments), this
+ },
+ then: function() {
+ var e = arguments;
+ return pe.Deferred(function(n) {
+ pe.each(t, function(t, o) {
+ var a = pe.isFunction(e[t]) && e[t];
+ i[o[1]](function() {
+ var e = a && a.apply(this, arguments);
+ e && pe.isFunction(e.promise) ? e.promise().progress(n.notify).done(n.resolve).fail(n.reject) : n[o[0] + "With"](this === r ? n.promise() : this, a ? [e] : arguments)
+ })
+ }), e = null
+ }).promise()
+ },
+ promise: function(e) {
+ return null != e ? pe.extend(e, r) : r
+ }
+ },
+ i = {};
+ return r.pipe = r.then, pe.each(t, function(e, o) {
+ var a = o[2],
+ s = o[3];
+ r[o[1]] = a.add, s && a.add(function() {
+ n = s
+ }, t[1 ^ e][2].disable, t[2][2].lock), i[o[0]] = function() {
+ return i[o[0] + "With"](this === i ? r : this, arguments), this
+ }, i[o[0] + "With"] = a.fireWith
+ }), r.promise(i), e && e.call(i, i), i
+ },
+ when: function(e) {
+ var t, n, r, i = 0,
+ o = ie.call(arguments),
+ a = o.length,
+ s = 1 !== a || e && pe.isFunction(e.promise) ? a : 0,
+ u = 1 === s ? e : pe.Deferred(),
+ l = function(e, n, r) {
+ return function(i) {
+ n[e] = this, r[e] = arguments.length > 1 ? ie.call(arguments) : i, r === t ? u.notifyWith(n, r) : --s || u.resolveWith(n, r)
+ }
+ };
+ if(a > 1)
+ for(t = new Array(a), n = new Array(a), r = new Array(a); i < a; i++) o[i] && pe.isFunction(o[i].promise) ? o[i].promise().progress(l(i, n, t)).done(l(i, r, o)).fail(u.reject) : --s;
+ return s || u.resolveWith(r, o), u.promise()
+ }
+ });
+ var je;
+ pe.fn.ready = function(e) {
+ return pe.ready.promise().done(e), this
+ }, pe.extend({
+ isReady: !1,
+ readyWait: 1,
+ holdReady: function(e) {
+ e ? pe.readyWait++ : pe.ready(!0)
+ },
+ ready: function(e) {
+ (e === !0 ? --pe.readyWait : pe.isReady) || (pe.isReady = !0, e !== !0 && --pe.readyWait > 0 || (je.resolveWith(re, [pe]), pe.fn.triggerHandler && (pe(re).triggerHandler("ready"), pe(re).off("ready"))))
+ }
+ }), pe.ready.promise = function(t) {
+ if(!je)
+ if(je = pe.Deferred(), "complete" === re.readyState || "loading" !== re.readyState && !re.documentElement.doScroll) e.setTimeout(pe.ready);
+ else if(re.addEventListener) re.addEventListener("DOMContentLoaded", s), e.addEventListener("load", s);
+ else {
+ re.attachEvent("onreadystatechange", s), e.attachEvent("onload", s);
+ var n = !1;
+ try {
+ n = null == e.frameElement && re.documentElement
+ } catch(r) {}
+ n && n.doScroll && ! function i() {
+ if(!pe.isReady) {
+ try {
+ n.doScroll("left")
+ } catch(t) {
+ return e.setTimeout(i, 50)
+ }
+ a(), pe.ready()
+ }
+ }()
+ }
+ return je.promise(t)
+ }, pe.ready.promise();
+ var Le;
+ for(Le in pe(fe)) break;
+ fe.ownFirst = "0" === Le, fe.inlineBlockNeedsLayout = !1, pe(function() {
+ var e, t, n, r;
+ n = re.getElementsByTagName("body")[0], n && n.style && (t = re.createElement("div"), r = re.createElement("div"), r.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px", n.appendChild(r).appendChild(t), "undefined" != typeof t.style.zoom && (t.style.cssText = "display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1", fe.inlineBlockNeedsLayout = e = 3 === t.offsetWidth, e && (n.style.zoom = 1)), n.removeChild(r))
+ }),
+ function() {
+ var e = re.createElement("div");
+ fe.deleteExpando = !0;
+ try {
+ delete e.test
+ } catch(t) {
+ fe.deleteExpando = !1
+ }
+ e = null
+ }();
+ var He = function(e) {
+ var t = pe.noData[(e.nodeName + " ").toLowerCase()],
+ n = +e.nodeType || 1;
+ return(1 === n || 9 === n) && (!t || t !== !0 && e.getAttribute("classid") === t)
+ },
+ qe = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,
+ _e = /([A-Z])/g;
+ pe.extend({
+ cache: {},
+ noData: {
+ "applet ": !0,
+ "embed ": !0,
+ "object ": "clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
+ },
+ hasData: function(e) {
+ return e = e.nodeType ? pe.cache[e[pe.expando]] : e[pe.expando], !!e && !l(e)
+ },
+ data: function(e, t, n) {
+ return c(e, t, n)
+ },
+ removeData: function(e, t) {
+ return f(e, t)
+ },
+ _data: function(e, t, n) {
+ return c(e, t, n, !0)
+ },
+ _removeData: function(e, t) {
+ return f(e, t, !0)
+ }
+ }), pe.fn.extend({
+ data: function(e, t) {
+ var n, r, i, o = this[0],
+ a = o && o.attributes;
+ if(void 0 === e) {
+ if(this.length && (i = pe.data(o), 1 === o.nodeType && !pe._data(o, "parsedAttrs"))) {
+ for(n = a.length; n--;) a[n] && (r = a[n].name, 0 === r.indexOf("data-") && (r = pe.camelCase(r.slice(5)), u(o, r, i[r])));
+ pe._data(o, "parsedAttrs", !0)
+ }
+ return i
+ }
+ return "object" == typeof e ? this.each(function() {
+ pe.data(this, e)
+ }) : arguments.length > 1 ? this.each(function() {
+ pe.data(this, e, t)
+ }) : o ? u(o, e, pe.data(o, e)) : void 0
+ },
+ removeData: function(e) {
+ return this.each(function() {
+ pe.removeData(this, e)
+ })
+ }
+ }), pe.extend({
+ queue: function(e, t, n) {
+ var r;
+ if(e) return t = (t || "fx") + "queue", r = pe._data(e, t), n && (!r || pe.isArray(n) ? r = pe._data(e, t, pe.makeArray(n)) : r.push(n)), r || []
+ },
+ dequeue: function(e, t) {
+ t = t || "fx";
+ var n = pe.queue(e, t),
+ r = n.length,
+ i = n.shift(),
+ o = pe._queueHooks(e, t),
+ a = function() {
+ pe.dequeue(e, t)
+ };
+ "inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, a, o)), !r && o && o.empty.fire()
+ },
+ _queueHooks: function(e, t) {
+ var n = t + "queueHooks";
+ return pe._data(e, n) || pe._data(e, n, {
+ empty: pe.Callbacks("once memory").add(function() {
+ pe._removeData(e, t + "queue"), pe._removeData(e, n)
+ })
+ })
+ }
+ }), pe.fn.extend({
+ queue: function(e, t) {
+ var n = 2;
+ return "string" != typeof e && (t = e, e = "fx", n--), arguments.length < n ? pe.queue(this[0], e) : void 0 === t ? this : this.each(function() {
+ var n = pe.queue(this, e, t);
+ pe._queueHooks(this, e), "fx" === e && "inprogress" !== n[0] && pe.dequeue(this, e)
+ })
+ },
+ dequeue: function(e) {
+ return this.each(function() {
+ pe.dequeue(this, e)
+ })
+ },
+ clearQueue: function(e) {
+ return this.queue(e || "fx", [])
+ },
+ promise: function(e, t) {
+ var n, r = 1,
+ i = pe.Deferred(),
+ o = this,
+ a = this.length,
+ s = function() {
+ --r || i.resolveWith(o, [o])
+ };
+ for("string" != typeof e && (t = e, e = void 0), e = e || "fx"; a--;) n = pe._data(o[a], e + "queueHooks"), n && n.empty && (r++, n.empty.add(s));
+ return s(), i.promise(t)
+ }
+ }),
+ function() {
+ var e;
+ fe.shrinkWrapBlocks = function() {
+ if(null != e) return e;
+ e = !1;
+ var t, n, r;
+ return n = re.getElementsByTagName("body")[0], n && n.style ? (t = re.createElement("div"), r = re.createElement("div"), r.style.cssText = "position:absolute;border:0;width:0;height:0;top:0;left:-9999px", n.appendChild(r).appendChild(t), "undefined" != typeof t.style.zoom && (t.style.cssText = "-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:1px;width:1px;zoom:1", t.appendChild(re.createElement("div")).style.width = "5px", e = 3 !== t.offsetWidth), n.removeChild(r), e) : void 0
+ }
+ }();
+ var Fe = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,
+ Me = new RegExp("^(?:([+-])=|)(" + Fe + ")([a-z%]*)$", "i"),
+ Oe = ["Top", "Right", "Bottom", "Left"],
+ Re = function(e, t) {
+ return e = t || e, "none" === pe.css(e, "display") || !pe.contains(e.ownerDocument, e)
+ },
+ Pe = function(e, t, n, r, i, o, a) {
+ var s = 0,
+ u = e.length,
+ l = null == n;
+ if("object" === pe.type(n)) {
+ i = !0;
+ for(s in n) Pe(e, t, s, n[s], !0, o, a)
+ } else if(void 0 !== r && (i = !0, pe.isFunction(r) || (a = !0), l && (a ? (t.call(e, r), t = null) : (l = t, t = function(e, t, n) {
+ return l.call(pe(e), n)
+ })), t))
+ for(; s < u; s++) t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n)));
+ return i ? e : l ? t.call(e) : u ? t(e[0], n) : o
+ },
+ Be = /^(?:checkbox|radio)$/i,
+ We = /<([\w:-]+)/,
+ Ie = /^$|\/(?:java|ecma)script/i,
+ $e = /^\s+/,
+ ze = "abbr|article|aside|audio|bdi|canvas|data|datalist|details|dialog|figcaption|figure|footer|header|hgroup|main|mark|meter|nav|output|picture|progress|section|summary|template|time|video";
+ ! function() {
+ var e = re.createElement("div"),
+ t = re.createDocumentFragment(),
+ n = re.createElement("input");
+ e.innerHTML = " a", fe.leadingWhitespace = 3 === e.firstChild.nodeType, fe.tbody = !e.getElementsByTagName("tbody").length, fe.htmlSerialize = !!e.getElementsByTagName("link").length, fe.html5Clone = "<:nav>" !== re.createElement("nav").cloneNode(!0).outerHTML, n.type = "checkbox", n.checked = !0, t.appendChild(n), fe.appendChecked = n.checked, e.innerHTML = "", fe.noCloneChecked = !!e.cloneNode(!0).lastChild.defaultValue, t.appendChild(e), n = re.createElement("input"), n.setAttribute("type", "radio"), n.setAttribute("checked", "checked"), n.setAttribute("name", "t"), e.appendChild(n), fe.checkClone = e.cloneNode(!0).cloneNode(!0).lastChild.checked, fe.noCloneEvent = !!e.addEventListener, e[pe.expando] = 1, fe.attributes = !e.getAttribute(pe.expando)
+ }();
+ var Xe = {
+ option: [1, ""],
+ legend: [1, ""],
+ area: [1, ""],
+ param: [1, ""],
+ thead: [1, ""],
+ tr: [2, ""],
+ col: [2, ""],
+ td: [3, ""],
+ _default: fe.htmlSerialize ? [0, "", ""] : [1, "X", "
"]
+ };
+ Xe.optgroup = Xe.option, Xe.tbody = Xe.tfoot = Xe.colgroup = Xe.caption = Xe.thead, Xe.th = Xe.td;
+ var Ue = /<|?\w+;/,
+ Ve = / -1 && (h = p.split("."), p = h.shift(), h.sort()), a = p.indexOf(":") < 0 && "on" + p, t = t[pe.expando] ? t : new pe.Event(p, "object" == typeof t && t), t.isTrigger = i ? 2 : 3, t.namespace = h.join("."), t.rnamespace = t.namespace ? new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, t.result = void 0, t.target || (t.target = r), n = null == n ? [t] : pe.makeArray(n, [t]), l = pe.event.special[p] || {}, i || !l.trigger || l.trigger.apply(r, n) !== !1)) {
+ if(!i && !l.noBubble && !pe.isWindow(r)) {
+ for(u = l.delegateType || p, Ke.test(u + p) || (s = s.parentNode); s; s = s.parentNode) d.push(s), c = s;
+ c === (r.ownerDocument || re) && d.push(c.defaultView || c.parentWindow || e)
+ }
+ for(f = 0;
+ (s = d[f++]) && !t.isPropagationStopped();) t.type = f > 1 ? u : l.bindType || p, o = (pe._data(s, "events") || {})[t.type] && pe._data(s, "handle"), o && o.apply(s, n), o = a && s[a], o && o.apply && He(s) && (t.result = o.apply(s, n), t.result === !1 && t.preventDefault());
+ if(t.type = p, !i && !t.isDefaultPrevented() && (!l._default || l._default.apply(d.pop(), n) === !1) && He(r) && a && r[p] && !pe.isWindow(r)) {
+ c = r[a], c && (r[a] = null), pe.event.triggered = p;
+ try {
+ r[p]()
+ } catch(g) {}
+ pe.event.triggered = void 0, c && (r[a] = c)
+ }
+ return t.result
+ }
+ },
+ dispatch: function(e) {
+ e = pe.event.fix(e);
+ var t, n, r, i, o, a = [],
+ s = ie.call(arguments),
+ u = (pe._data(this, "events") || {})[e.type] || [],
+ l = pe.event.special[e.type] || {};
+ if(s[0] = e, e.delegateTarget = this, !l.preDispatch || l.preDispatch.call(this, e) !== !1) {
+ for(a = pe.event.handlers.call(this, e, u), t = 0;
+ (i = a[t++]) && !e.isPropagationStopped();)
+ for(e.currentTarget = i.elem, n = 0;
+ (o = i.handlers[n++]) && !e.isImmediatePropagationStopped();) e.rnamespace && !e.rnamespace.test(o.namespace) || (e.handleObj = o, e.data = o.data, r = ((pe.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, s), void 0 !== r && (e.result = r) === !1 && (e.preventDefault(), e.stopPropagation()));
+ return l.postDispatch && l.postDispatch.call(this, e), e.result
+ }
+ },
+ handlers: function(e, t) {
+ var n, r, i, o, a = [],
+ s = t.delegateCount,
+ u = e.target;
+ if(s && u.nodeType && ("click" !== e.type || isNaN(e.button) || e.button < 1))
+ for(; u != this; u = u.parentNode || this)
+ if(1 === u.nodeType && (u.disabled !== !0 || "click" !== e.type)) {
+ for(r = [], n = 0; n < s; n++) o = t[n], i = o.selector + " ", void 0 === r[i] && (r[i] = o.needsContext ? pe(i, this).index(u) > -1 : pe.find(i, this, null, [u]).length), r[i] && r.push(o);
+ r.length && a.push({
+ elem: u,
+ handlers: r
+ })
+ }
+ return s < t.length && a.push({
+ elem: this,
+ handlers: t.slice(s)
+ }), a
+ },
+ fix: function(e) {
+ if(e[pe.expando]) return e;
+ var t, n, r, i = e.type,
+ o = e,
+ a = this.fixHooks[i];
+ for(a || (this.fixHooks[i] = a = Ge.test(i) ? this.mouseHooks : Je.test(i) ? this.keyHooks : {}), r = a.props ? this.props.concat(a.props) : this.props, e = new pe.Event(o), t = r.length; t--;) n = r[t], e[n] = o[n];
+ return e.target || (e.target = o.srcElement || re), 3 === e.target.nodeType && (e.target = e.target.parentNode), e.metaKey = !!e.metaKey, a.filter ? a.filter(e, o) : e
+ },
+ props: "altKey bubbles cancelable ctrlKey currentTarget detail eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),
+ fixHooks: {},
+ keyHooks: {
+ props: "char charCode key keyCode".split(" "),
+ filter: function(e, t) {
+ return null == e.which && (e.which = null != t.charCode ? t.charCode : t.keyCode), e
+ }
+ },
+ mouseHooks: {
+ props: "button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),
+ filter: function(e, t) {
+ var n, r, i, o = t.button,
+ a = t.fromElement;
+ return null == e.pageX && null != t.clientX && (r = e.target.ownerDocument || re, i = r.documentElement, n = r.body, e.pageX = t.clientX + (i && i.scrollLeft || n && n.scrollLeft || 0) - (i && i.clientLeft || n && n.clientLeft || 0), e.pageY = t.clientY + (i && i.scrollTop || n && n.scrollTop || 0) - (i && i.clientTop || n && n.clientTop || 0)), !e.relatedTarget && a && (e.relatedTarget = a === e.target ? t.toElement : a), e.which || void 0 === o || (e.which = 1 & o ? 1 : 2 & o ? 3 : 4 & o ? 2 : 0), e
+ }
+ },
+ special: {
+ load: {
+ noBubble: !0
+ },
+ focus: {
+ trigger: function() {
+ if(this !== b() && this.focus) try {
+ return this.focus(), !1
+ } catch(e) {}
+ },
+ delegateType: "focusin"
+ },
+ blur: {
+ trigger: function() {
+ if(this === b() && this.blur) return this.blur(), !1
+ },
+ delegateType: "focusout"
+ },
+ click: {
+ trigger: function() {
+ if(pe.nodeName(this, "input") && "checkbox" === this.type && this.click) return this.click(), !1
+ },
+ _default: function(e) {
+ return pe.nodeName(e.target, "a")
+ }
+ },
+ beforeunload: {
+ postDispatch: function(e) {
+ void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result)
+ }
+ }
+ },
+ simulate: function(e, t, n) {
+ var r = pe.extend(new pe.Event, n, {
+ type: e,
+ isSimulated: !0
+ });
+ pe.event.trigger(r, null, t), r.isDefaultPrevented() && n.preventDefault()
+ }
+ }, pe.removeEvent = re.removeEventListener ? function(e, t, n) {
+ e.removeEventListener && e.removeEventListener(t, n)
+ } : function(e, t, n) {
+ var r = "on" + t;
+ e.detachEvent && ("undefined" == typeof e[r] && (e[r] = null), e.detachEvent(r, n))
+ }, pe.Event = function(e, t) {
+ return this instanceof pe.Event ? (e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && e.returnValue === !1 ? v : x) : this.type = e, t && pe.extend(this, t), this.timeStamp = e && e.timeStamp || pe.now(), void(this[pe.expando] = !0)) : new pe.Event(e, t)
+ }, pe.Event.prototype = {
+ constructor: pe.Event,
+ isDefaultPrevented: x,
+ isPropagationStopped: x,
+ isImmediatePropagationStopped: x,
+ preventDefault: function() {
+ var e = this.originalEvent;
+ this.isDefaultPrevented = v, e && (e.preventDefault ? e.preventDefault() : e.returnValue = !1)
+ },
+ stopPropagation: function() {
+ var e = this.originalEvent;
+ this.isPropagationStopped = v, e && !this.isSimulated && (e.stopPropagation && e.stopPropagation(), e.cancelBubble = !0)
+ },
+ stopImmediatePropagation: function() {
+ var e = this.originalEvent;
+ this.isImmediatePropagationStopped = v, e && e.stopImmediatePropagation && e.stopImmediatePropagation(), this.stopPropagation()
+ }
+ }, pe.each({
+ mouseenter: "mouseover",
+ mouseleave: "mouseout",
+ pointerenter: "pointerover",
+ pointerleave: "pointerout"
+ }, function(e, t) {
+ pe.event.special[e] = {
+ delegateType: t,
+ bindType: t,
+ handle: function(e) {
+ var n, r = this,
+ i = e.relatedTarget,
+ o = e.handleObj;
+ return i && (i === r || pe.contains(r, i)) || (e.type = o.origType, n = o.handler.apply(this, arguments), e.type = t), n
+ }
+ }
+ }), fe.submit || (pe.event.special.submit = {
+ setup: function() {
+ return !pe.nodeName(this, "form") && void pe.event.add(this, "click._submit keypress._submit", function(e) {
+ var t = e.target,
+ n = pe.nodeName(t, "input") || pe.nodeName(t, "button") ? pe.prop(t, "form") : void 0;
+ n && !pe._data(n, "submit") && (pe.event.add(n, "submit._submit", function(e) {
+ e._submitBubble = !0
+ }), pe._data(n, "submit", !0))
+ })
+ },
+ postDispatch: function(e) {
+ e._submitBubble && (delete e._submitBubble, this.parentNode && !e.isTrigger && pe.event.simulate("submit", this.parentNode, e))
+ },
+ teardown: function() {
+ return !pe.nodeName(this, "form") && void pe.event.remove(this, "._submit")
+ }
+ }), fe.change || (pe.event.special.change = {
+ setup: function() {
+ return Ye.test(this.nodeName) ? ("checkbox" !== this.type && "radio" !== this.type || (pe.event.add(this, "propertychange._change", function(e) {
+ "checked" === e.originalEvent.propertyName && (this._justChanged = !0)
+ }), pe.event.add(this, "click._change", function(e) {
+ this._justChanged && !e.isTrigger && (this._justChanged = !1), pe.event.simulate("change", this, e)
+ })), !1) : void pe.event.add(this, "beforeactivate._change", function(e) {
+ var t = e.target;
+ Ye.test(t.nodeName) && !pe._data(t, "change") && (pe.event.add(t, "change._change", function(e) {
+ !this.parentNode || e.isSimulated || e.isTrigger || pe.event.simulate("change", this.parentNode, e)
+ }), pe._data(t, "change", !0))
+ })
+ },
+ handle: function(e) {
+ var t = e.target;
+ if(this !== t || e.isSimulated || e.isTrigger || "radio" !== t.type && "checkbox" !== t.type) return e.handleObj.handler.apply(this, arguments)
+ },
+ teardown: function() {
+ return pe.event.remove(this, "._change"), !Ye.test(this.nodeName)
+ }
+ }), fe.focusin || pe.each({
+ focus: "focusin",
+ blur: "focusout"
+ }, function(e, t) {
+ var n = function(e) {
+ pe.event.simulate(t, e.target, pe.event.fix(e))
+ };
+ pe.event.special[t] = {
+ setup: function() {
+ var r = this.ownerDocument || this,
+ i = pe._data(r, t);
+ i || r.addEventListener(e, n, !0), pe._data(r, t, (i || 0) + 1)
+ },
+ teardown: function() {
+ var r = this.ownerDocument || this,
+ i = pe._data(r, t) - 1;
+ i ? pe._data(r, t, i) : (r.removeEventListener(e, n, !0), pe._removeData(r, t))
+ }
+ }
+ }), pe.fn.extend({
+ on: function(e, t, n, r) {
+ return w(this, e, t, n, r)
+ },
+ one: function(e, t, n, r) {
+ return w(this, e, t, n, r, 1)
+ },
+ off: function(e, t, n) {
+ var r, i;
+ if(e && e.preventDefault && e.handleObj) return r = e.handleObj, pe(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this;
+ if("object" == typeof e) {
+ for(i in e) this.off(i, t, e[i]);
+ return this
+ }
+ return t !== !1 && "function" != typeof t || (n = t, t = void 0), n === !1 && (n = x), this.each(function() {
+ pe.event.remove(this, e, n, t)
+ })
+ },
+ trigger: function(e, t) {
+ return this.each(function() {
+ pe.event.trigger(e, t, this)
+ })
+ },
+ triggerHandler: function(e, t) {
+ var n = this[0];
+ if(n) return pe.event.trigger(e, t, n, !0)
+ }
+ });
+ var Ze = / jQuery\d+="(?:null|\d+)"/g,
+ et = new RegExp("<(?:" + ze + ")[\\s/>]", "i"),
+ tt = /<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:-]+)[^>]*)\/>/gi,
+ nt = /
+
+
+
+
+<%
+String id = request.getParameter("id");
+%>
+
+
+
+
+