diff --git a/Gruntfile.js b/Gruntfile.js index 9a8f2d95..6899fd92 100644 --- a/Gruntfile.js +++ b/Gruntfile.js @@ -1,6 +1,7 @@ -'use strict'; +/*global module*/ module.exports = function (grunt) { + 'use strict'; // Define the configuration for all the tasks grunt.initConfig({ @@ -77,7 +78,7 @@ module.exports = function (grunt) { // Watches files for changes and runs tasks based on the changed files watch: { configFiles: { - files: ['Gruntfile.js','grunt/grunt-*.json'], + files: ['Gruntfile.js', 'grunt/grunt-*.json'], tasks: ['build:dev'], options: { // reload watchers since configuration may have changed @@ -85,7 +86,7 @@ module.exports = function (grunt) { } }, javascripts: { - files: ['src/javascripts/ng-admin/**/*.js', 'src/javascripts/ng-admin/**/*.html'], + files: ['src/javascripts/ng-admin/**/**/*.js', 'src/javascripts/ng-admin/**/**/*.html'], tasks: ['requirejs:dev'] }, sass: { diff --git a/Makefile b/Makefile index 1da56edd..7bd84bd9 100644 --- a/Makefile +++ b/Makefile @@ -1,3 +1,6 @@ install: bower install npm install + +test: + @grunt test diff --git a/README.md b/README.md index 9fe0bee3..7bcd1082 100644 --- a/README.md +++ b/README.md @@ -30,12 +30,19 @@ var app = angular.module('myApp', ['ng-admin']); Configure ng-admin: ```js -app.config(function(NgAdminConfigurationProvider, Application, Entity, Field, Reference, ReferencedList, ReferenceMany) { +app.config(function (NgAdminConfigurationProvider, Application, Entity, Field, Reference, ReferencedList, + ReferenceMany, DashboardView, ListView, CreateView, EditView, DeleteView) { // See below for more information about the configuration var app = new Application('My backend') .baseApiUrl('http://localhost:3000/') .addEntity(/* ... */) + .addView(new DashboardView('dashboard').addField(/**/)) + .addView(new ListView('post-list').addField(/**/)) + .addView(new CreateView('post-create').addField(/**/)) + .addView(new EditView('post-update').addField(/**/)) + .addView(new DeleteView('post-delete')); + /* ... */ NgAdminConfigurationProvider.configure(app); }); @@ -48,230 +55,320 @@ Your application should use a `ui-view`: # Configuration -We chose to define the entities directly into a Javascript file to allow greater freedom in the configuration. -For some part of the configuration, you'll be able to directly define the function that matches your specific needs to fit your API. +We chose to define the entities & views directly in JavaScript to allow greater freedom in the configuration. Here is a full example for a backend that will let you create, update, and delete some posts (`posts` entity). Those posts can be tagged (`tags` entity) and commented (`comments` entity). ```js -app.config(function(NgAdminConfigurationProvider, Application, Entity, - Field, Reference, ReferencedList, ReferenceMany) { - - var postBody, postId; - - // Declare a new entity - var tag = new Entity('tags') - .label('Tags') - // how many element should be displayed in dashboard ? - .dashboard(10) - // define your specific pagination function returning GET parameters - .pagination(function(page, maxPerPage) { - return { - offset: (page - 1) * maxPerPage, - limit: maxPerPage - } - }) - // enable lazyload pagination - .infinitePagination(true) - // Set specific parameter for search - .filterQuery(function(query) { - return { - filter: query - }; - }) - .addField(new Field('id') - .order(1) - .label('ID') - .type('number') - .identifier(true) - .edition('read-only') + +var app = angular.module('myApp', ['ng-admin']); + +app.config(function (NgAdminConfigurationProvider, Application, Entity, Field, Reference, ReferencedList, + ReferenceMany, DashboardView, ListView, CreateView, EditView, DeleteView) { + + var app = new Application('ng-admin backend demo') // application main title + .baseApiUrl('http://localhost:3000/'); // main API endpoint + + // define all entities at the top to allow references between them + var post = new Entity('posts'); // the API endpoint for posts will be http://localhost:3000/posts/:id + + var comment = new Entity('comments') + .identifier(new Field('id')) // you can optionally customize the identifier used in the api ('id' by default) + .addMappedField(new Field('post_id')); // a field to be read from the API, even if not displayed in any view (used later in template field) + + var tag = new Entity('tags'); + + // set the application entities + app + .addEntity(tag) + .addEntity(post) + .addEntity(comment); + + function truncate(value) { + if (!value) return ''; + return value.length > 50 ? value.substr(0, 50) + '...' : value; + } + + function pagination(page, maxPerPage) { + return { _start: (page - 1) * maxPerPage, _end: page * maxPerPage }; // how the pagination should be reflected as API query params + } + + // customize entities and views + post + .order(1) // post should be the first item in the sidebar menu + .addView(new DashboardView('post-dashboard') // initialize a view with a name to ease routing + .order(1) // display the post panel first in the dashboard + .limit(5) // limit the panel to the 5 latest posts + .pagination(pagination) // use the custom pagination function to format the API request correctly + .label('Recent posts') + .addField(new Field('title').map(truncate)) ) - .addField(new Field('name') - .order(2) - .label('Name') - .edition('editable') - .validation({ - "required": true, - "max-length" : 150 - }) + .addView(new ListView('post-list') // initialize the datagrid + .title('All posts') // default title is "List of posts" + .pagination(pagination) + .addField(new Field('id').label('ID')) + .addField(new Field('title')) // the default list field type is "string", and displays as a string + .addField(new ReferenceMany('tags') // a Reference is a particular type of field that references another entity + .targetEntity(tag) // the tag entity is defined later in this file + .targetField(new Field('name')) // the field to be displayed in this list + ) + ) + .addView(new CreateView('post-create') // initialize the creation form + .title('Add a new post') // default title is "Create a post" + .addField(new Field('title')) // the default edit field type is "string", and displays as a text input + .addField(new Field('body').type('wysiwyg')) // overriding the type allows rich text editing for the body + ) + .addView(new EditView('post-edit') // initialize the edition form + .addField(new Field('title')) + .addField(new Field('body').type('wysiwyg')) + .addField(new ReferenceMany('tags') + .targetEntity(tag) + .targetField(new Field('name')) + ) + .addField(new ReferencedList('comments') + .targetEntity(comment) + .targetReferenceField('post_id') + .targetFields([ + new Field('id'), + new Field('body').label('Comment') + ]) + ) + ) + .addView(new DeleteView('post-delete') // initialize the deletion confirmation page + .title('Delete a post') ); - var comment = new Entity('comments') - .label('Comments') - .dashboard(10) - .infinitePagination(true) - .filterQuery(false) - .sortParams(function(field, dir) { - return { - // Change sorting params - params: { - sort: field, - sortDir: dir - }, - // You can also want to sort via headers - headers: { - } - } - }) - .addField(postId = new Field('id') - .order(1) - .label('ID') - .type('number') - .identifier(true) - .edition('read-only') + comment + .order(2) // comment should be the second item in the sidebar menu + .addView(new DashboardView('comment-dashboard') + .order(2) // display the comment panel second in the dashboard + .limit(5) + .pagination(pagination) + .label('Last comments') + .addField(new Field('id')) + .addField(new Field('body').label('Comment').map(truncate)) + .addField(new Field() // template fields don't need a name + .type('template') // a field which uses a custom template + .label('Actions') + .template(function () { // template() can take a function or a string + return ''; // you can use custom directives, too + }) + ) ) - .addField(postBody = new Field('body') - .order(2) - .label('Comment') - .edition('editable') - .validation({ - "required": true, - "max-length" : 150, - // define your custom validation function - "validator" : function(value) { - return value.indexOf('cat') > -1; - } + .addView(new ListView('comment-list') + .title('Comments') + .description('List of all comments with an infinite pagination') // description appears under the title + .pagination(pagination) + .addField(new Field('id').label('ID')) + .addField(new Reference('post_id') + .label('Post title') + .map(truncate) + .targetEntity(post) + .targetField(new Field('title')) + ) + .addField(new Field('body').map(truncate)) + .addField(new Field('created_at').label('Creation date').type('date')) + .addQuickFilter('Today', function () { // a quick filter displays a button to filter the list based on a set of query parameters passed to the API + var now = new Date(), + year = now.getFullYear(), + month = now.getMonth() + 1, + day = now.getDate(); + month = month < 10 ? '0' + month : month; + day = day < 10 ? '0' + day : day; + return { + created_at: [year, month, day].join('-') // ?created_at=... will be appended to the API call + }; }) + ) + .addView(new CreateView('comment-create') + .addField(new Reference('post_id') + .label('Post title') + .map(truncate) + .targetEntity(post) + .targetField(new Field('title')) + ) + .addField(new Field('body').type('wysiwyg')) ) - .filterParams(function(params) { - // Allows to return custom specific search params - return params; - }) - .addField(new Field('created_at') - .order(3) - .label('Creation Date') - .type('date') - .edition('editable') - .validation({ - "required": true - }) - ).addQuickFilter('Today', function() { - var now = new Date(), - year = now.getFullYear(), - month = now.getMonth() + 1, - day = now.getDate(); - - month = month < 10 ? '0' + month : month; - day = day < 10 ? '0' + day : day; - - return { - created_at: [year, month, day].join('-') - } - }) - .addField(new Field('actions') - .type('callback') - .list(true) - .label('Big value') - // Disable default link on the list view - .isEditLink(false) - // Add a new link to the post thanks to callback - .callback(function(entity) { - // Directive can also be included - return '{{ entity.getField("name").value.toUpperCase() }}'; - }) + .addView(new EditView('comment-edit') + .addField(new Reference('post_id') + .label('Post title') + .map(truncate) + .targetEntity(post) + .targetField(new Field('title')) + ) + .addField(new Field('body').type('wysiwyg')) + .addField(new Field('created_at').label('Creation date').type('date')) + .addField(new Field() + .type('template') + .label('Actions') + .template('') // template() can take a function or a string + ) + ) + .addView(new DeleteView('comment-delete') + .title('Delete a comment') ); - var post = new Entity('posts') - .label('Posts') - .dashboard(null) - .pagination(false) - .addField(new Field('id') - .label('ID') - .type('number') - .identifier(true) - .edition('read-only') + tag + .order(3) + .addView(new DashboardView('tag-dashboard') + .order(3) + .limit(10) + .pagination(pagination) + .label('Recent tags') + .addField(new Field('id').label('ID')) + .addField(new Field('name')) + .addField(new Field('published').label('Is published ?').type('boolean')) ) - .addField(new Field('body') - .label('Body') - .type('wysiwyg') - .edition('editable') + .addView(new ListView('tags-list') + .title('List of all tags') + .infinitePagination(false) // by default, the list view uses infinite pagination. Set to false to use regulat pagination + .pagination(pagination) + .addField(new Field('id').label('ID')) + .addField(new Field('name')) + .addField(new Field('published').type('boolean')) + .addField(new Field('custom') + .type('template') + .label('Upper name') + .template(function () { + return '{{ entry.values.name.toUpperCase() }}'; + }) + ) ) - .addField(new ReferencedList('comments') - .label('Comments') - .targetEntity(comment) - .targetField('post_id') - .targetFields([postId, postBody]) - ) - .addField(new ReferenceMany('tags') - .label('Tags') - .targetEntity(tag) - .targetLabel('name') + .addView(new CreateView('tags-create') + .addField(new Field('name') + .type('string') + .validation({ + "required": true, + "max-length" : 150 + }) + ) + .addField(new Field('published').type('boolean')) + ) + .addView(new EditView('tags_edit') + .addField(new Field('name').editable(false)) + .addField(new Field('published').type('boolean')) + ) + .addView(new DeleteView('tags-delete') + .title('Delete a tag') ); - var app = new Application('My backend') - // Add extra headers for each actions - .headers(function(entityName, action) { - return { - 'X-User': entityName === 'post' ? 'username' : 'user2', - 'X-Password': 'pwd' - } - }) - .baseApiUrl('http://localhost:3000/') - .addEntity(post) - .addEntity(comment) - .addEntity(tag); - NgAdminConfigurationProvider.configure(app); }); + ``` +## View types + +- `DashboardView`: display a block in the dashboard +- `ListView`: main list view +- `CreateView`: creation form +- `EditView`: edition form +- `DeleteView`: deletion view + ## Field types -- `Field` : simple field -- `Reference` : association 1-N with another entity -- `ReferenceList` : association N-1 -- `ReferenceMany` : association N-N +- `Field`: simple field +- `Reference`: association 1-N with another entity +- `ReferencedList`: association N-1 +- `ReferenceMany`: association N-N -### List of options for `Field` type +## General Field Parameters -* `type(string ['number'|'string'|'text'|'wysiwyg'|'email'|'date'|'choice'])` -Define the field type. +* `type(string ['number'|'string'|'text'|'boolean'|'wysiwyg'|'email'|'date'|'choice'|'choices'|'template'])` +Define the field type. Default type is 'string', so you can omit it. * `label(string label)` -Define the label of the field. +Define the label of the field. Defaults to the uppercased field name. -* `defaultValue(v)` -Define the default value of the field. +* `displayed(boolean)` +Should the field be displayed in the view ? Useful when we need to retrieve data for custom field -* `edition(string ['read-only'|'editable'])` -Define if the field is editable in the edition form. +* `editable(boolean)` +Define if the field is editable in the edition form. Usefult to display a field without allowing edition (e.g for creation date). * `order(number|null)` -Define the position of the field in the form. - -* `identifier(boolean [true|false])` -Define if this field is the entity's identifier (to build the REST requests). +Define the position of the field in the view. * `format(string ['yyyy-MM-dd' by default])` Define the format for `date` type. +* `isEditLink(boolean)` +Tell if the value is a link in the list view. Default to true for the identifier field, false otherwise. + * `choices([{value: '', label: ''}, ...]) Define array of choices for `choice` type. A choice has both a value and a label. -* `valueTransformer(function)` -Define a custom function to transform the value. +* `map(function)` +Define a custom function to transform the value. Works in list and edit views. ```js .addField(new Field('characters') - .valueTransformer(function(value) { - return value && value.items ? value.items[0] : value; + .map(function truncate(value) { + return value.length > 50 ? value.substr(0, 50) + '...' : value; }) ) ``` -* `list(boolean)` -Define if the field should be displayed in the list. +Multiple `map` can be defined for a field: -* `dashboard(number|false)` -Number of elements displayed in dashboard. +```js +.addField(new Field('comment') + .map(stripTags) + .map(truncate) +) +``` + +* `validation(object)` +Tell how to validate the view + - `required`: boolean + - `validator`: function(value){} + - `min-length`: number + - `max-length`: number + +* `defaultValue(*)` +Define the default value of the field in the creation form. + +* `template(*)` +Define the template to be displayed (can be a string or a function). + +## ListView Customization + +You can add quick filters on a list view with: + +```js +listView.addQuickFilter('Today', function () { + var now = new Date(), + year = now.getFullYear(), + month = now.getMonth() + 1, + day = now.getDate(); + + month = month < 10 ? '0' + month : month; + day = day < 10 ? '0' + day : day; + + return { + created_at: [year, month, day].join('-') + }; +}) +``` + +Quickfilters can be customised with the `filterParams` of the `ListView`: + +```js +lstView.filterParams(function (param) { + if (param) { + param.abc = ''; + } + + return param; +}) +``` -* `validation(function)` -Define a custom validation function. +## Relationships -### List of options for `Reference` type +### Reference -The `Reference` type also defines `label`, `order`, `valueTransformer`, `list` & `validation` options like the `Field` type. +The `Reference` type also defines `label`, `order`, `map`, `list` & `validation` options like the `Field` type. * `targetEntity(Entity)` Define the referenced entity. @@ -279,35 +376,64 @@ Define the referenced entity. * `targetLabel(string)` Define the target field name used to retrieve the label of the referenced element. -### List of options for `ReferencedList` type +```js +myView.addField(new Reference('post_id') + .label('Post title') + .map(truncate) // Allows to truncate values in the select + .targetEntity(post) // Select a target Entity + .targetField(new Field('title')) // Select a label Field +) +``` + +### ReferencedList -The `ReferencedList` type also defines `label`, `order`, `valueTransformer`, `list` & `validation` options like the `Field` type. +The `ReferencedList` type also defines `label`, `order`, `map`, `list` & `validation` options like the `Field` type. * `targetEntity(Entity)` Define the referenced entity. -* `targetField(string)` +* `targetReferenceField(string)` Define the field name used to link the referenced entity. * `targetFields(Array(Field))` Define an array of fields that will be displayed in the list of the form. -### List of options for `ReferencedMany` type +```js +myEditView.addField(new ReferencedList('comments') // Define a N-1 relationship with the comment entity + .label('Comments') + .targetEntity(comment) // Target the comment Entity + .targetReferenceField('post_id') // Each comment with post_id = post.id (the identifier) will be displayed + .targetFields([ // Display comment field to display + new Field('id').label('ID'), + new Field('body').label('Comment') + ]) + ) +) +``` + +### ReferenceMany -The `ReferencedMany` type also defines `label`, `order`, `valueTransformer`, `list` & `validation` options like the `Field` type. +The `ReferenceMany` type also defines `label`, `order`, `map` & `validation` options like the `Field` type. * `targetEntity(Entity)` Define the referenced entity. -* `targetField(string)` +* `targetField(Field)` Define the field name used to link the referenced entity. -* `targetLabel(string)` -Define the target field name used to retrieve the label of the referenced element. +```js +myView.addField(new ReferenceMany('tags') + .label('Tags') + .isEditLink(false) + .targetEntity(tag) // Targeted entity + .targetField(new Field('name')) // Label Field to display in the list +) +``` ## Build Concatenate and minify the app with: + ```sh grunt build ``` @@ -326,7 +452,7 @@ A new `build/ng-admin.min.js` file will be created. Your feedback about the usage of ng-admin in your specific context is valuable, don't hesitate to [open GitHub Issues](https://github.com/marmelab/ng-admin/issues) for any problem or question you may have. -All contributions are welcome. New applications or options should be tested with go unit test tool. +All contributions are welcome. New applications or options should be tested with `make test` command. ## License diff --git a/UPGRADE-0.3.md b/UPGRADE-0.3.md new file mode 100644 index 00000000..a967a6e3 --- /dev/null +++ b/UPGRADE-0.3.md @@ -0,0 +1,117 @@ +# Upgrade to 0.3 + +0.3 is a major version, and introduces a few BC breaks. + +## Views + +In order to allow deeper customization, ng-admin 0.3 introduces the concept of "views". An entity can have up to 5 views (`DashboardView`, `ListView`, `CreateView`, `EditView`, `DeleteView`). Each view can have its on set of fields, independently of the other. That way, it's easier to expose some fields in the EditView but not in the ListView, or to use different field types for the CreateView and the EditView. + +The direct consequence is in the configuration: instead of being directly attached to entities, fields are defined on views. For instance, consider the following `tag` entity defined in the old syntax: + +```js +var tag = new Entity('tags') + .label('Tags') + .dashboard(10) + .pagination(function(page, maxPerPage) { + return { + offset: (page - 1) * maxPerPage, + limit: maxPerPage + } + }) + .infinitePagination(true) + .filterQuery(function(query) { + return { + filter: query + }; + }) + .addField(new Field('id') + .order(1) + .label('ID') + .type('number') + .identifier(true) + .edition('read-only') + ).addField(new Field('name') + .order(2) + .label('Name') + .edition('editable') + .validation({ + "required": true, + "max-length" : 150 + }) + ); +``` + +Now the `Entity` definition should be splitted into views: + +```js + var tag = new Entity('tags') + .label('Tags') + .identifier(new Field('id')) + .addView(new DashboardView('tag-dashboard') + .label('Recent tags') + .order(3) + .limit(10) + .pagination(function(page, maxPerPage) { + return { + offset: (page - 1) * maxPerPage, + limit: maxPerPage + } + }) + .addField(new Field('id').label('ID')) + .addField(new Field('name').label('Name').type('string')) + ) + .addView(new ListView('tags-list') + .title('List of all tags') + .infinitePagination(false) + .pagination(pagination) + .addField(new Field('id').label('ID')) + .addField(new Field('name').label('Name').type('string')) + ) + .addView(new CreateView('tags-create') + .addField(new Field('name') + .label('Name') + .type('string') + .validation({ + "required": true, + "max-length" : 150 + }) + ) + ) + .addView(new EditView('tags_edit') + .listView('tags-list') + .addField(new Field('name').label('Name') + .type('string') + .validation({ + "required": true, + "max-length" : 150 + }) + ) + ) + .addView(new DeleteView('tags-delete') + .title('Delete a tag') + ); +``` + +These options have moved to the `DashboardView` & `ListView`: +* `pagination` +* `perPage` +* `infinitePagination` +* `limit` +* `order` +* `sortParams` +* `filterQuery` +* `filterParams` +* `totalItems` +* `headers` +* `quickFilters` + + ## Minor changes + + - `value` is now a function so the value of a field should be retrieved with `views.getField('fieldName').value()` instead of `views.getField('fieldName').value`. + - `callback` field type & method are now called `template`. + - `targetField` of a `ReferencedList` is now called a `targetReferenceField`. + - `targetFields` of a `ReferencedList` & `targetField` for a `ReferenceMany` or a `ReferenceMany` should not be necessary the same field used in the description of the targeted entity. + - `valueTransformer` and `truncateList` are now renamed to `map` + - `label` is now optional; by default, the label of a field is the CamelCase version of the field name + +Check the [example configuration](src/javascripts/config-dist.js) for an overview of the new syntax. diff --git a/bower.json b/bower.json index 0cfe1f03..8a981075 100644 --- a/bower.json +++ b/bower.json @@ -1,8 +1,8 @@ { "name": "ng-admin", - "version": "0.2.2", + "version": "0.3.0", "dependencies": { - "angular": "~1.2.16", + "angular": "~1.3.1", "angular-bootstrap": "~0.11.0", "angular-resource": "~1.2.15", "angular-cookies": "~1.2.15", @@ -28,6 +28,17 @@ "almond": "~0.3.0" }, "resolutions": { - "angular": "~1.2.16" - } + "angular": "~1.3.1" + }, + "ignore": [ + "examples", + "grunt", + "src", + ".*", + "Gruntfile.js", + "*.html", + "Makefile", + "*.json", + "UPGRADE-*" + ] } diff --git a/build/ng-admin.min.css b/build/ng-admin.min.css index d2062748..fb68eabd 100644 --- a/build/ng-admin.min.css +++ b/build/ng-admin.min.css @@ -1,4 +1,4 @@ /*! normalize.css v3.0.1 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,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:0 0}a:active,a:hover{outline:0}b,strong{font-weight:700}dfn{font-style:italic}h1{margin:.67em 0}mark{background:#ff0;color:#000}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}img{border:0}svg:not(:root){overflow:hidden}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}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{border:0;padding:0}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-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}@media print{*{text-shadow:none!important;color:#000!important;background:0 0!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^="javascript:"]:after,a[href^="#"]:after{content:""}blockquote,pre{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}img,tr{page-break-inside:avoid}img{max-width:100%!important}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}select{background:#fff!important}.navbar{display:none}.table td,.table th{background-color:#fff!important}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url(../../bootstrap-sass-official/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.eot);src:url(../../bootstrap-sass-official/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../../bootstrap-sass-official/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.woff) format("woff"),url(../../bootstrap-sass-official/vendor/assets/fonts/bootstrap/glyphicons-halflings-regular.ttf) format("truetype"),url(../../bootstrap-sass-official/vendor/assets/fonts/bootstrap/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{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"}*,:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:62.5%;-webkit-tap-highlight-color:transparent}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857;color:#333}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#428bca;text-decoration:none}a:focus,a:hover{color:#2a6496;text-decoration:underline}a:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857;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;display:inline-block;max-width:100%;height:auto}.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;margin:-1px;padding:0;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,.h1 small,.h2 .small,.h2 small,.h3 .small,.h3 small,.h4 .small,.h4 small,.h5 .small,.h5 small,.h6 .small,.h6 small,h1 .small,h1 small,h2 .small,h2 small,h3 .small,h3 small,h4 .small,h4 small,h5 .small,h5 small,h6 .small,h6 small{font-weight:400;line-height:1;color:#999}.h1,.h2,.h3,h1,h2,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,.h5,.h6,h4,h5,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:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}cite{font-style:normal}.mark,mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-muted{color:#999}.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}ol,ul{margin-top:0;margin-bottom:10px}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}.list-inline,.list-unstyled{padding-left:0;list-style:none}.list-inline{margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857}dt{font-weight:700}dd{margin-left:0}.dl-horizontal dd:after,.dl-horizontal dd:before{content:" ";display:table}.dl-horizontal dd:after{clear:both}@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[data-original-title],abbr[title]{cursor:help;border-bottom:1px dotted #999}.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 ol:last-child,blockquote p:last-child,blockquote ul:last-child{margin-bottom:0}blockquote .small,blockquote footer,blockquote small{display:block;font-size:80%;line-height:1.42857;color:#999}blockquote .small:before,blockquote footer:before,blockquote small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse .small:before,.blockquote-reverse footer:before,.blockquote-reverse small:before,blockquote.pull-right .small:before,blockquote.pull-right footer:before,blockquote.pull-right small:before{content:''}.blockquote-reverse .small:after,.blockquote-reverse footer:after,.blockquote-reverse small:after,blockquote.pull-right .small:after,blockquote.pull-right footer:after,blockquote.pull-right small:after{content:'\00A0 \2014'}blockquote:after,blockquote:before{content:""}address{margin-bottom:20px;font-style:normal;line-height:1.42857}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;box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857;word-break:break-all;word-wrap:break-word;color:#333;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{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container:after,.container:before{content:" ";display:table}.container:after{clear:both}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container-fluid:after,.container-fluid:before{content:" ";display:table}.container-fluid:after{clear:both}.row{margin-left:-15px;margin-right:-15px}.row:after,.row:before{content:" ";display:table}.row:after{clear:both}.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.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-md-1,.col-md-10,.col-md-11,.col-md-12,.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-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.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-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-10,.col-xs-11,.col-xs-12,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9{float:left}.col-xs-1{width:8.33333%}.col-xs-2{width:16.66667%}.col-xs-3{width:25%}.col-xs-4{width:33.33333%}.col-xs-5{width:41.66667%}.col-xs-6{width:50%}.col-xs-7{width:58.33333%}.col-xs-8{width:66.66667%}.col-xs-9{width:75%}.col-xs-10{width:83.33333%}.col-xs-11{width:91.66667%}.col-xs-12{width:100%}.col-xs-pull-0{right:auto}.col-xs-pull-1{right:8.33333%}.col-xs-pull-2{right:16.66667%}.col-xs-pull-3{right:25%}.col-xs-pull-4{right:33.33333%}.col-xs-pull-5{right:41.66667%}.col-xs-pull-6{right:50%}.col-xs-pull-7{right:58.33333%}.col-xs-pull-8{right:66.66667%}.col-xs-pull-9{right:75%}.col-xs-pull-10{right:83.33333%}.col-xs-pull-11{right:91.66667%}.col-xs-pull-12{right:100%}.col-xs-push-0{left:auto}.col-xs-push-1{left:8.33333%}.col-xs-push-2{left:16.66667%}.col-xs-push-3{left:25%}.col-xs-push-4{left:33.33333%}.col-xs-push-5{left:41.66667%}.col-xs-push-6{left:50%}.col-xs-push-7{left:58.33333%}.col-xs-push-8{left:66.66667%}.col-xs-push-9{left:75%}.col-xs-push-10{left:83.33333%}.col-xs-push-11{left:91.66667%}.col-xs-push-12{left:100%}.col-xs-offset-0{margin-left:0}.col-xs-offset-1{margin-left:8.33333%}.col-xs-offset-2{margin-left:16.66667%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-4{margin-left:33.33333%}.col-xs-offset-5{margin-left:41.66667%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-7{margin-left:58.33333%}.col-xs-offset-8{margin-left:66.66667%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-10{margin-left:83.33333%}.col-xs-offset-11{margin-left:91.66667%}.col-xs-offset-12{margin-left:100%}@media (min-width:768px){.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9{float:left}.col-sm-1{width:8.33333%}.col-sm-2{width:16.66667%}.col-sm-3{width:25%}.col-sm-4{width:33.33333%}.col-sm-5{width:41.66667%}.col-sm-6{width:50%}.col-sm-7{width:58.33333%}.col-sm-8{width:66.66667%}.col-sm-9{width:75%}.col-sm-10{width:83.33333%}.col-sm-11{width:91.66667%}.col-sm-12{width:100%}.col-sm-pull-0{right:auto}.col-sm-pull-1{right:8.33333%}.col-sm-pull-2{right:16.66667%}.col-sm-pull-3{right:25%}.col-sm-pull-4{right:33.33333%}.col-sm-pull-5{right:41.66667%}.col-sm-pull-6{right:50%}.col-sm-pull-7{right:58.33333%}.col-sm-pull-8{right:66.66667%}.col-sm-pull-9{right:75%}.col-sm-pull-10{right:83.33333%}.col-sm-pull-11{right:91.66667%}.col-sm-pull-12{right:100%}.col-sm-push-0{left:auto}.col-sm-push-1{left:8.33333%}.col-sm-push-2{left:16.66667%}.col-sm-push-3{left:25%}.col-sm-push-4{left:33.33333%}.col-sm-push-5{left:41.66667%}.col-sm-push-6{left:50%}.col-sm-push-7{left:58.33333%}.col-sm-push-8{left:66.66667%}.col-sm-push-9{left:75%}.col-sm-push-10{left:83.33333%}.col-sm-push-11{left:91.66667%}.col-sm-push-12{left:100%}.col-sm-offset-0{margin-left:0}.col-sm-offset-1{margin-left:8.33333%}.col-sm-offset-2{margin-left:16.66667%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-4{margin-left:33.33333%}.col-sm-offset-5{margin-left:41.66667%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-7{margin-left:58.33333%}.col-sm-offset-8{margin-left:66.66667%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-10{margin-left:83.33333%}.col-sm-offset-11{margin-left:91.66667%}.col-sm-offset-12{margin-left:100%}}@media (min-width:992px){.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9{float:left}.col-md-1{width:8.33333%}.col-md-2{width:16.66667%}.col-md-3{width:25%}.col-md-4{width:33.33333%}.col-md-5{width:41.66667%}.col-md-6{width:50%}.col-md-7{width:58.33333%}.col-md-8{width:66.66667%}.col-md-9{width:75%}.col-md-10{width:83.33333%}.col-md-11{width:91.66667%}.col-md-12{width:100%}.col-md-pull-0{right:auto}.col-md-pull-1{right:8.33333%}.col-md-pull-2{right:16.66667%}.col-md-pull-3{right:25%}.col-md-pull-4{right:33.33333%}.col-md-pull-5{right:41.66667%}.col-md-pull-6{right:50%}.col-md-pull-7{right:58.33333%}.col-md-pull-8{right:66.66667%}.col-md-pull-9{right:75%}.col-md-pull-10{right:83.33333%}.col-md-pull-11{right:91.66667%}.col-md-pull-12{right:100%}.col-md-push-0{left:auto}.col-md-push-1{left:8.33333%}.col-md-push-2{left:16.66667%}.col-md-push-3{left:25%}.col-md-push-4{left:33.33333%}.col-md-push-5{left:41.66667%}.col-md-push-6{left:50%}.col-md-push-7{left:58.33333%}.col-md-push-8{left:66.66667%}.col-md-push-9{left:75%}.col-md-push-10{left:83.33333%}.col-md-push-11{left:91.66667%}.col-md-push-12{left:100%}.col-md-offset-0{margin-left:0}.col-md-offset-1{margin-left:8.33333%}.col-md-offset-2{margin-left:16.66667%}.col-md-offset-3{margin-left:25%}.col-md-offset-4{margin-left:33.33333%}.col-md-offset-5{margin-left:41.66667%}.col-md-offset-6{margin-left:50%}.col-md-offset-7{margin-left:58.33333%}.col-md-offset-8{margin-left:66.66667%}.col-md-offset-9{margin-left:75%}.col-md-offset-10{margin-left:83.33333%}.col-md-offset-11{margin-left:91.66667%}.col-md-offset-12{margin-left:100%}}@media (min-width:1200px){.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9{float:left}.col-lg-1{width:8.33333%}.col-lg-2{width:16.66667%}.col-lg-3{width:25%}.col-lg-4{width:33.33333%}.col-lg-5{width:41.66667%}.col-lg-6{width:50%}.col-lg-7{width:58.33333%}.col-lg-8{width:66.66667%}.col-lg-9{width:75%}.col-lg-10{width:83.33333%}.col-lg-11{width:91.66667%}.col-lg-12{width:100%}.col-lg-pull-0{right:auto}.col-lg-pull-1{right:8.33333%}.col-lg-pull-2{right:16.66667%}.col-lg-pull-3{right:25%}.col-lg-pull-4{right:33.33333%}.col-lg-pull-5{right:41.66667%}.col-lg-pull-6{right:50%}.col-lg-pull-7{right:58.33333%}.col-lg-pull-8{right:66.66667%}.col-lg-pull-9{right:75%}.col-lg-pull-10{right:83.33333%}.col-lg-pull-11{right:91.66667%}.col-lg-pull-12{right:100%}.col-lg-push-0{left:auto}.col-lg-push-1{left:8.33333%}.col-lg-push-2{left:16.66667%}.col-lg-push-3{left:25%}.col-lg-push-4{left:33.33333%}.col-lg-push-5{left:41.66667%}.col-lg-push-6{left:50%}.col-lg-push-7{left:58.33333%}.col-lg-push-8{left:66.66667%}.col-lg-push-9{left:75%}.col-lg-push-10{left:83.33333%}.col-lg-push-11{left:91.66667%}.col-lg-push-12{left:100%}.col-lg-offset-0{margin-left:0}.col-lg-offset-1{margin-left:8.33333%}.col-lg-offset-2{margin-left:16.66667%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-4{margin-left:33.33333%}.col-lg-offset-5{margin-left:41.66667%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-7{margin-left:58.33333%}.col-lg-offset-8{margin-left:66.66667%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-10{margin-left:83.33333%}.col-lg-offset-11{margin-left:91.66667%}.col-lg-offset-12{margin-left:100%}}table{max-width:100%;background-color:transparent}th{text-align:left}.table{width:100%;margin-bottom:20px}.table>tbody>tr>td,.table>tbody>tr>th,.table>tfoot>tr>td,.table>tfoot>tr>th,.table>thead>tr>td,.table>thead>tr>th{padding:8px;line-height:1.42857;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>td,.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>td,.table>thead:first-child>tr:first-child>th{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>tbody>tr>td,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>td,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>thead>tr>th{padding:5px}.table-bordered,.table-bordered>tbody>tr>td,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>td,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border:1px solid #ddd}.table-bordered>thead>tr>td,.table-bordered>thead>tr>th{border-bottom-width:2px}.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}table col[class*=col-]{position:static;float:none;display:table-column}table td[class*=col-],table th[class*=col-]{position:static;float:none;display:table-cell}.table>tbody>tr.active>td,.table>tbody>tr.active>th,.table>tbody>tr>td.active,.table>tbody>tr>th.active,.table>tfoot>tr.active>td,.table>tfoot>tr.active>th,.table>tfoot>tr>td.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>thead>tr.active>th,.table>thead>tr>td.active,.table>thead>tr>th.active{background-color:#f5f5f5}.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr.active:hover>th,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover{background-color:#e8e8e8}.table>tbody>tr.success>td,.table>tbody>tr.success>th,.table>tbody>tr>td.success,.table>tbody>tr>th.success,.table>tfoot>tr.success>td,.table>tfoot>tr.success>th,.table>tfoot>tr>td.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>thead>tr.success>th,.table>thead>tr>td.success,.table>thead>tr>th.success{background-color:#dff0d8}.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr.success:hover>th,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover{background-color:#d0e9c6}.table>tbody>tr.info>td,.table>tbody>tr.info>th,.table>tbody>tr>td.info,.table>tbody>tr>th.info,.table>tfoot>tr.info>td,.table>tfoot>tr.info>th,.table>tfoot>tr>td.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>thead>tr.info>th,.table>thead>tr>td.info,.table>thead>tr>th.info{background-color:#d9edf7}.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr.info:hover>th,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover{background-color:#c4e3f3}.table>tbody>tr.warning>td,.table>tbody>tr.warning>th,.table>tbody>tr>td.warning,.table>tbody>tr>th.warning,.table>tfoot>tr.warning>td,.table>tfoot>tr.warning>th,.table>tfoot>tr>td.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>thead>tr.warning>th,.table>thead>tr>td.warning,.table>thead>tr>th.warning{background-color:#fcf8e3}.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr.warning:hover>th,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover{background-color:#faf2cc}.table>tbody>tr.danger>td,.table>tbody>tr.danger>th,.table>tbody>tr>td.danger,.table>tbody>tr>th.danger,.table>tfoot>tr.danger>td,.table>tfoot>tr.danger>th,.table>tfoot>tr>td.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>thead>tr.danger>th,.table>thead>tr>td.danger,.table>thead>tr>th.danger{background-color:#f2dede}.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr.danger:hover>th,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover{background-color:#ebcccc}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:scroll;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd;-webkit-overflow-scrolling:touch}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>td,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>thead>tr>th{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width: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=checkbox],input[type=radio]{margin:4px 0 0;line-height:normal}input[type=file]{display:block}input[type=range]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type=checkbox]:focus,input[type=file]:focus,input[type=radio]:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857;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,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=datetime-local],input[type=month],input[type=time]{line-height:34px;line-height:1.42857 \0}.input-group-sm>.input-group-btn>input[type=date].btn,.input-group-sm>.input-group-btn>input[type=datetime-local].btn,.input-group-sm>.input-group-btn>input[type=month].btn,.input-group-sm>.input-group-btn>input[type=time].btn,.input-group-sm>input[type=date].form-control,.input-group-sm>input[type=date].input-group-addon,.input-group-sm>input[type=datetime-local].form-control,.input-group-sm>input[type=datetime-local].input-group-addon,.input-group-sm>input[type=month].form-control,.input-group-sm>input[type=month].input-group-addon,.input-group-sm>input[type=time].form-control,.input-group-sm>input[type=time].input-group-addon,input[type=date].input-sm,input[type=datetime-local].input-sm,input[type=month].input-sm,input[type=time].input-sm{line-height:30px}.input-group-lg>.input-group-btn>input[type=date].btn,.input-group-lg>.input-group-btn>input[type=datetime-local].btn,.input-group-lg>.input-group-btn>input[type=month].btn,.input-group-lg>.input-group-btn>input[type=time].btn,.input-group-lg>input[type=date].form-control,.input-group-lg>input[type=date].input-group-addon,.input-group-lg>input[type=datetime-local].form-control,.input-group-lg>input[type=datetime-local].input-group-addon,.input-group-lg>input[type=month].form-control,.input-group-lg>input[type=month].input-group-addon,.input-group-lg>input[type=time].form-control,.input-group-lg>input[type=time].input-group-addon,input[type=date].input-lg,input[type=datetime-local].input-lg,input[type=month].input-lg,input[type=time].input-lg{line-height:46px}.form-group{margin-bottom:15px}.checkbox,.radio{display:block;min-height:20px;margin-top:10px;margin-bottom:10px}.checkbox label,.radio label{padding-left:20px;margin-bottom:0;font-weight:400;cursor:pointer}.checkbox input[type=checkbox],.checkbox-inline input[type=checkbox],.radio input[type=radio],.radio-inline input[type=radio]{float:left;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:400;cursor:pointer}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.checkbox-inline[disabled],.checkbox[disabled],.radio-inline[disabled],.radio[disabled],fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox][disabled],input[type=radio][disabled]{cursor:not-allowed}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn,.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.input-group-sm>.input-group-btn>select.btn,.input-group-sm>select.form-control,.input-group-sm>select.input-group-addon,select.input-sm{height:30px;line-height:30px}.input-group-sm>.input-group-btn>select[multiple].btn,.input-group-sm>.input-group-btn>textarea.btn,.input-group-sm>select[multiple].form-control,.input-group-sm>select[multiple].input-group-addon,.input-group-sm>textarea.form-control,.input-group-sm>textarea.input-group-addon,select[multiple].input-sm,textarea.input-sm{height:auto}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn,.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.input-group-lg>.input-group-btn>select.btn,.input-group-lg>select.form-control,.input-group-lg>select.input-group-addon,select.input-lg{height:46px;line-height:46px}.input-group-lg>.input-group-btn>select[multiple].btn,.input-group-lg>.input-group-btn>textarea.btn,.input-group-lg>select[multiple].form-control,.input-group-lg>select[multiple].input-group-addon,.input-group-lg>textarea.form-control,.input-group-lg>textarea.input-group-addon,select[multiple].input-lg,textarea.input-lg{height:auto}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:25px;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center}.input-group-lg>.form-control+.form-control-feedback,.input-group-lg>.input-group-addon+.form-control-feedback,.input-group-lg>.input-group-btn>.btn+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-group-sm>.form-control+.form-control-feedback,.input-group-sm>.input-group-addon+.form-control-feedback,.input-group-sm>.input-group-btn>.btn+.form-control-feedback,.input-sm+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .checkbox,.has-success .checkbox-inline,.has-success .control-label,.has-success .help-block,.has-success .radio,.has-success .radio-inline{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;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline{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;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline{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;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.form-control-static{margin-bottom:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group,.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control,.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .input-group,.navbar-form .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control,.navbar-form .input-group>.form-control{width:100%}.form-inline .control-label,.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio,.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0;vertical-align:middle}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio],.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{float:none;margin-left:0}.form-inline .has-feedback .form-control-feedback,.navbar-form .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:after,.form-horizontal .form-group:before{content:" ";display:table}.form-horizontal .form-group:after{clear:both}.form-horizontal .form-control-static{padding-top:7px;padding-bottom:7px}@media (min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{top:0;right:15px}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;vertical-align:middle;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn.active:focus,.btn:active:focus,.btn:focus{outline:dotted thin;outline:-webkit-focus-ring-color auto 5px;outline-offset:-2px}.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{outline:0;background-image:none;-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{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.active,.btn-default:active,.btn-default:focus,.btn-default:hover,.open>.btn-default.dropdown-toggle{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.btn-default.dropdown-toggle{background-image:none}.btn-default.disabled,.btn-default.disabled.active,.btn-default.disabled:active,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled],.btn-default[disabled].active,.btn-default[disabled]:active,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default,fieldset[disabled] .btn-default.active,fieldset[disabled] .btn-default:active,fieldset[disabled] .btn-default:focus,fieldset[disabled] .btn-default:hover{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.active,.btn-primary:active,.btn-primary:focus,.btn-primary:hover,.open>.btn-primary.dropdown-toggle{color:#fff;background-color:#3071a9;border-color:#285e8e}.btn-primary.active,.btn-primary:active,.open>.btn-primary.dropdown-toggle{background-image:none}.btn-primary.disabled,.btn-primary.disabled.active,.btn-primary.disabled:active,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled],.btn-primary[disabled].active,.btn-primary[disabled]:active,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary,fieldset[disabled] .btn-primary.active,fieldset[disabled] .btn-primary:active,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{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.active,.btn-success:active,.btn-success:focus,.btn-success:hover,.open>.btn-success.dropdown-toggle{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.btn-success.dropdown-toggle{background-image:none}.btn-success.disabled,.btn-success.disabled.active,.btn-success.disabled:active,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled],.btn-success[disabled].active,.btn-success[disabled]:active,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success,fieldset[disabled] .btn-success.active,fieldset[disabled] .btn-success:active,fieldset[disabled] .btn-success:focus,fieldset[disabled] .btn-success:hover{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.active,.btn-info:active,.btn-info:focus,.btn-info:hover,.open>.btn-info.dropdown-toggle{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.btn-info.dropdown-toggle{background-image:none}.btn-info.disabled,.btn-info.disabled.active,.btn-info.disabled:active,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled],.btn-info[disabled].active,.btn-info[disabled]:active,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info,fieldset[disabled] .btn-info.active,fieldset[disabled] .btn-info:active,fieldset[disabled] .btn-info:focus,fieldset[disabled] .btn-info:hover{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.active,.btn-warning:active,.btn-warning:focus,.btn-warning:hover,.open>.btn-warning.dropdown-toggle{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.btn-warning.dropdown-toggle{background-image:none}.btn-warning.disabled,.btn-warning.disabled.active,.btn-warning.disabled:active,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled],.btn-warning[disabled].active,.btn-warning[disabled]:active,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning,fieldset[disabled] .btn-warning.active,fieldset[disabled] .btn-warning:active,fieldset[disabled] .btn-warning:focus,fieldset[disabled] .btn-warning:hover{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.active,.btn-danger:active,.btn-danger:focus,.btn-danger:hover,.open>.btn-danger.dropdown-toggle{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.btn-danger.dropdown-toggle{background-image:none}.btn-danger.disabled,.btn-danger.disabled.active,.btn-danger.disabled:active,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled],.btn-danger[disabled].active,.btn-danger[disabled]:active,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger,fieldset[disabled] .btn-danger.active,fieldset[disabled] .btn-danger:active,fieldset[disabled] .btn-danger:focus,fieldset[disabled] .btn-danger:hover{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#428bca;font-weight:400;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#2a6496;text-decoration:underline;background-color:transparent}.btn-link[disabled]:focus,.btn-link[disabled]:hover,fieldset[disabled] .btn-link:focus,fieldset[disabled] .btn-link:hover{color:#999;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}.btn-group-sm>.btn,.btn-sm{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-group-xs>.btn,.btn-xs{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%;padding-left:0;padding-right:0}.btn-block+.btn-block{margin-top:5px}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].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}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;-o-transition:height .35s ease;transition:height .35s ease}.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;list-style:none;font-size:14px;text-align:left;background-color:#fff;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);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;outline:0;background-color:#428bca}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#999}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857;color:#999}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px solid;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;float:left}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:2}.btn-group-vertical>.btn:focus,.btn-group>.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:after,.btn-toolbar:before{content:" ";display:table}.btn-toolbar:after{clear:both}.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-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group-lg.btn-group>.btn+.dropdown-toggle,.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right: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-group-lg>.btn .caret,.btn-lg .caret{border-width:5px 5px 0}.dropup .btn-group-lg>.btn .caret,.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:after,.btn-group-vertical>.btn-group:before{content:" ";display:table}.btn-group-vertical>.btn-group:after{clear:both}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child: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-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}[data-toggle=buttons]>.btn>input[type=checkbox],[data-toggle=buttons]>.btn>input[type=radio]{position:absolute;z-index:-1;opacity:0}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control,.input-group-addon,.input-group-btn{display:table-cell}.input-group .form-control:not(:first-child):not(:last-child),.input-group-addon:not(:first-child):not(:last-child),.input-group-btn: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,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.input-group-addon.btn{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.input-group-addon.btn{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=checkbox],.input-group-addon input[type=radio]{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-group:not(:last-child)>.btn,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-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:first-child>.btn-group:not(:first-child)>.btn,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle{border-bottom-left-radius:0;border-top-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:active,.input-group-btn>.btn:focus,.input-group-btn>.btn:hover{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{margin-bottom:0;padding-left:0;list-style:none}.nav:after,.nav:before{content:" ";display:table}.nav:after{clear:both}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#999}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#999;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{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.42857;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:focus,.nav-tabs>li.active>a:hover{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.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:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#428bca}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified,.nav-tabs.nav-justified{width:100%}.nav-justified>li,.nav-tabs.nav-justified>li{float:none}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li,.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a,.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified,.nav-tabs.nav-justified{border-bottom:0}.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a,.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:after,.navbar:before{content:" ";display:table}.navbar:after{clear:both}@media (min-width:768px){.navbar{border-radius:4px}}.navbar-header:after,.navbar-header:before{content:" ";display:table}.navbar-header:after{clear:both}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse:after,.navbar-collapse:before{content:" ";display:table}.navbar-collapse:after{clear:both}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container-fluid>.navbar-collapse,.container-fluid>.navbar-header,.container>.navbar-collapse,.container>.navbar-header{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-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}@media (min-width:768px){.navbar-fixed-bottom,.navbar-fixed-top{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;padding:15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;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;box-shadow:none}.navbar-nav .open .dropdown-menu .dropdown-header,.navbar-nav .open .dropdown-menu>li>a{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:focus,.navbar-nav .open .dropdown-menu>li>a:hover{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-nav.navbar-right:last-child{margin-right:-15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important}}.navbar-form{margin:8px -15px;padding:10px 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 (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}.navbar-form.navbar-right:last-child{margin-right:-15px}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.btn-group-sm>.navbar-btn.btn,.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.btn-group-xs>.navbar-btn.btn,.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-left:15px;margin-right:15px}.navbar-text.navbar-right:last-child{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-nav>li>a,.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a:focus,.navbar-default .navbar-nav>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:focus,.navbar-default .navbar-nav>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:focus,.navbar-default .navbar-nav>.disabled>a:hover{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:focus,.navbar-default .navbar-toggle:hover{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:focus,.navbar-default .navbar-nav>.open>a:hover{background-color:#e7e7e7;color:#555}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover{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:focus,.navbar-default .btn-link:hover{color:#333}.navbar-default .btn-link[disabled]:focus,.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:focus,fieldset[disabled] .navbar-default .btn-link:hover{color:#ccc}.navbar-inverse{background-color:#222;border-color:#090909}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>li>a,.navbar-inverse .navbar-text{color:#999}.navbar-inverse .navbar-nav>li>a:focus,.navbar-inverse .navbar-nav>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:focus,.navbar-inverse .navbar-nav>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:focus,.navbar-inverse .navbar-nav>.disabled>a:hover{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:focus,.navbar-inverse .navbar-toggle:hover{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:focus,.navbar-inverse .navbar-nav>.open>a:hover{background-color:#090909;color:#fff}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover{color:#fff;background-color:#090909}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#999}.navbar-inverse .btn-link:focus,.navbar-inverse .btn-link:hover{color:#fff}.navbar-inverse .btn-link[disabled]:focus,.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:focus,fieldset[disabled] .navbar-inverse .btn-link:hover{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{content:"/ ";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#999}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857;text-decoration:none;color:#428bca;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{color:#2a6496;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca;cursor:default}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#999;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager:after,.pager:before{content:" ";display:table}.pager:after{clear:both}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:focus,.pager li>a:hover{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:focus,.pager .disabled>a:hover,.pager .disabled>span{color:#999;background-color:#fff;cursor:not-allowed}.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}.label:empty{display:none}.btn .label{position:relative;top:-1px}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label-default{background-color:#999}.label-default[href]:focus,.label-default[href]:hover{background-color:gray}.label-primary{background-color:#428bca}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#3071a9}.label-success{background-color:#5cb85c}.label-success[href]:focus,.label-success[href]:hover{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:focus,.label-info[href]:hover{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:focus,.label-warning[href]:hover{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:focus,.label-danger[href]:hover{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:700;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#999;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-group-xs>.btn .badge,.btn-xs .badge{top:0;padding:1px 5px}.nav-pills>.active>a>.badge,a.list-group-item.active>.badge{color:#428bca;background-color:#fff}.nav-pills>li>a>.badge{margin-left:3px}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.jumbotron{padding:30px;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{border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-left:60px;padding-right:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857;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}.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto;margin-left:auto;margin-right:auto}.thumbnail .caption{padding:9px;color:#333}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#428bca}.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{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;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{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);background-size:40px 40px}.progress.active .progress-bar{-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[aria-valuenow="1"],.progress-bar[aria-valuenow="2"]{min-width:30px}.progress-bar[aria-valuenow="0"]{color:#999;min-width:30px;background-color:transparent;background-image:none;box-shadow:none}.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,.media-body{overflow:hidden;zoom:1}.media,.media .media{margin-top:15px}.media:first-child{margin-top:0}.media-object{display:block}.media-heading{margin:0 0 5px}.media>.pull-left{margin-right:10px}.media>.pull-right{margin-left:10px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover{text-decoration:none;color:#555;background-color:#f5f5f5}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{background-color:#eee;color:#999}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text{color:#999}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:focus .list-group-item-text,.list-group-item.active:hover .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:focus,a.list-group-item-success:hover{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,a.list-group-item-success.active:focus,a.list-group-item-success.active:hover{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:focus,a.list-group-item-info:hover{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,a.list-group-item-info.active:focus,a.list-group-item-info.active:hover{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:focus,a.list-group-item-warning:hover{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,a.list-group-item-warning.active:focus,a.list-group-item-warning.active:hover{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:focus,a.list-group-item-danger:hover{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,a.list-group-item-danger.active:focus,a.list-group-item-danger.active:hover{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-body:after,.panel-body:before{content:" ";display:table}.panel-body:after{clear:both}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-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{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.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}.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table-responsive:first-child>.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 th:first-child,.panel>.table-responsive:first-child>.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 th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table-responsive:first-child>.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 th:last-child,.panel>.table-responsive:first-child>.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 th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table-responsive:last-child>.table:last-child,.panel>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.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 th:first-child,.panel>.table-responsive:last-child>.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 th:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table-responsive:last-child>.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 th:last-child,.panel>.table-responsive:last-child>.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 th:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.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{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child td,.panel>.table>tbody:first-child>tr:first-child th{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child{border-left:0}.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child{border-right:0}.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom: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{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#428bca}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#428bca}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-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-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-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-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 embed,.embed-responsive iframe,.embed-responsive object{position:absolute;top:0;left:0;bottom:0;height:100%;width: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;opacity:.2;filter:alpha(opacity=20)}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:auto;overflow-y:scroll;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,.5);box-shadow:0 3px 9px rgba(0,0,0,.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.43px}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:after,.modal-footer:before{content:" ";display:table}.modal-footer:after{clear:both}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.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;visibility:visible;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.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{bottom:0;right:5px;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;text-align:left;background-color:#fff;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);white-space:normal}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:400;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,.05);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,.05)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.05);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;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,.05)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{display:block;max-width:100%;height:auto;line-height:1}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-control.left{background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.5) 0),color-stop(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:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,color-stop(rgba(0,0,0,.0001) 0),color-stop(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:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}.carousel-control:focus,.carousel-control:hover{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{position:absolute;top:50%;z-index:5;display:inline-block}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{left:50%;margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{right:50%;margin-right:-10px}.carousel-control .icon-next,.carousel-control .icon-prev{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%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:transparent}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;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-next,.carousel-control .icon-prev{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{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:after,.clearfix:before{content:" ";display:table}.clearfix:after{clear:both}.center-block{display:block;margin-left:auto;margin-right: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-lg,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-print,.visible-print-block,.visible-print-inline,.visible-print-inline-block,.visible-sm,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-xs,.visible-xs-block,.visible-xs-inline,.visible-xs-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}td.visible-xs,th.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}td.visible-sm,th.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}td.visible-md,th.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}td.visible-lg,th.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}}@media print{.visible-print{display:block!important}table.visible-print{display:table}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}@media print{.visible-print-block{display:block!important}}@media print{.visible-print-inline{display:inline!important}}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}body{padding-top:100px;background-color:#f8f8f8}@media (min-width:768px){body{padding-top:50px}}#wrapper{width:100%}#page-wrapper{padding:0 15px;min-height:568px;background-color:#F1F2F7}@media (min-width:768px){#page-wrapper{position:inherit;margin:0 0 0 250px;padding:0 30px;min-height:1300px;border-left:1px solid #e7e7e7}}.navbar-top-links li{display:inline-block}.navbar-top-links li:last-child{margin-right:15px}.navbar-top-links li a{padding:15px;min-height:50px}.navbar-top-links .dropdown-menu li{display:block}.navbar-top-links .dropdown-menu li:last-child{margin-right:0}.navbar-top-links .dropdown-menu li a{padding:3px 20px;min-height:0}.navbar-top-links .dropdown-menu li a div{white-space:normal}.navbar-top-links .dropdown-alerts,.navbar-top-links .dropdown-messages,.navbar-top-links .dropdown-tasks{width:310px;min-width:0}.navbar-top-links .dropdown-messages{margin-left:5px}.navbar-top-links .dropdown-tasks{margin-left:-59px}.navbar-top-links .dropdown-alerts{margin-left:-123px}.navbar-top-links .dropdown-user{right:0;left:auto}.navbar-static-side ul li{border-bottom:1px solid #e7e7e7}.sidebar-search{padding:15px}.arrow{float:right}.fa.arrow:before{content:"\f104"}.active>a>.fa.arrow:before{content:"\f107"}.nav-second-level li,.nav-third-level li{border-bottom:none!important}.nav-second-level li a{padding-left:37px}.nav-third-level li a{padding-left:52px}@media (min-width:768px){.navbar-static-side{z-index:1;position:fixed;width:250px;margin-top:51px}.navbar-top-links .dropdown-alerts,.navbar-top-links .dropdown-messages,.navbar-top-links .dropdown-tasks{margin-left:auto}}@media (max-height:600px) and (max-width:767px){.sidebar-collapse{max-height:300px;overflow-y:scroll}}@media (max-height:400px) and (max-width:767px){.sidebar-collapse{max-height:200px;overflow-y:scroll}}.btn-outline{color:inherit;background-color:transparent;transition:all .5s}.btn-primary.btn-outline{color:#428bca}.btn-success.btn-outline{color:#5cb85c}.btn-info.btn-outline{color:#5bc0de}.btn-warning.btn-outline{color:#f0ad4e}.btn-danger.btn-outline{color:#d9534f}.btn-danger.btn-outline:hover,.btn-info.btn-outline:hover,.btn-primary.btn-outline:hover,.btn-success.btn-outline:hover,.btn-warning.btn-outline:hover{color:#fff}.chat{margin:0;padding:0;list-style:none}.chat li{margin-bottom:10px;padding-bottom:5px;border-bottom:1px dotted #B3A9A9}.chat li.left .chat-body{margin-left:60px}.chat li.right .chat-body{margin-right:60px}.chat li .chat-body p{margin:0;color:#777}.chat .glyphicon,.panel .slidedown .glyphicon{margin-right:5px}.chat-panel .panel-body{height:350px;overflow-y:scroll}.login-panel{margin-top:25%}.flot-chart{display:block;height:400px}.flot-chart-content{width:100%;height:100%}table.dataTable thead .sorting,table.dataTable thead .sorting_asc,table.dataTable thead .sorting_asc_disabled,table.dataTable thead .sorting_desc,table.dataTable thead .sorting_desc_disabled{background:0 0}table.dataTable thead .sorting_asc:after{content:"\f0de";float:right;font-family:fontawesome}table.dataTable thead .sorting_desc:after{content:"\f0dd";float:right;font-family:fontawesome}table.dataTable thead .sorting:after{content:"\f0dc";float:right;font-family:fontawesome;color:rgba(50,50,50,.5)}.btn-circle{width:30px;height:30px;padding:6px 0;border-radius:15px;text-align:center;font-size:12px;line-height:1.428571429}.btn-circle.btn-lg,.btn-group-lg>.btn-circle.btn{width:50px;height:50px;padding:10px 16px;border-radius:25px;font-size:18px;line-height:1.33}.btn-circle.btn-xl{width:70px;height:70px;padding:10px 16px;border-radius:35px;font-size:24px;line-height:1.33}.show-grid [class^=col-]{padding-top:10px;padding-bottom:10px;border:1px solid #ddd;background-color:#eee!important}.show-grid{margin:15px 0}/*! * Font Awesome 4.2.0 by @davegandy - http://fontawesome.io - @fontawesome * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) - */@font-face{font-family:FontAwesome;src:url(../assets/fonts/fontawesome-webfont.eot?v=4.2.0);src:url(../assets/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0) format("embedded-opentype"),url(../assets/fonts/fontawesome-webfont.woff?v=4.2.0) format("woff"),url(../assets/fonts/fontawesome-webfont.ttf?v=4.2.0) format("truetype"),url(../assets/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular) format("svg");font-weight:400;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-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before{content:""}.fa-check-circle:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook:before{content:""}.fa-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}#nprogress div.spinner{width:18px;margin-left:-9px;left:50%}.nav a{cursor:pointer}.nav>li.heading{position:relative;display:block;padding:10px 15px;color:#777}#header{padding:30px 0}#header h1{margin:0}#header h2{font-size:14px;margin-top:5px}.dashboard-content .panel-default{padding:0;margin:0 1%;overflow:scroll}.dashboard-content .panel-default .panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.dashboard-content .panel-default table{width:100%}.dashboard-content .panel-default table thead{font-weight:700}.dashboard-content .panel-default table tr{height:40px}.dashboard-content .grid{border:none}menu{margin:0;padding:0}.controls{text-align:right}.quick-filters{clear:both}.quick-filters li>span{padding:10px 15px;display:block}.grid{background-color:#FFF;width:100%}.grid .label-default{margin-right:5px;font-weight:400;font-size:12px;padding-top:4px;text-decoration:none}.grid tr{height:40px}.grid td{padding-left:10px;padding-right:10px;background-color:#FFF}.grid td a{color:#000;cursor:pointer}.grid td a.multiple:hover{text-decoration:none}.grid thead tr{border-bottom:1px solid #E7E7E7;font-weight:700;background-color:#FFF}.grid thead tr .glyphicon{font-size:13px;color:#aaa}.grid tbody tr{border-bottom:1px solid #E7E7E7}.grid tbody .fa-surface:hover div,.grid tbody .tr:hover{background-color:#f6f9fe}div.bottom-loader{margin-top:40px;position:inherit;width:auto;height:auto}div.bottom-loader:after{position:relative;display:inherit;margin:0 auto}div.bottom-loader:before{display:none}.grid-detail .total{float:left;display:inline-block;margin:25px 10px 0 0}.grid-detail .pagination{float:right}.form-horizontal .read-only p{margin-bottom:0;padding-top:7px}.form-horizontal textarea{height:150px}.form-horizontal input[type=checkbox],.form-horizontal input[type=radio]{max-width:16px;box-shadow:none;cursor:pointer;margin:0}.form-horizontal .border-around{margin-top:2px;background:#fff;width:100%}.form-horizontal .ta-toolbar button{font-size:12px;padding:5px 8px}.form-horizontal .ta-toolbar button.active{z-index:1}#header-nav{background:#FFF;border-bottom:1px solid #e6e6e6;z-index:2}#wrapper{background-color:#FFF}#wrapper #page-wrapper{min-height:inherit}.navbar-static-side{margin-top:10px}#side-menu{background-color:#FFF;font-size:12px}#side-menu a{color:#767676}#side-menu li{margin:0 10px 10px;padding:3px 0;border-radius:3px;background-color:#F1F2F7}#side-menu li.active,#side-menu li:hover,#side-menu li:hover a{background-color:#FDD752;font-weight:700}#filter{position:absolute;right:0;top:0;z-index:2}#filter button{padding-bottom:7px}#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translate(0px,-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner 400ms linear infinite;animation:nprogress-spinner 400ms linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}body,html{min-height:100%}.humane,.humane-flatty{position:fixed;-moz-transition:all .4s ease-in-out;-webkit-transition:all .4s ease-in-out;-ms-transition:all .4s ease-in-out;-o-transition:all .4s ease-in-out;transition:all .4s ease-in-out;z-index:100000;filter:alpha(Opacity=100);font-family:Helvetica Neue,Helvetica,san-serif;font-size:16px;top:0;left:30%;opacity:0;width:40%;color:#444;padding:10px;text-align:center;background-color:#fff;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:0 1px 2px rgba(0,0,0,.5);-moz-transform:translateY(-100px);-webkit-transform:translateY(-100px);-ms-transform:translateY(-100px);-o-transform:translateY(-100px);transform:translateY(-100px)}.humane p,.humane ul,.humane-flatty p,.humane-flatty ul{margin:0;padding:0}.humane ul,.humane-flatty ul{list-style:none}.humane-flatty.humane-flatty-info,.humane.humane-flatty-info{background-color:#3498db;color:#FFF}.humane-flatty.humane-flatty-success,.humane.humane-flatty-success{background-color:#18bc9c;color:#FFF}.humane-flatty.humane-flatty-error,.humane.humane-flatty-error{background-color:#e74c3c;color:#FFF}.humane-animate,.humane-flatty.humane-flatty-animate{opacity:1;-moz-transform:translateY(0);-webkit-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}.humane-animate:hover,.humane-flatty.humane-flatty-animate:hover{opacity:.7}.humane-flatty.humane-flatty-js-animate,.humane-js-animate{opacity:1;-moz-transform:translateY(0);-webkit-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}.humane-flatty.humane-flatty-js-animate:hover,.humane-js-animate:hover{opacity:.7;filter:alpha(Opacity=70)} \ No newline at end of file + */@font-face{font-family:FontAwesome;src:url(../assets/fonts/fontawesome-webfont.eot?v=4.2.0);src:url(../assets/fonts/fontawesome-webfont.eot?#iefix&v=4.2.0) format("embedded-opentype"),url(../assets/fonts/fontawesome-webfont.woff?v=4.2.0) format("woff"),url(../assets/fonts/fontawesome-webfont.ttf?v=4.2.0) format("truetype"),url(../assets/fonts/fontawesome-webfont.svg?v=4.2.0#fontawesomeregular) format("svg");font-weight:400;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-lg{font-size:1.33333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14286em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14286em;width:2.14286em;top:.14286em;text-align:center}.fa-li.fa-lg{left:-1.85714em}.fa-border{padding:.2em .25em .15em;border:.08em solid #eee;border-radius:.1em}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0);-webkit-transform:scale(-1,1);-ms-transform:scale(-1,1);transform:scale(-1,1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:scale(1,-1);-ms-transform:scale(1,-1);transform:scale(1,-1)}:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-rotate-90{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:""}.fa-music:before{content:""}.fa-search:before{content:""}.fa-envelope-o:before{content:""}.fa-heart:before{content:""}.fa-star:before{content:""}.fa-star-o:before{content:""}.fa-user:before{content:""}.fa-film:before{content:""}.fa-th-large:before{content:""}.fa-th:before{content:""}.fa-th-list:before{content:""}.fa-check:before{content:""}.fa-close:before,.fa-remove:before,.fa-times:before{content:""}.fa-search-plus:before{content:""}.fa-search-minus:before{content:""}.fa-power-off:before{content:""}.fa-signal:before{content:""}.fa-cog:before,.fa-gear:before{content:""}.fa-trash-o:before{content:""}.fa-home:before{content:""}.fa-file-o:before{content:""}.fa-clock-o:before{content:""}.fa-road:before{content:""}.fa-download:before{content:""}.fa-arrow-circle-o-down:before{content:""}.fa-arrow-circle-o-up:before{content:""}.fa-inbox:before{content:""}.fa-play-circle-o:before{content:""}.fa-repeat:before,.fa-rotate-right:before{content:""}.fa-refresh:before{content:""}.fa-list-alt:before{content:""}.fa-lock:before{content:""}.fa-flag:before{content:""}.fa-headphones:before{content:""}.fa-volume-off:before{content:""}.fa-volume-down:before{content:""}.fa-volume-up:before{content:""}.fa-qrcode:before{content:""}.fa-barcode:before{content:""}.fa-tag:before{content:""}.fa-tags:before{content:""}.fa-book:before{content:""}.fa-bookmark:before{content:""}.fa-print:before{content:""}.fa-camera:before{content:""}.fa-font:before{content:""}.fa-bold:before{content:""}.fa-italic:before{content:""}.fa-text-height:before{content:""}.fa-text-width:before{content:""}.fa-align-left:before{content:""}.fa-align-center:before{content:""}.fa-align-right:before{content:""}.fa-align-justify:before{content:""}.fa-list:before{content:""}.fa-dedent:before,.fa-outdent:before{content:""}.fa-indent:before{content:""}.fa-video-camera:before{content:""}.fa-image:before,.fa-photo:before,.fa-picture-o:before{content:""}.fa-pencil:before{content:""}.fa-map-marker:before{content:""}.fa-adjust:before{content:""}.fa-tint:before{content:""}.fa-edit:before,.fa-pencil-square-o:before{content:""}.fa-share-square-o:before{content:""}.fa-check-square-o:before{content:""}.fa-arrows:before{content:""}.fa-step-backward:before{content:""}.fa-fast-backward:before{content:""}.fa-backward:before{content:""}.fa-play:before{content:""}.fa-pause:before{content:""}.fa-stop:before{content:""}.fa-forward:before{content:""}.fa-fast-forward:before{content:""}.fa-step-forward:before{content:""}.fa-eject:before{content:""}.fa-chevron-left:before{content:""}.fa-chevron-right:before{content:""}.fa-plus-circle:before{content:""}.fa-minus-circle:before{content:""}.fa-times-circle:before{content:""}.fa-check-circle:before{content:""}.fa-question-circle:before{content:""}.fa-info-circle:before{content:""}.fa-crosshairs:before{content:""}.fa-times-circle-o:before{content:""}.fa-check-circle-o:before{content:""}.fa-ban:before{content:""}.fa-arrow-left:before{content:""}.fa-arrow-right:before{content:""}.fa-arrow-up:before{content:""}.fa-arrow-down:before{content:""}.fa-mail-forward:before,.fa-share:before{content:""}.fa-expand:before{content:""}.fa-compress:before{content:""}.fa-plus:before{content:""}.fa-minus:before{content:""}.fa-asterisk:before{content:""}.fa-exclamation-circle:before{content:""}.fa-gift:before{content:""}.fa-leaf:before{content:""}.fa-fire:before{content:""}.fa-eye:before{content:""}.fa-eye-slash:before{content:""}.fa-exclamation-triangle:before,.fa-warning:before{content:""}.fa-plane:before{content:""}.fa-calendar:before{content:""}.fa-random:before{content:""}.fa-comment:before{content:""}.fa-magnet:before{content:""}.fa-chevron-up:before{content:""}.fa-chevron-down:before{content:""}.fa-retweet:before{content:""}.fa-shopping-cart:before{content:""}.fa-folder:before{content:""}.fa-folder-open:before{content:""}.fa-arrows-v:before{content:""}.fa-arrows-h:before{content:""}.fa-bar-chart-o:before,.fa-bar-chart:before{content:""}.fa-twitter-square:before{content:""}.fa-facebook-square:before{content:""}.fa-camera-retro:before{content:""}.fa-key:before{content:""}.fa-cogs:before,.fa-gears:before{content:""}.fa-comments:before{content:""}.fa-thumbs-o-up:before{content:""}.fa-thumbs-o-down:before{content:""}.fa-star-half:before{content:""}.fa-heart-o:before{content:""}.fa-sign-out:before{content:""}.fa-linkedin-square:before{content:""}.fa-thumb-tack:before{content:""}.fa-external-link:before{content:""}.fa-sign-in:before{content:""}.fa-trophy:before{content:""}.fa-github-square:before{content:""}.fa-upload:before{content:""}.fa-lemon-o:before{content:""}.fa-phone:before{content:""}.fa-square-o:before{content:""}.fa-bookmark-o:before{content:""}.fa-phone-square:before{content:""}.fa-twitter:before{content:""}.fa-facebook:before{content:""}.fa-github:before{content:""}.fa-unlock:before{content:""}.fa-credit-card:before{content:""}.fa-rss:before{content:""}.fa-hdd-o:before{content:""}.fa-bullhorn:before{content:""}.fa-bell:before{content:""}.fa-certificate:before{content:""}.fa-hand-o-right:before{content:""}.fa-hand-o-left:before{content:""}.fa-hand-o-up:before{content:""}.fa-hand-o-down:before{content:""}.fa-arrow-circle-left:before{content:""}.fa-arrow-circle-right:before{content:""}.fa-arrow-circle-up:before{content:""}.fa-arrow-circle-down:before{content:""}.fa-globe:before{content:""}.fa-wrench:before{content:""}.fa-tasks:before{content:""}.fa-filter:before{content:""}.fa-briefcase:before{content:""}.fa-arrows-alt:before{content:""}.fa-group:before,.fa-users:before{content:""}.fa-chain:before,.fa-link:before{content:""}.fa-cloud:before{content:""}.fa-flask:before{content:""}.fa-cut:before,.fa-scissors:before{content:""}.fa-copy:before,.fa-files-o:before{content:""}.fa-paperclip:before{content:""}.fa-floppy-o:before,.fa-save:before{content:""}.fa-square:before{content:""}.fa-bars:before,.fa-navicon:before,.fa-reorder:before{content:""}.fa-list-ul:before{content:""}.fa-list-ol:before{content:""}.fa-strikethrough:before{content:""}.fa-underline:before{content:""}.fa-table:before{content:""}.fa-magic:before{content:""}.fa-truck:before{content:""}.fa-pinterest:before{content:""}.fa-pinterest-square:before{content:""}.fa-google-plus-square:before{content:""}.fa-google-plus:before{content:""}.fa-money:before{content:""}.fa-caret-down:before{content:""}.fa-caret-up:before{content:""}.fa-caret-left:before{content:""}.fa-caret-right:before{content:""}.fa-columns:before{content:""}.fa-sort:before,.fa-unsorted:before{content:""}.fa-sort-desc:before,.fa-sort-down:before{content:""}.fa-sort-asc:before,.fa-sort-up:before{content:""}.fa-envelope:before{content:""}.fa-linkedin:before{content:""}.fa-rotate-left:before,.fa-undo:before{content:""}.fa-gavel:before,.fa-legal:before{content:""}.fa-dashboard:before,.fa-tachometer:before{content:""}.fa-comment-o:before{content:""}.fa-comments-o:before{content:""}.fa-bolt:before,.fa-flash:before{content:""}.fa-sitemap:before{content:""}.fa-umbrella:before{content:""}.fa-clipboard:before,.fa-paste:before{content:""}.fa-lightbulb-o:before{content:""}.fa-exchange:before{content:""}.fa-cloud-download:before{content:""}.fa-cloud-upload:before{content:""}.fa-user-md:before{content:""}.fa-stethoscope:before{content:""}.fa-suitcase:before{content:""}.fa-bell-o:before{content:""}.fa-coffee:before{content:""}.fa-cutlery:before{content:""}.fa-file-text-o:before{content:""}.fa-building-o:before{content:""}.fa-hospital-o:before{content:""}.fa-ambulance:before{content:""}.fa-medkit:before{content:""}.fa-fighter-jet:before{content:""}.fa-beer:before{content:""}.fa-h-square:before{content:""}.fa-plus-square:before{content:""}.fa-angle-double-left:before{content:""}.fa-angle-double-right:before{content:""}.fa-angle-double-up:before{content:""}.fa-angle-double-down:before{content:""}.fa-angle-left:before{content:""}.fa-angle-right:before{content:""}.fa-angle-up:before{content:""}.fa-angle-down:before{content:""}.fa-desktop:before{content:""}.fa-laptop:before{content:""}.fa-tablet:before{content:""}.fa-mobile-phone:before,.fa-mobile:before{content:""}.fa-circle-o:before{content:""}.fa-quote-left:before{content:""}.fa-quote-right:before{content:""}.fa-spinner:before{content:""}.fa-circle:before{content:""}.fa-mail-reply:before,.fa-reply:before{content:""}.fa-github-alt:before{content:""}.fa-folder-o:before{content:""}.fa-folder-open-o:before{content:""}.fa-smile-o:before{content:""}.fa-frown-o:before{content:""}.fa-meh-o:before{content:""}.fa-gamepad:before{content:""}.fa-keyboard-o:before{content:""}.fa-flag-o:before{content:""}.fa-flag-checkered:before{content:""}.fa-terminal:before{content:""}.fa-code:before{content:""}.fa-mail-reply-all:before,.fa-reply-all:before{content:""}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:""}.fa-location-arrow:before{content:""}.fa-crop:before{content:""}.fa-code-fork:before{content:""}.fa-chain-broken:before,.fa-unlink:before{content:""}.fa-question:before{content:""}.fa-info:before{content:""}.fa-exclamation:before{content:""}.fa-superscript:before{content:""}.fa-subscript:before{content:""}.fa-eraser:before{content:""}.fa-puzzle-piece:before{content:""}.fa-microphone:before{content:""}.fa-microphone-slash:before{content:""}.fa-shield:before{content:""}.fa-calendar-o:before{content:""}.fa-fire-extinguisher:before{content:""}.fa-rocket:before{content:""}.fa-maxcdn:before{content:""}.fa-chevron-circle-left:before{content:""}.fa-chevron-circle-right:before{content:""}.fa-chevron-circle-up:before{content:""}.fa-chevron-circle-down:before{content:""}.fa-html5:before{content:""}.fa-css3:before{content:""}.fa-anchor:before{content:""}.fa-unlock-alt:before{content:""}.fa-bullseye:before{content:""}.fa-ellipsis-h:before{content:""}.fa-ellipsis-v:before{content:""}.fa-rss-square:before{content:""}.fa-play-circle:before{content:""}.fa-ticket:before{content:""}.fa-minus-square:before{content:""}.fa-minus-square-o:before{content:""}.fa-level-up:before{content:""}.fa-level-down:before{content:""}.fa-check-square:before{content:""}.fa-pencil-square:before{content:""}.fa-external-link-square:before{content:""}.fa-share-square:before{content:""}.fa-compass:before{content:""}.fa-caret-square-o-down:before,.fa-toggle-down:before{content:""}.fa-caret-square-o-up:before,.fa-toggle-up:before{content:""}.fa-caret-square-o-right:before,.fa-toggle-right:before{content:""}.fa-eur:before,.fa-euro:before{content:""}.fa-gbp:before{content:""}.fa-dollar:before,.fa-usd:before{content:""}.fa-inr:before,.fa-rupee:before{content:""}.fa-cny:before,.fa-jpy:before,.fa-rmb:before,.fa-yen:before{content:""}.fa-rouble:before,.fa-rub:before,.fa-ruble:before{content:""}.fa-krw:before,.fa-won:before{content:""}.fa-bitcoin:before,.fa-btc:before{content:""}.fa-file:before{content:""}.fa-file-text:before{content:""}.fa-sort-alpha-asc:before{content:""}.fa-sort-alpha-desc:before{content:""}.fa-sort-amount-asc:before{content:""}.fa-sort-amount-desc:before{content:""}.fa-sort-numeric-asc:before{content:""}.fa-sort-numeric-desc:before{content:""}.fa-thumbs-up:before{content:""}.fa-thumbs-down:before{content:""}.fa-youtube-square:before{content:""}.fa-youtube:before{content:""}.fa-xing:before{content:""}.fa-xing-square:before{content:""}.fa-youtube-play:before{content:""}.fa-dropbox:before{content:""}.fa-stack-overflow:before{content:""}.fa-instagram:before{content:""}.fa-flickr:before{content:""}.fa-adn:before{content:""}.fa-bitbucket:before{content:""}.fa-bitbucket-square:before{content:""}.fa-tumblr:before{content:""}.fa-tumblr-square:before{content:""}.fa-long-arrow-down:before{content:""}.fa-long-arrow-up:before{content:""}.fa-long-arrow-left:before{content:""}.fa-long-arrow-right:before{content:""}.fa-apple:before{content:""}.fa-windows:before{content:""}.fa-android:before{content:""}.fa-linux:before{content:""}.fa-dribbble:before{content:""}.fa-skype:before{content:""}.fa-foursquare:before{content:""}.fa-trello:before{content:""}.fa-female:before{content:""}.fa-male:before{content:""}.fa-gittip:before{content:""}.fa-sun-o:before{content:""}.fa-moon-o:before{content:""}.fa-archive:before{content:""}.fa-bug:before{content:""}.fa-vk:before{content:""}.fa-weibo:before{content:""}.fa-renren:before{content:""}.fa-pagelines:before{content:""}.fa-stack-exchange:before{content:""}.fa-arrow-circle-o-right:before{content:""}.fa-arrow-circle-o-left:before{content:""}.fa-caret-square-o-left:before,.fa-toggle-left:before{content:""}.fa-dot-circle-o:before{content:""}.fa-wheelchair:before{content:""}.fa-vimeo-square:before{content:""}.fa-try:before,.fa-turkish-lira:before{content:""}.fa-plus-square-o:before{content:""}.fa-space-shuttle:before{content:""}.fa-slack:before{content:""}.fa-envelope-square:before{content:""}.fa-wordpress:before{content:""}.fa-openid:before{content:""}.fa-bank:before,.fa-institution:before,.fa-university:before{content:""}.fa-graduation-cap:before,.fa-mortar-board:before{content:""}.fa-yahoo:before{content:""}.fa-google:before{content:""}.fa-reddit:before{content:""}.fa-reddit-square:before{content:""}.fa-stumbleupon-circle:before{content:""}.fa-stumbleupon:before{content:""}.fa-delicious:before{content:""}.fa-digg:before{content:""}.fa-pied-piper:before{content:""}.fa-pied-piper-alt:before{content:""}.fa-drupal:before{content:""}.fa-joomla:before{content:""}.fa-language:before{content:""}.fa-fax:before{content:""}.fa-building:before{content:""}.fa-child:before{content:""}.fa-paw:before{content:""}.fa-spoon:before{content:""}.fa-cube:before{content:""}.fa-cubes:before{content:""}.fa-behance:before{content:""}.fa-behance-square:before{content:""}.fa-steam:before{content:""}.fa-steam-square:before{content:""}.fa-recycle:before{content:""}.fa-automobile:before,.fa-car:before{content:""}.fa-cab:before,.fa-taxi:before{content:""}.fa-tree:before{content:""}.fa-spotify:before{content:""}.fa-deviantart:before{content:""}.fa-soundcloud:before{content:""}.fa-database:before{content:""}.fa-file-pdf-o:before{content:""}.fa-file-word-o:before{content:""}.fa-file-excel-o:before{content:""}.fa-file-powerpoint-o:before{content:""}.fa-file-image-o:before,.fa-file-photo-o:before,.fa-file-picture-o:before{content:""}.fa-file-archive-o:before,.fa-file-zip-o:before{content:""}.fa-file-audio-o:before,.fa-file-sound-o:before{content:""}.fa-file-movie-o:before,.fa-file-video-o:before{content:""}.fa-file-code-o:before{content:""}.fa-vine:before{content:""}.fa-codepen:before{content:""}.fa-jsfiddle:before{content:""}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-ring:before,.fa-life-saver:before,.fa-support:before{content:""}.fa-circle-o-notch:before{content:""}.fa-ra:before,.fa-rebel:before{content:""}.fa-empire:before,.fa-ge:before{content:""}.fa-git-square:before{content:""}.fa-git:before{content:""}.fa-hacker-news:before{content:""}.fa-tencent-weibo:before{content:""}.fa-qq:before{content:""}.fa-wechat:before,.fa-weixin:before{content:""}.fa-paper-plane:before,.fa-send:before{content:""}.fa-paper-plane-o:before,.fa-send-o:before{content:""}.fa-history:before{content:""}.fa-circle-thin:before{content:""}.fa-header:before{content:""}.fa-paragraph:before{content:""}.fa-sliders:before{content:""}.fa-share-alt:before{content:""}.fa-share-alt-square:before{content:""}.fa-bomb:before{content:""}.fa-futbol-o:before,.fa-soccer-ball-o:before{content:""}.fa-tty:before{content:""}.fa-binoculars:before{content:""}.fa-plug:before{content:""}.fa-slideshare:before{content:""}.fa-twitch:before{content:""}.fa-yelp:before{content:""}.fa-newspaper-o:before{content:""}.fa-wifi:before{content:""}.fa-calculator:before{content:""}.fa-paypal:before{content:""}.fa-google-wallet:before{content:""}.fa-cc-visa:before{content:""}.fa-cc-mastercard:before{content:""}.fa-cc-discover:before{content:""}.fa-cc-amex:before{content:""}.fa-cc-paypal:before{content:""}.fa-cc-stripe:before{content:""}.fa-bell-slash:before{content:""}.fa-bell-slash-o:before{content:""}.fa-trash:before{content:""}.fa-copyright:before{content:""}.fa-at:before{content:""}.fa-eyedropper:before{content:""}.fa-paint-brush:before{content:""}.fa-birthday-cake:before{content:""}.fa-area-chart:before{content:""}.fa-pie-chart:before{content:""}.fa-line-chart:before{content:""}.fa-lastfm:before{content:""}.fa-lastfm-square:before{content:""}.fa-toggle-off:before{content:""}.fa-toggle-on:before{content:""}.fa-bicycle:before{content:""}.fa-bus:before{content:""}.fa-ioxhost:before{content:""}.fa-angellist:before{content:""}.fa-cc:before{content:""}.fa-ils:before,.fa-shekel:before,.fa-sheqel:before{content:""}.fa-meanpath:before{content:""}#nprogress div.spinner{width:18px;margin-left:-9px;left:50%}.nav a{cursor:pointer}.nav>li.heading{position:relative;display:block;padding:10px 15px;color:#777}#header{padding:30px 0}#header h1{margin:0}#header h2{font-size:14px;margin-top:5px}.dashboard-content .panel-default{margin-bottom:20px!important;padding:0;margin:0 1%;overflow:scroll}.dashboard-content .panel-default .panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.dashboard-content .panel-default table{width:100%}.dashboard-content .panel-default table thead{font-weight:700}.dashboard-content .panel-default table tr{height:40px}.dashboard-content .grid{border:none}menu{margin:0;padding:0}.controls{text-align:right}.quick-filters{clear:both}.quick-filters li>span{padding:10px 15px;display:block}.grid{background-color:#FFF;width:100%}.grid .label-default{margin-right:5px;font-weight:400;font-size:12px;padding-top:4px;text-decoration:none}.grid tr{height:40px}.grid td{padding-left:10px;padding-right:10px;background-color:#FFF}.grid td a{color:#000;cursor:pointer}.grid td a.multiple:hover{text-decoration:none}.grid thead tr{border-bottom:1px solid #E7E7E7;font-weight:700;background-color:#FFF}.grid thead tr .glyphicon{font-size:13px;color:#aaa}.grid tbody tr{border-bottom:1px solid #E7E7E7}.grid tbody .fa-surface:hover div,.grid tbody .tr:hover{background-color:#f6f9fe}div.bottom-loader{margin-top:40px;position:inherit;width:auto;height:auto}div.bottom-loader:after{position:relative;display:inherit;margin:0 auto}div.bottom-loader:before{display:none}.grid-detail .total{float:left;display:inline-block;margin:25px 10px 0 0}.grid-detail .pagination{float:right}.form-horizontal .read-only p{margin-bottom:0;padding-top:7px}.form-horizontal textarea{height:150px}.form-horizontal input[type=checkbox],.form-horizontal input[type=radio]{max-width:16px;box-shadow:none;cursor:pointer;margin:0}.form-horizontal .border-around{margin-top:2px;background:#fff;width:100%}.form-horizontal a{cursor:pointer}.form-horizontal .ta-toolbar button{font-size:12px;padding:5px 8px}.form-horizontal .ta-toolbar button.active{z-index:1}#header-nav{background:#FFF;border-bottom:1px solid #e6e6e6;z-index:2}#wrapper{background-color:#FFF}#wrapper #page-wrapper{min-height:inherit}.navbar-static-side{margin-top:10px}#side-menu{background-color:#FFF;font-size:12px}#side-menu a{color:#767676}#side-menu li{margin:0 10px 10px;padding:3px 0;border-radius:3px;background-color:#F1F2F7}#side-menu li.active,#side-menu li:hover,#side-menu li:hover a{background-color:#FDD752;font-weight:700}#filter{position:absolute;right:0;top:0;z-index:2}#filter button{padding-bottom:7px}#nprogress{pointer-events:none}#nprogress .bar{background:#29d;position:fixed;z-index:1031;top:0;left:0;width:100%;height:2px}#nprogress .peg{display:block;position:absolute;right:0;width:100px;height:100%;box-shadow:0 0 10px #29d,0 0 5px #29d;opacity:1;-webkit-transform:rotate(3deg) translate(0px,-4px);-ms-transform:rotate(3deg) translate(0px,-4px);transform:rotate(3deg) translate(0px,-4px)}#nprogress .spinner{display:block;position:fixed;z-index:1031;top:15px;right:15px}#nprogress .spinner-icon{width:18px;height:18px;box-sizing:border-box;border:2px solid transparent;border-top-color:#29d;border-left-color:#29d;border-radius:50%;-webkit-animation:nprogress-spinner 400ms linear infinite;animation:nprogress-spinner 400ms linear infinite}.nprogress-custom-parent{overflow:hidden;position:relative}.nprogress-custom-parent #nprogress .bar,.nprogress-custom-parent #nprogress .spinner{position:absolute}@-webkit-keyframes nprogress-spinner{0%{-webkit-transform:rotate(0deg)}100%{-webkit-transform:rotate(360deg)}}@keyframes nprogress-spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}body,html{min-height:100%}.humane,.humane-flatty{position:fixed;-moz-transition:all .4s ease-in-out;-webkit-transition:all .4s ease-in-out;-ms-transition:all .4s ease-in-out;-o-transition:all .4s ease-in-out;transition:all .4s ease-in-out;z-index:100000;filter:alpha(Opacity=100);font-family:Helvetica Neue,Helvetica,san-serif;font-size:16px;top:0;left:30%;opacity:0;width:40%;color:#444;padding:10px;text-align:center;background-color:#fff;-webkit-border-bottom-right-radius:3px;-webkit-border-bottom-left-radius:3px;-moz-border-radius-bottomright:3px;-moz-border-radius-bottomleft:3px;border-bottom-right-radius:3px;border-bottom-left-radius:3px;-webkit-box-shadow:0 1px 2px rgba(0,0,0,.5);box-shadow:0 1px 2px rgba(0,0,0,.5);-moz-transform:translateY(-100px);-webkit-transform:translateY(-100px);-ms-transform:translateY(-100px);-o-transform:translateY(-100px);transform:translateY(-100px)}.humane p,.humane ul,.humane-flatty p,.humane-flatty ul{margin:0;padding:0}.humane ul,.humane-flatty ul{list-style:none}.humane-flatty.humane-flatty-info,.humane.humane-flatty-info{background-color:#3498db;color:#FFF}.humane-flatty.humane-flatty-success,.humane.humane-flatty-success{background-color:#18bc9c;color:#FFF}.humane-flatty.humane-flatty-error,.humane.humane-flatty-error{background-color:#e74c3c;color:#FFF}.humane-animate,.humane-flatty.humane-flatty-animate{opacity:1;-moz-transform:translateY(0);-webkit-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}.humane-animate:hover,.humane-flatty.humane-flatty-animate:hover{opacity:.7}.humane-flatty.humane-flatty-js-animate,.humane-js-animate{opacity:1;-moz-transform:translateY(0);-webkit-transform:translateY(0);-ms-transform:translateY(0);-o-transform:translateY(0);transform:translateY(0)}.humane-flatty.humane-flatty-js-animate:hover,.humane-js-animate:hover{opacity:.7;filter:alpha(Opacity=70)} \ No newline at end of file diff --git a/build/ng-admin.min.js b/build/ng-admin.min.js index a4e11b75..3b649f8f 100644 --- a/build/ng-admin.min.js +++ b/build/ng-admin.min.js @@ -1,15 +1,12 @@ -!function(a,b){"function"==typeof define&&define.amd?define(b):"object"==typeof exports?module.exports=b():a.ngAdmin=b()}(this,function(){var a,b,c;return function(d){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(n=n.slice(0,n.length-1),a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.concat(a),k=0;k0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,b){return function(){var c=v.call(arguments,0);return"string"!=typeof c[0]&&1===c.length&&c.push(null),n.apply(d,c.concat([a,b]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var b=r[a];delete r[a],t[a]=!0,m.apply(d,b)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,b,c,f){var h,k,l,m,n,s,u=[],v=typeof c;if(f=f||a,"undefined"===v||"function"===v){for(b=!b.length&&c.length?["require","exports","module"]:b,n=0;n0&&b-1 in a}function f(a,b,c){var d;if(a)if(x(a))for(d in a)"prototype"==d||"length"==d||"name"==d||a.hasOwnProperty&&!a.hasOwnProperty(d)||b.call(c,a[d],d);else if(Cd(a)||e(a))for(d=0;d=0&&a.splice(c,1),b}function J(a,b,c,d){if(z(a)||A(a))throw zd("cpws","Can't copy! Making copies of Window or Scope instances is not supported.");if(b){if(a===b)throw zd("cpi","Can't copy! Source and destination are identical.");if(c=c||[],d=d||[],t(a)){var e=H(c,a);if(-1!==e)return d[e];c.push(a),d.push(b)}var g;if(Cd(a)){b.length=0;for(var h=0;he;e++)if(!L(a[e],b[e]))return!1;return!0}}return!1}function M(a,b,c){return a.concat(wd.call(b,c))}function N(a,b){return wd.call(a,b||0)}function O(a,b){var c=arguments.length>2?N(arguments,2):[];return!x(b)||b instanceof RegExp?b:c.length?function(){return arguments.length?b.apply(a,c.concat(wd.call(arguments,0))):b.apply(a,c)}:function(){return arguments.length?b.apply(a,arguments):b.call(a)}}function P(a,d){var e=d;return"string"==typeof a&&"$"===a.charAt(0)?e=c:z(d)?e="$WINDOW":d&&b===d?e="$DOCUMENT":A(d)&&(e="$SCOPE"),e}function Q(a,b){return"undefined"==typeof a?c:JSON.stringify(a,P,b?" ":null)}function R(a){return u(a)?JSON.parse(a):a}function S(a){if("function"==typeof a)a=!0;else if(a&&0!==a.length){var b=md(""+a);a=!("f"==b||"0"==b||"false"==b||"no"==b||"n"==b||"[]"==b)}else a=!1;return a}function T(a){a=sd(a).clone();try{a.empty()}catch(b){}var c=3,d=sd("
").append(a).html();try{return a[0].nodeType===c?md(d):d.match(/^(<[^>]+>)/)[1].replace(/^<([\w\-]+)/,function(a,b){return"<"+md(b)})}catch(b){return md(d)}}function U(a){try{return decodeURIComponent(a)}catch(b){}}function V(a){var b,c,d={};return f((a||"").split("&"),function(a){if(a&&(b=a.replace(/\+/g,"%20").split("="),c=U(b[0]),s(c))){var e=s(b[1])?U(b[1]):!0;nd.call(d,c)?Cd(d[c])?d[c].push(e):d[c]=[d[c],e]:d[c]=e}}),d}function W(a){var b=[];return f(a,function(a,c){Cd(a)?f(a,function(a){b.push(Y(c,!0)+(a===!0?"":"="+Y(a,!0)))}):b.push(Y(c,!0)+(a===!0?"":"="+Y(a,!0)))}),b.length?b.join("&"):""}function X(a){return Y(a,!0).replace(/%26/gi,"&").replace(/%3D/gi,"=").replace(/%2B/gi,"+")}function Y(a,b){return encodeURIComponent(a).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",").replace(/%20/g,b?"%20":"+")}function Z(a,c){function d(a){a&&h.push(a)}var e,g,h=[a],i=["ng:app","ng-app","x-ng-app","data-ng-app"],j=/\sng[:\-]app(:\s*([\w\d_]+);?)?\s/;f(i,function(c){i[c]=!0,d(b.getElementById(c)),c=c.replace(":","\\:"),a.querySelectorAll&&(f(a.querySelectorAll("."+c),d),f(a.querySelectorAll("."+c+"\\:"),d),f(a.querySelectorAll("["+c+"]"),d))}),f(h,function(a){if(!e){var b=" "+a.className+" ",c=j.exec(b);c?(e=a,g=(c[2]||"").replace(/\s+/g,",")):f(a.attributes,function(b){!e&&i[b.name]&&(e=a,g=b.value)})}}),e&&c(e,g?[g]:[])}function $(c,d){var e=function(){if(c=sd(c),c.injector()){var a=c[0]===b?"document":T(c);throw zd("btstrpd","App Already Bootstrapped with this Element '{0}'",a.replace(//,">"))}d=d||[],d.unshift(["$provide",function(a){a.value("$rootElement",c)}]),d.unshift("ng");var e=Hb(d);return e.invoke(["$rootScope","$rootElement","$compile","$injector","$animate",function(a,b,c,d){a.$apply(function(){b.data("$injector",d),c(b)(a)})}]),e},g=/^NG_DEFER_BOOTSTRAP!/;return a&&!g.test(a.name)?e():(a.name=a.name.replace(g,""),void(Ad.resumeBootstrap=function(a){f(a,function(a){d.push(a)}),e()}))}function _(a,b){return b=b||"_",a.replace(Fd,function(a,c){return(c?b:"")+a.toLowerCase()})}function ab(){td=a.jQuery,td&&td.fn.on?(sd=td,l(td.fn,{scope:Td.scope,isolateScope:Td.isolateScope,controller:Td.controller,injector:Td.injector,inheritedData:Td.inheritedData}),kb("remove",!0,!0,!1),kb("empty",!1,!1,!1),kb("html",!1,!1,!0)):sd=ob,Ad.element=sd}function bb(a,b,c){if(!a)throw zd("areq","Argument '{0}' is {1}",b||"?",c||"required");return a}function cb(a,b,c){return c&&Cd(a)&&(a=a[a.length-1]),bb(x(a),b,"not a function, got "+(a&&"object"==typeof a?a.constructor.name||"Object":typeof a)),a}function db(a,b){if("hasOwnProperty"===a)throw zd("badname","hasOwnProperty is not a valid {0} name",b)}function eb(a,b,c){if(!b)return a;for(var d,e=b.split("."),f=a,g=e.length,h=0;g>h;h++)d=e[h],a&&(a=(f=a)[d]);return!c&&x(a)?O(f,a):a}function fb(a){var b=a[0],c=a[a.length-1];if(b===c)return sd(b);var d=b,e=[d];do{if(d=d.nextSibling,!d)break;e.push(d)}while(d!==c);return sd(e)}function gb(a){function b(a,b,c){return a[b]||(a[b]=c())}var c=d("$injector"),e=d("ng"),f=b(a,"angular",Object);return f.$$minErr=f.$$minErr||d,b(f,"module",function(){var a={};return function(d,f,g){var h=function(a,b){if("hasOwnProperty"===a)throw e("badname","hasOwnProperty is not a valid {0} name",b)};return h(d,"module"),f&&a.hasOwnProperty(d)&&(a[d]=null),b(a,d,function(){function a(a,c,d){return function(){return b[d||"push"]([a,c,arguments]),i}}if(!f)throw c("nomod","Module '{0}' is not available! You either misspelled the module name or forgot to load it. If registering a module ensure that you specify the dependencies as the second argument.",d);var b=[],e=[],h=a("$injector","invoke"),i={_invokeQueue:b,_runBlocks:e,requires:f,name:d,provider:a("$provide","provider"),factory:a("$provide","factory"),service:a("$provide","service"),value:a("$provide","value"),constant:a("$provide","constant","unshift"),animation:a("$animateProvider","register"),filter:a("$filterProvider","register"),controller:a("$controllerProvider","register"),directive:a("$compileProvider","directive"),config:h,run:function(a){return e.push(a),this}};return g&&h(g),i})}})}function hb(b){l(b,{bootstrap:$,copy:J,extend:l,equals:L,element:sd,forEach:f,injector:Hb,noop:o,bind:O,toJson:Q,fromJson:R,identity:p,isUndefined:r,isDefined:s,isString:u,isFunction:x,isObject:t,isNumber:v,isElement:E,isArray:Cd,version:Gd,isDate:w,lowercase:md,uppercase:od,callbacks:{counter:0},$$minErr:d,$$csp:Ed}),ud=gb(a);try{ud("ngLocale")}catch(c){ud("ngLocale",[]).provider("$locale",cc)}ud("ng",["ngLocale"],["$provide",function(a){a.provider({$$sanitizeUri:Cc}),a.provider("$compile",Ob).directive({a:Ce,input:Ne,textarea:Ne,form:Ge,script:wf,select:zf,style:Bf,option:Af,ngBind:Ze,ngBindHtml:_e,ngBindTemplate:$e,ngClass:af,ngClassEven:cf,ngClassOdd:bf,ngCloak:df,ngController:ef,ngForm:He,ngHide:qf,ngIf:hf,ngInclude:jf,ngInit:lf,ngNonBindable:mf,ngPluralize:nf,ngRepeat:of,ngShow:pf,ngStyle:rf,ngSwitch:sf,ngSwitchWhen:tf,ngSwitchDefault:uf,ngOptions:yf,ngTransclude:vf,ngModel:Te,ngList:We,ngChange:Ue,required:Ve,ngRequired:Ve,ngValue:Ye}).directive({ngInclude:kf}).directive(De).directive(ff),a.provider({$anchorScroll:Ib,$animate:ae,$browser:Lb,$cacheFactory:Mb,$controller:Rb,$document:Sb,$exceptionHandler:Tb,$filter:Nc,$interpolate:ac,$interval:bc,$http:Yb,$httpBackend:$b,$location:pc,$log:qc,$parse:xc,$rootScope:Bc,$q:yc,$sce:Hc,$sceDelegate:Gc,$sniffer:Ic,$templateCache:Nb,$timeout:Jc,$window:Mc,$$rAF:Ac,$$asyncCallback:Jb})}])}function ib(){return++Id}function jb(a){return a.replace(Ld,function(a,b,c,d){return d?c.toUpperCase():c}).replace(Md,"Moz$1")}function kb(a,b,c,d){function e(a){var e,g,h,i,j,k,l,m=c&&a?[this.filter(a)]:[this],n=b;if(!d||null!=a)for(;m.length;)for(e=m.shift(),g=0,h=e.length;h>g;g++)for(i=sd(e[g]),n?i.triggerHandler("$destroy"):n=!n,j=0,k=(l=i.children()).length;k>j;j++)m.push(td(l[j]));return f.apply(this,arguments)}var f=td.fn[a];f=f.$original||f,e.$original=f,td.fn[a]=e}function lb(a){return!Pd.test(a)}function mb(a,b){var c,d,e,f,g,h,i=b.createDocumentFragment(),j=[];if(lb(a))j.push(b.createTextNode(a));else{for(c=i.appendChild(b.createElement("div")),d=(Qd.exec(a)||["",""])[1].toLowerCase(),e=Sd[d]||Sd._default,c.innerHTML="
 
"+e[1]+a.replace(Rd,"<$1>")+e[2],c.removeChild(c.firstChild),f=e[0];f--;)c=c.lastChild;for(g=0,h=c.childNodes.length;h>g;++g)j.push(c.childNodes[g]);c=i.firstChild,c.textContent=""}return i.textContent="",i.innerHTML="",j}function nb(a,c){c=c||b;var d;return(d=Od.exec(a))?[c.createElement(d[1])]:mb(a,c)}function ob(a){if(a instanceof ob)return a;if(u(a)&&(a=Dd(a)),!(this instanceof ob)){if(u(a)&&"<"!=a.charAt(0))throw Nd("nosel","Looking up elements via selectors is not supported by jqLite! See: http://docs.angularjs.org/api/angular.element");return new ob(a)}if(u(a)){yb(this,nb(a));var c=sd(b.createDocumentFragment());c.append(this)}else yb(this,a)}function pb(a){return a.cloneNode(!0)}function qb(a){sb(a);for(var b=0,c=a.childNodes||[];b-1:!1}function wb(a,b){b&&a.setAttribute&&f(b.split(" "),function(b){a.setAttribute("class",Dd((" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ").replace(" "+Dd(b)+" "," ")))})}function xb(a,b){if(b&&a.setAttribute){var c=(" "+(a.getAttribute("class")||"")+" ").replace(/[\n\t]/g," ");f(b.split(" "),function(a){a=Dd(a),-1===c.indexOf(" "+a+" ")&&(c+=a+" ")}),a.setAttribute("class",Dd(c))}}function yb(a,b){if(b){b=b.nodeName||!s(b.length)||z(b)?[b]:b;for(var c=0;cf;f++)if((d=sd.data(a,e[f]))!==c)return d;a=a.parentNode||11===a.nodeType&&a.host}}function Bb(a){for(var b=0,c=a.childNodes;b=rd?(d.preventDefault=null,d.stopPropagation=null,d.isDefaultPrevented=null):(delete d.preventDefault,delete d.stopPropagation,delete d.isDefaultPrevented)};return d.elem=a,d}function Eb(a,b){var d,e=typeof a;return"function"==e||"object"==e&&null!==a?"function"==typeof(d=a.$$hashKey)?d=a.$$hashKey():d===c&&(d=a.$$hashKey=(b||j)()):d=a,e+":"+d}function Fb(a,b){if(b){var c=0;this.nextUid=function(){return++c}}f(a,this.put,this)}function Gb(a){var b,c,d,e;return"function"==typeof a?(b=a.$inject)||(b=[],a.length&&(c=a.toString().replace(Zd,""),d=c.match(Wd),f(d[1].split(Xd),function(a){a.replace(Yd,function(a,c,d){b.push(d)})})),a.$inject=b):Cd(a)?(e=a.length-1,cb(a[e],"fn"),b=a.slice(0,e)):cb(a,"fn",!0),b}function Hb(a){function b(a){return function(b,c){return t(b)?void f(b,i(a)):a(b,c)}}function c(a,b){if(db(a,"service"),(x(b)||Cd(b))&&(b=v.instantiate(b)),!b.$get)throw $d("pget","Provider '{0}' must define $get factory method.",a);return s[a+n]=b}function d(a,b){return c(a,{$get:b})}function e(a,b){return d(a,["$injector",function(a){return a.instantiate(b)}])}function g(a,b){return d(a,q(b))}function h(a,b){db(a,"constant"),s[a]=b,w[a]=b}function j(a,b){var c=v.get(a+n),d=c.$get;c.$get=function(){var a=y.invoke(d,c);return y.invoke(b,null,{$delegate:a})}}function k(a){var b,c,d,e,g=[];return f(a,function(a){if(!r.get(a)){r.put(a,!0);try{if(u(a))for(b=ud(a),g=g.concat(k(b.requires)).concat(b._runBlocks),c=b._invokeQueue,d=0,e=c.length;e>d;d++){var f=c[d],h=v.get(f[0]);h[f[1]].apply(h,f[2])}else x(a)?g.push(v.invoke(a)):Cd(a)?g.push(v.invoke(a)):cb(a,"module")}catch(i){throw Cd(a)&&(a=a[a.length-1]),i.message&&i.stack&&-1==i.stack.indexOf(i.message)&&(i=i.message+"\n"+i.stack),$d("modulerr","Failed to instantiate module {0} due to:\n{1}",a,i.stack||i.message||i)}}}),g}function l(a,b){function c(c){if(a.hasOwnProperty(c)){if(a[c]===m)throw $d("cdep","Circular dependency found: {0}",c+" <- "+p.join(" <- "));return a[c]}try{return p.unshift(c),a[c]=m,a[c]=b(c)}catch(d){throw a[c]===m&&delete a[c],d}finally{p.shift()}}function d(a,b,d){var e,f,g,h=[],i=Gb(a);for(f=0,e=i.length;e>f;f++){if(g=i[f],"string"!=typeof g)throw $d("itkn","Incorrect injection token! Expected service name as string, got {0}",g);h.push(d&&d.hasOwnProperty(g)?d[g]:c(g))}return Cd(a)&&(a=a[e]),a.apply(b,h)}function e(a,b){var c,e,f=function(){};return f.prototype=(Cd(a)?a[a.length-1]:a).prototype,c=new f,e=d(a,c,b),t(e)||x(e)?e:c}return{invoke:d,instantiate:e,get:c,annotate:Gb,has:function(b){return s.hasOwnProperty(b+n)||a.hasOwnProperty(b)}}}var m={},n="Provider",p=[],r=new Fb([],!0),s={$provide:{provider:b(c),factory:b(d),service:b(e),value:b(g),constant:b(h),decorator:j}},v=s.$injector=l(s,function(){throw $d("unpr","Unknown provider: {0}",p.join(" <- "))}),w={},y=w.$injector=l(w,function(a){var b=v.get(a+n);return y.invoke(b.$get,b)});return f(k(a),function(a){y.invoke(a||o)}),y}function Ib(){var a=!0;this.disableAutoScrolling=function(){a=!1},this.$get=["$window","$location","$rootScope",function(b,c,d){function e(a){var b=null;return f(a,function(a){b||"a"!==md(a.nodeName)||(b=a)}),b}function g(){var a,d=c.hash();d?(a=h.getElementById(d))?a.scrollIntoView():(a=e(h.getElementsByName(d)))?a.scrollIntoView():"top"===d&&b.scrollTo(0,0):b.scrollTo(0,0)}var h=b.document;return a&&d.$watch(function(){return c.hash()},function(){d.$evalAsync(g)}),g}]}function Jb(){this.$get=["$$rAF","$timeout",function(a,b){return a.supported?function(b){return a(b)}:function(a){return b(a,0,!1)}}]}function Kb(a,b,d,e){function g(a){try{a.apply(null,N(arguments,1))}finally{if(s--,0===s)for(;t.length;)try{t.pop()()}catch(b){d.error(b)}}}function h(a,b){!function c(){f(w,function(a){a()}),v=b(c,a)}()}function i(){z=null,x!=j.url()&&(x=j.url(),f(A,function(a){a(j.url())}))}var j=this,k=b[0],l=a.location,m=a.history,n=a.setTimeout,p=a.clearTimeout,q={};j.isMock=!1;var s=0,t=[];j.$$completeOutstandingRequest=g,j.$$incOutstandingRequestCount=function(){s++},j.notifyWhenNoOutstandingRequests=function(a){f(w,function(a){a()}),0===s?a():t.push(a)};var v,w=[];j.addPollFn=function(a){return r(v)&&h(100,n),w.push(a),a};var x=l.href,y=b.find("base"),z=null;j.url=function(b,c){if(l!==a.location&&(l=a.location),m!==a.history&&(m=a.history),b){if(x==b)return;return x=b,e.history?c?m.replaceState(null,"",b):(m.pushState(null,"",b),y.attr("href",y.attr("href"))):(z=b,c?l.replace(b):l.href=b),j}return z||l.href.replace(/%27/g,"'")};var A=[],B=!1;j.onUrlChange=function(b){return B||(e.history&&sd(a).on("popstate",i),e.hashchange?sd(a).on("hashchange",i):j.addPollFn(i),B=!0),A.push(b),b},j.$$checkUrlChange=i,j.baseHref=function(){var a=y.attr("href");return a?a.replace(/^(https?\:)?\/\/[^\/]*/,""):""};var C={},D="",E=j.baseHref();j.cookies=function(a,b){var e,f,g,h,i;if(!a){if(k.cookie!==D)for(D=k.cookie,f=D.split("; "),C={},h=0;h0&&(a=unescape(g.substring(0,i)),C[a]===c&&(C[a]=unescape(g.substring(i+1))));return C}b===c?k.cookie=escape(a)+"=;path="+E+";expires=Thu, 01 Jan 1970 00:00:00 GMT":u(b)&&(e=(k.cookie=escape(a)+"="+escape(b)+";path="+E).length+1,e>4096&&d.warn("Cookie '"+a+"' possibly not set or overflowed because it was too large ("+e+" > 4096 bytes)!"))},j.defer=function(a,b){var c;return s++,c=n(function(){delete q[c],g(a)},b||0),q[c]=!0,c},j.defer.cancel=function(a){return q[a]?(delete q[a],p(a),g(o),!0):!1}}function Lb(){this.$get=["$window","$log","$sniffer","$document",function(a,b,c,d){return new Kb(a,d,b,c)}]}function Mb(){this.$get=function(){function a(a,c){function e(a){a!=m&&(n?n==a&&(n=a.n):n=a,f(a.n,a.p),f(a,m),m=a,m.n=null)}function f(a,b){a!=b&&(a&&(a.p=b),b&&(b.n=a))}if(a in b)throw d("$cacheFactory")("iid","CacheId '{0}' is already taken!",a);var g=0,h=l({},c,{id:a}),i={},j=c&&c.capacity||Number.MAX_VALUE,k={},m=null,n=null;return b[a]={put:function(a,b){if(jj&&this.remove(n.key),b},get:function(a){if(j").parent()[0])});var g=C(a,b,a,c,d,e);return B(a,"ng-scope"),function(b,c,d,e){bb(b,"scope");var h=c?Td.clone.call(a):a;f(d,function(a,b){h.data("$"+b+"Controller",a)});for(var i=0,j=h.length;j>i;i++){var k=h[i],l=k.nodeType;(1===l||9===l)&&h.eq(i).data("$scope",b)}return c&&c(h,b),g&&g(b,h,h,e),h}}function B(a,b){try{a.addClass(b)}catch(c){}}function C(a,b,d,e,f,g){function h(a,d,e,f){var g,h,i,j,k,l,m,n,p=d.length,q=new Array(p);for(k=0;p>k;k++)q[k]=d[k];for(k=0,m=0,l=o.length;l>k;m++)i=q[m],g=o[k++],h=o[k++],g?(g.scope?(j=a.$new(),sd.data(i,"$scope",j)):j=a,n=g.transcludeOnThisElement?D(a,g.transclude,f):!g.templateOnThisElement&&f?f:!f&&b?D(a,b):null,g(h,j,i,e,n)):h&&h(a,i.childNodes,c,f)}for(var i,j,k,l,m,n,o=[],p=0;ps;s++){var v=!1,w=!1;if(l=r[s],!rd||rd>=8||l.specified){m=l.name,p=Dd(l.value),o=Pb(m),(q=ab.test(o))&&(m=_(o.substr(6),"-"));var x=o.replace(/(Start|End)$/,"");o===x+"Start"&&(v=m,w=m.substr(0,m.length-5)+"end",m=m.substr(0,m.length-6)),n=Pb(m.toLowerCase()),k[n]=m,(q||!c.hasOwnProperty(n))&&(c[n]=p,Cb(a,n)&&(c[n]=!0)),U(a,b,p,n),J(b,n,"A",d,e,v,w)}}if(g=a.className,u(g)&&""!==g)for(;f=j.exec(g);)n=Pb(f[2]),J(b,n,"C",d,e)&&(c[n]=Dd(f[3])),g=g.substr(f.index+f[0].length);break;case 3:R(b,a.nodeValue);break;case 8:try{f=h.exec(a.nodeValue),f&&(n=Pb(f[1]),J(b,n,"M",d,e)&&(c[n]=Dd(f[2])))}catch(y){}}return b.sort(P),b}function F(a,b,c){var d=[],e=0;if(b&&a.hasAttribute&&a.hasAttribute(b)){do{if(!a)throw be("uterdir","Unterminated attribute, found '{0}' but no matching '{1}' found.",b,c);1==a.nodeType&&(a.hasAttribute(b)&&e++,a.hasAttribute(c)&&e--),d.push(a),a=a.nextSibling}while(e>0)}else d.push(a);return sd(d)}function G(a,b,c){return function(d,e,f,g,h){return e=F(e[0],b,c),a(d,e,f,g,h)}}function H(a,e,g,h,j,k,l,m,n){function o(a,b,c,d){a&&(c&&(a=G(a,c,d)),a.require=w.require,a.directiveName=y,(P===w||w.$$isolateScope)&&(a=W(a,{isolateScope:!0})),l.push(a)),b&&(c&&(b=G(b,c,d)),b.require=w.require,b.directiveName=y,(P===w||w.$$isolateScope)&&(b=W(b,{isolateScope:!0})),m.push(b))}function p(a,b,c,d){var e,g="data",h=!1;if(u(b)){for(;"^"==(e=b.charAt(0))||"?"==e;)b=b.substr(1),"^"==e&&(g="inheritedData"),h=h||"?"==e;if(e=null,d&&"data"===g&&(e=d[b]),e=e||c[g]("$"+b+"Controller"),!e&&!h)throw be("ctreq","Controller '{0}', required by directive '{1}', can't be found!",b,a);return e}return Cd(b)&&(e=[],f(b,function(b){e.push(p(a,b,c,d))})),e}function s(a,b,h,j,k){function n(a,b){var d;return arguments.length<2&&(b=a,a=c),Z&&(d=z),k(a,b,d)}var o,s,t,u,v,w,x,y,z={};if(o=e===h?g:K(g,new X(sd(h),g.$attr)),s=o.$$element,P){var A=/^\s*([@=&])(\??)\s*(\w*)\s*$/;x=b.$new(!0),!R||R!==P&&R!==P.$$originalDirective?s.data("$isolateScopeNoTemplate",x):s.data("$isolateScope",x),B(s,"ng-isolate-scope"),f(P.scope,function(a,c){var e,f,g,h,i=a.match(A)||[],j=i[3]||c,k="?"==i[2],l=i[1];switch(x.$$isolateBindings[c]=l+j,l){case"@":o.$observe(j,function(a){x[c]=a}),o.$$observers[j].$$scope=b,o[j]&&(x[c]=d(o[j])(b));break;case"=":if(k&&!o[j])return;f=q(o[j]),h=f.literal?L:function(a,b){return a===b||a!==a&&b!==b},g=f.assign||function(){throw e=x[c]=f(b),be("nonassign","Expression '{0}' used with directive '{1}' is non-assignable!",o[j],P.name)},e=x[c]=f(b),x.$watch(function(){var a=f(b);return h(a,x[c])||(h(a,e)?g(b,a=x[c]):x[c]=a),e=a},null,f.literal);break;case"&":f=q(o[j]),x[c]=function(a){return f(b,a)};break;default:throw be("iscp","Invalid isolate scope definition for directive '{0}'. Definition: {... {1}: '{2}' ...}",P.name,c,a)}})}for(y=k&&n,J&&f(J,function(a){var c,d={$scope:a===P||a.$$isolateScope?x:b,$element:s,$attrs:o,$transclude:y};w=a.controller,"@"==w&&(w=o[a.name]),c=r(w,d),z[a.name]=c,Z||s.data("$"+a.name+"Controller",c),a.controllerAs&&(d.$scope[a.controllerAs]=c)}),t=0,u=l.length;u>t;t++)try{v=l[t],v(v.isolateScope?x:b,s,o,v.require&&p(v.directiveName,v.require,s,z),y)}catch(C){i(C,T(s))}var D=b;for(P&&(P.template||null===P.templateUrl)&&(D=x),a&&a(D,h.childNodes,c,k),t=m.length-1;t>=0;t--)try{v=m[t],v(v.isolateScope?x:b,s,o,v.require&&p(v.directiveName,v.require,s,z),y)}catch(C){i(C,T(s))}}n=n||{};for(var v,w,y,z,C,D,H=-Number.MAX_VALUE,J=n.controllerDirectives,P=n.newIsolateScopeDirective,R=n.templateDirective,S=n.nonTlbTranscludeDirective,U=!1,Y=!1,Z=n.hasElementTranscludeDirective,_=g.$$element=sd(e),ab=k,bb=h,cb=0,db=a.length;db>cb;cb++){w=a[cb];var eb=w.$$start,fb=w.$$end;if(eb&&(_=F(e,eb,fb)),z=c,H>w.priority)break;if((D=w.scope)&&(v=v||w,w.templateUrl||(Q("new/isolated scope",P,w,_),t(D)&&(P=w))),y=w.name,!w.templateUrl&&w.controller&&(D=w.controller,J=J||{},Q("'"+y+"' controller",J[y],w,_),J[y]=w),(D=w.transclude)&&(U=!0,w.$$tlb||(Q("transclusion",S,w,_),S=w),"element"==D?(Z=!0,H=w.priority,z=_,_=g.$$element=sd(b.createComment(" "+y+": "+g[y]+" ")),e=_[0],V(j,N(z),e),bb=A(z,h,H,ab&&ab.name,{nonTlbTranscludeDirective:S})):(z=sd(pb(e)).contents(),_.empty(),bb=A(z,h))),w.template)if(Y=!0,Q("template",R,w,_),R=w,D=x(w.template)?w.template(_,g):w.template,D=$(D),w.replace){if(ab=w,z=lb(D)?[]:sd(Dd(D)),e=z[0],1!=z.length||1!==e.nodeType)throw be("tplrt","Template for directive '{0}' must have exactly one root element. {1}",y,"");V(j,_,e);var gb={$attr:{}},hb=E(e,[],gb),ib=a.splice(cb+1,a.length-(cb+1));P&&I(hb),a=a.concat(hb).concat(ib),M(g,gb),db=a.length}else _.html(D);if(w.templateUrl)Y=!0,Q("template",R,w,_),R=w,w.replace&&(ab=w),s=O(a.splice(cb,a.length-cb),_,g,j,U&&bb,l,m,{controllerDirectives:J,newIsolateScopeDirective:P,templateDirective:R,nonTlbTranscludeDirective:S}),db=a.length;else if(w.compile)try{C=w.compile(_,g,bb),x(C)?o(null,C,eb,fb):C&&o(C.pre,C.post,eb,fb)}catch(jb){i(jb,T(_))}w.terminal&&(s.terminal=!0,H=Math.max(H,w.priority))}return s.scope=v&&v.scope===!0,s.transcludeOnThisElement=U,s.templateOnThisElement=Y,s.transclude=bb,n.hasElementTranscludeDirective=Z,s}function I(a){for(var b=0,c=a.length;c>b;b++)a[b]=n(a[b],{$$isolateScope:!0})}function J(b,d,f,h,j,k,l){if(d===j)return null;var m=null;if(e.hasOwnProperty(d))for(var o,p=a.get(d+g),q=0,r=p.length;r>q;q++)try{o=p[q],(h===c||h>o.priority)&&-1!=o.restrict.indexOf(f)&&(k&&(o=n(o,{$$start:k,$$end:l})),b.push(o),m=o)}catch(s){i(s)}return m}function M(a,b){var c=b.$attr,d=a.$attr,e=a.$$element;f(a,function(d,e){"$"!=e.charAt(0)&&(b[e]&&b[e]!==d&&(d+=("style"===e?";":" ")+b[e]),a.$set(e,d,!0,c[e])) -}),f(b,function(b,f){"class"==f?(B(e,b),a["class"]=(a["class"]?a["class"]+" ":"")+b):"style"==f?(e.attr("style",e.attr("style")+";"+b),a.style=(a.style?a.style+";":"")+b):"$"==f.charAt(0)||a.hasOwnProperty(f)||(a[f]=b,d[f]=c[f])})}function O(a,b,c,d,e,g,h,i){var j,k,n=[],p=b[0],q=a.shift(),r=l({},q,{templateUrl:null,transclude:null,replace:null,$$originalDirective:q}),s=x(q.templateUrl)?q.templateUrl(b,c):q.templateUrl;return b.empty(),m.get(w.getTrustedResourceUrl(s),{cache:o}).success(function(l){var m,o,u,v;if(l=$(l),q.replace){if(u=lb(l)?[]:sd(Dd(l)),m=u[0],1!=u.length||1!==m.nodeType)throw be("tplrt","Template for directive '{0}' must have exactly one root element. {1}",q.name,s);o={$attr:{}},V(d,b,m);var w=E(m,[],o);t(q.scope)&&I(w),a=w.concat(a),M(c,o)}else m=p,b.html(l);for(a.unshift(r),j=H(a,m,c,e,b,q,g,h,i),f(d,function(a,c){a==m&&(d[c]=b[0])}),k=C(b[0].childNodes,e);n.length;){var x=n.shift(),y=n.shift(),z=n.shift(),A=n.shift(),F=b[0];if(y!==p){var G=y.className;i.hasElementTranscludeDirective&&q.replace||(F=pb(m)),V(z,sd(y),F),B(sd(F),G)}v=j.transcludeOnThisElement?D(x,j.transclude,A):A,j(k,x,F,d,v)}n=null}).error(function(a,b,c,d){throw be("tpload","Failed to load template: {0}",d.url)}),function(a,b,c,d,e){var f=e;n?(n.push(b),n.push(c),n.push(d),n.push(f)):(j.transcludeOnThisElement&&(f=D(b,j.transclude,e)),j(k,b,c,d,f))}}function P(a,b){var c=b.priority-a.priority;return 0!==c?c:a.name!==b.name?a.namee;e++)if(a[e]==g){a[e++]=d;for(var j=e,k=j+h-1,l=a.length;l>j;j++,k++)l>k?a[j]=a[k]:delete a[j];a.length-=h-1;break}i&&i.replaceChild(d,g);var m=b.createDocumentFragment();m.appendChild(g),d[sd.expando]=g[sd.expando];for(var n=1,o=c.length;o>n;n++){var p=c[n];sd(p).remove(),m.appendChild(p),delete c[n]}c[0]=d,c.length=1}function W(a,b){return l(function(){return a.apply(null,arguments)},a,b)}var X=function(a,b){this.$$element=a,this.$attr=b||{}};X.prototype={$normalize:Pb,$addClass:function(a){a&&a.length>0&&y.addClass(this.$$element,a)},$removeClass:function(a){a&&a.length>0&&y.removeClass(this.$$element,a)},$updateClass:function(a,b){var c=Qb(a,b),d=Qb(b,a);0===c.length?y.removeClass(this.$$element,d):0===d.length?y.addClass(this.$$element,c):y.setClass(this.$$element,c,d)},$set:function(a,b,d,e){var g,h=Cb(this.$$element[0],a);h&&(this.$$element.prop(a,b),e=h),this[a]=b,e?this.$attr[a]=e:(e=this.$attr[a],e||(this.$attr[a]=e=_(a,"-"))),g=vd(this.$$element),("A"===g&&"href"===a||"IMG"===g&&"src"===a)&&(this[a]=b=z(b,"src"===a)),d!==!1&&(null===b||b===c?this.$$element.removeAttr(e):this.$$element.attr(e,b));var j=this.$$observers;j&&f(j[a],function(a){try{a(b)}catch(c){i(c)}})},$observe:function(a,b){var c=this,d=c.$$observers||(c.$$observers={}),e=d[a]||(d[a]=[]);return e.push(b),s.$evalAsync(function(){e.$$inter||b(c[a])}),b}};var Y=d.startSymbol(),Z=d.endSymbol(),$="{{"==Y||"}}"==Z?p:function(a){return a.replace(/\{\{/g,Y).replace(/}}/g,Z)},ab=/^ngAttr[A-Z]/;return A}]}function Pb(a){return jb(a.replace(ce,""))}function Qb(a,b){var c="",d=a.split(/\s+/),e=b.split(/\s+/);a:for(var f=0;f0?" ":"")+g}return c}function Rb(){var a={},b=/^(\S+)(\s+as\s+(\w+))?$/;this.register=function(b,c){db(b,"controller"),t(b)?l(a,b):a[b]=c},this.$get=["$injector","$window",function(c,e){return function(f,g){var h,i,j,k;if(u(f)&&(i=f.match(b),j=i[1],k=i[3],f=a.hasOwnProperty(j)?a[j]:eb(g.$scope,j,!0)||eb(e,j,!0),cb(f,j,!0)),h=c.instantiate(f,g),k){if(!g||"object"!=typeof g.$scope)throw d("$controller")("noscp","Cannot export controller '{0}' as '{1}'! No $scope object provided via `locals`.",j||f.name,k);g.$scope[k]=h}return h}}]}function Sb(){this.$get=["$window",function(a){return sd(a.document)}]}function Tb(){this.$get=["$log",function(a){return function(){a.error.apply(a,arguments)}}]}function Ub(a){var b,c,d,e={};return a?(f(a.split("\n"),function(a){d=a.indexOf(":"),b=md(Dd(a.substr(0,d))),c=Dd(a.substr(d+1)),b&&(e[b]=e[b]?e[b]+", "+c:c)}),e):e}function Vb(a){var b=t(a)?a:c;return function(c){return b||(b=Ub(a)),c?b[md(c)]||null:b}}function Wb(a,b,c){return x(c)?c(a,b):(f(c,function(c){a=c(a,b)}),a)}function Xb(a){return a>=200&&300>a}function Yb(){var a=/^\s*(\[|\{[^\{])/,b=/[\}\]]\s*$/,d=/^\)\]\}',?\n/,e={"Content-Type":"application/json;charset=utf-8"},g=this.defaults={transformResponse:[function(c){return u(c)&&(c=c.replace(d,""),a.test(c)&&b.test(c)&&(c=R(c))),c}],transformRequest:[function(a){return!t(a)||B(a)||C(a)?a:Q(a)}],headers:{common:{Accept:"application/json, text/plain, */*"},post:K(e),put:K(e),patch:K(e)},xsrfCookieName:"XSRF-TOKEN",xsrfHeaderName:"X-XSRF-TOKEN"},i=this.interceptors=[],j=this.responseInterceptors=[];this.$get=["$httpBackend","$browser","$cacheFactory","$rootScope","$q","$injector",function(a,b,d,e,k,m){function n(a){function b(a){var b=l({},a,{data:Wb(a.data,a.headers,e.transformResponse)});return Xb(a.status)?b:k.reject(b)}function d(a){function b(a){var b;f(a,function(c,d){x(c)&&(b=c(),null!=b?a[d]=b:delete a[d])})}var c,d,e,h=g.headers,i=l({},a.headers);h=l({},h.common,h[md(a.method)]);a:for(c in h){d=md(c);for(e in i)if(md(e)===d)continue a;i[c]=h[c]}return b(i),i}var e={method:"get",transformRequest:g.transformRequest,transformResponse:g.transformResponse},h=d(a);l(e,a),e.headers=h,e.method=od(e.method);var i=function(a){h=a.headers;var c=Wb(a.data,Vb(h),a.transformRequest);return r(c)&&f(h,function(a,b){"content-type"===md(b)&&delete h[b]}),r(a.withCredentials)&&!r(g.withCredentials)&&(a.withCredentials=g.withCredentials),q(a,c,h).then(b,b)},j=[i,c],m=k.when(e);for(f(z,function(a){(a.request||a.requestError)&&j.unshift(a.request,a.requestError),(a.response||a.responseError)&&j.push(a.response,a.responseError)});j.length;){var n=j.shift(),o=j.shift();m=m.then(n,o)}return m.success=function(a){return m.then(function(b){a(b.data,b.status,b.headers,e)}),m},m.error=function(a){return m.then(null,function(b){a(b.data,b.status,b.headers,e)}),m},m}function o(){f(arguments,function(a){n[a]=function(b,c){return n(l(c||{},{method:a,url:b}))}})}function p(){f(arguments,function(a){n[a]=function(b,c,d){return n(l(d||{},{method:a,url:b,data:c}))}})}function q(d,f,h){function i(a,b,c,d){m&&(Xb(a)?m.put(u,[a,b,Ub(c),d]):m.remove(u)),j(b,a,c,d),e.$$phase||e.$apply()}function j(a,b,c,e){b=Math.max(b,0),(Xb(b)?p.resolve:p.reject)({data:a,status:b,headers:Vb(c),config:d,statusText:e})}function l(){var a=H(n.pendingRequests,d);-1!==a&&n.pendingRequests.splice(a,1)}var m,o,p=k.defer(),q=p.promise,u=v(d.url,d.params);if(n.pendingRequests.push(d),q.then(l,l),!d.cache&&!g.cache||d.cache===!1||"GET"!==d.method&&"JSONP"!==d.method||(m=t(d.cache)?d.cache:t(g.cache)?g.cache:y),m)if(o=m.get(u),s(o)){if(D(o))return o.then(l,l),o;Cd(o)?j(o[1],o[0],K(o[2]),o[3]):j(o,200,{},"OK")}else m.put(u,q);if(r(o)){var w=Lc(d.url)?b.cookies()[d.xsrfCookieName||g.xsrfCookieName]:c;w&&(h[d.xsrfHeaderName||g.xsrfHeaderName]=w),a(d.method,u,f,i,h,d.timeout,d.withCredentials,d.responseType)}return q}function v(a,b){if(!b)return a;var c=[];return h(b,function(a,b){null===a||r(a)||(Cd(a)||(a=[a]),f(a,function(a){t(a)&&(a=w(a)?a.toISOString():Q(a)),c.push(Y(b)+"="+Y(a))}))}),c.length>0&&(a+=(-1==a.indexOf("?")?"?":"&")+c.join("&")),a}var y=d("$http"),z=[];return f(i,function(a){z.unshift(u(a)?m.get(a):m.invoke(a))}),f(j,function(a,b){var c=u(a)?m.get(a):m.invoke(a);z.splice(b,0,{response:function(a){return c(k.when(a))},responseError:function(a){return c(k.reject(a))}})}),n.pendingRequests=[],o("get","delete","head","jsonp"),p("post","put"),n.defaults=g,n}]}function Zb(b){if(8>=rd&&(!b.match(/^(get|post|head|put|delete|options)$/i)||!a.XMLHttpRequest))return new a.ActiveXObject("Microsoft.XMLHTTP");if(a.XMLHttpRequest)return new a.XMLHttpRequest;throw d("$httpBackend")("noxhr","This browser does not support XMLHttpRequest.")}function $b(){this.$get=["$browser","$window","$document",function(a,b,c){return _b(a,Zb,a.defer,b.angular.callbacks,c[0])}]}function _b(a,b,c,d,e){function g(a,b,c){var f=e.createElement("script"),g=null;return f.type="text/javascript",f.src=a,f.async=!0,g=function(a){Kd(f,"load",g),Kd(f,"error",g),e.body.removeChild(f),f=null;var h=-1,i="unknown";a&&("load"!==a.type||d[b].called||(a={type:"error"}),i=a.type,h="error"===a.type?404:200),c&&c(h,i)},Jd(f,"load",g),Jd(f,"error",g),8>=rd&&(f.onreadystatechange=function(){u(f.readyState)&&/loaded|complete/.test(f.readyState)&&(f.onreadystatechange=null,g({type:"load"}))}),e.body.appendChild(f),g}var h=-1;return function(e,i,j,k,l,m,n,p){function q(){t=h,v&&v(),w&&w.abort()}function r(b,d,e,f,g){y&&c.cancel(y),v=w=null,0===d&&(d=e?200:"file"==Kc(i).protocol?404:0),d=1223===d?204:d,g=g||"",b(d,e,f,g),a.$$completeOutstandingRequest(o)}var t;if(a.$$incOutstandingRequestCount(),i=i||a.url(),"jsonp"==md(e)){var u="_"+(d.counter++).toString(36);d[u]=function(a){d[u].data=a,d[u].called=!0};var v=g(i.replace("JSON_CALLBACK","angular.callbacks."+u),u,function(a,b){r(k,a,d[u].data,"",b),d[u]=o})}else{var w=b(e);if(w.open(e,i,!0),f(l,function(a,b){s(a)&&w.setRequestHeader(b,a)}),w.onreadystatechange=function(){if(w&&4==w.readyState){var a=null,b=null,c="";t!==h&&(a=w.getAllResponseHeaders(),b="response"in w?w.response:w.responseText),t===h&&10>rd||(c=w.statusText),r(k,t||w.status,b,a,c)}},n&&(w.withCredentials=!0),p)try{w.responseType=p}catch(x){if("json"!==p)throw x}w.send(j||null)}if(m>0)var y=c(q,m);else D(m)&&m.then(q)}}function ac(){var a="{{",b="}}";this.startSymbol=function(b){return b?(a=b,this):a},this.endSymbol=function(a){return a?(b=a,this):b},this.$get=["$parse","$exceptionHandler","$sce",function(c,d,e){function f(f,i,j){for(var k,l,m,n,o=0,p=[],q=f.length,r=!1,s=[];q>o;)-1!=(k=f.indexOf(a,o))&&-1!=(l=f.indexOf(b,k+g))?(o!=k&&p.push(f.substring(o,k)),p.push(m=c(n=f.substring(k+g,l))),m.exp=n,o=l+h,r=!0):(o!=q&&p.push(f.substring(o)),o=q);if((q=p.length)||(p.push(""),q=1),j&&p.length>1)throw de("noconcat","Error while interpolating: {0}\nStrict Contextual Escaping disallows interpolations that concatenate multiple expressions when a trusted value is required. See http://docs.angularjs.org/api/ng.$sce",f);return!i||r?(s.length=q,m=function(a){try{for(var b,c=0,g=q;g>c;c++){if("function"==typeof(b=p[c]))if(b=b(a),b=j?e.getTrusted(j,b):e.valueOf(b),null==b)b="";else switch(typeof b){case"string":break;case"number":b=""+b;break;default:b=Q(b)}s[c]=b}return s.join("")}catch(h){var i=de("interr","Can't interpolate: {0}\n{1}",f,h.toString());d(i)}},m.exp=f,m.parts=p,m):void 0}var g=a.length,h=b.length;return f.startSymbol=function(){return a},f.endSymbol=function(){return b},f}]}function bc(){this.$get=["$rootScope","$window","$q",function(a,b,c){function d(d,f,g,h){var i=b.setInterval,j=b.clearInterval,k=c.defer(),l=k.promise,m=0,n=s(h)&&!h;return g=s(g)?g:0,l.then(null,null,d),l.$$intervalId=i(function(){k.notify(m++),g>0&&m>=g&&(k.resolve(m),j(l.$$intervalId),delete e[l.$$intervalId]),n||a.$apply()},f),e[l.$$intervalId]=k,l}var e={};return d.cancel=function(a){return a&&a.$$intervalId in e?(e[a.$$intervalId].reject("canceled"),b.clearInterval(a.$$intervalId),delete e[a.$$intervalId],!0):!1},d}]}function cc(){this.$get=function(){return{id:"en-us",NUMBER_FORMATS:{DECIMAL_SEP:".",GROUP_SEP:",",PATTERNS:[{minInt:1,minFrac:0,maxFrac:3,posPre:"",posSuf:"",negPre:"-",negSuf:"",gSize:3,lgSize:3},{minInt:1,minFrac:2,maxFrac:2,posPre:"¤",posSuf:"",negPre:"(¤",negSuf:")",gSize:3,lgSize:3}],CURRENCY_SYM:"$"},DATETIME_FORMATS:{MONTH:"January,February,March,April,May,June,July,August,September,October,November,December".split(","),SHORTMONTH:"Jan,Feb,Mar,Apr,May,Jun,Jul,Aug,Sep,Oct,Nov,Dec".split(","),DAY:"Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday".split(","),SHORTDAY:"Sun,Mon,Tue,Wed,Thu,Fri,Sat".split(","),AMPMS:["AM","PM"],medium:"MMM d, y h:mm:ss a","short":"M/d/yy h:mm a",fullDate:"EEEE, MMMM d, y",longDate:"MMMM d, y",mediumDate:"MMM d, y",shortDate:"M/d/yy",mediumTime:"h:mm:ss a",shortTime:"h:mm a"},pluralCat:function(a){return 1===a?"one":"other"}}}}function dc(a){for(var b=a.split("/"),c=b.length;c--;)b[c]=X(b[c]);return b.join("/")}function ec(a,b,c){var d=Kc(a,c);b.$$protocol=d.protocol,b.$$host=d.hostname,b.$$port=m(d.port)||fe[d.protocol]||null}function fc(a,b,c){var d="/"!==a.charAt(0);d&&(a="/"+a);var e=Kc(a,c);b.$$path=decodeURIComponent(d&&"/"===e.pathname.charAt(0)?e.pathname.substring(1):e.pathname),b.$$search=V(e.search),b.$$hash=decodeURIComponent(e.hash),b.$$path&&"/"!=b.$$path.charAt(0)&&(b.$$path="/"+b.$$path)}function gc(a,b){return 0===b.indexOf(a)?b.substr(a.length):void 0}function hc(a){var b=a.indexOf("#");return-1==b?a:a.substr(0,b)}function ic(a){return a.substr(0,hc(a).lastIndexOf("/")+1)}function jc(a){return a.substring(0,a.indexOf("/",a.indexOf("//")+2))}function kc(a,b){this.$$html5=!0,b=b||"";var d=ic(a);ec(a,this,a),this.$$parse=function(b){var c=gc(d,b);if(!u(c))throw ge("ipthprfx",'Invalid url "{0}", missing path prefix "{1}".',b,d);fc(c,this,a),this.$$path||(this.$$path="/"),this.$$compose()},this.$$compose=function(){var a=W(this.$$search),b=this.$$hash?"#"+X(this.$$hash):"";this.$$url=dc(this.$$path)+(a?"?"+a:"")+b,this.$$absUrl=d+this.$$url.substr(1)},this.$$rewrite=function(e){var f,g;return(f=gc(a,e))!==c?(g=f,(f=gc(b,f))!==c?d+(gc("/",f)||f):a+g):(f=gc(d,e))!==c?d+f:d==e+"/"?d:void 0}}function lc(a,b){var c=ic(a);ec(a,this,a),this.$$parse=function(d){function e(a,b,c){var d,e=/^\/[A-Z]:(\/.*)/;return 0===b.indexOf(c)&&(b=b.replace(c,"")),e.exec(b)?a:(d=e.exec(a),d?d[1]:a)}var f=gc(a,d)||gc(c,d),g="#"==f.charAt(0)?gc(b,f):this.$$html5?f:"";if(!u(g))throw ge("ihshprfx",'Invalid url "{0}", missing hash prefix "{1}".',d,b);fc(g,this,a),this.$$path=e(this.$$path,g,a),this.$$compose()},this.$$compose=function(){var c=W(this.$$search),d=this.$$hash?"#"+X(this.$$hash):"";this.$$url=dc(this.$$path)+(c?"?"+c:"")+d,this.$$absUrl=a+(this.$$url?b+this.$$url:"")},this.$$rewrite=function(b){return hc(a)==hc(b)?b:void 0}}function mc(a,b){this.$$html5=!0,lc.apply(this,arguments);var c=ic(a);this.$$rewrite=function(d){var e;return a==hc(d)?d:(e=gc(c,d))?a+b+e:c===d+"/"?c:void 0},this.$$compose=function(){var c=W(this.$$search),d=this.$$hash?"#"+X(this.$$hash):"";this.$$url=dc(this.$$path)+(c?"?"+c:"")+d,this.$$absUrl=a+b+this.$$url}}function nc(a){return function(){return this[a]}}function oc(a,b){return function(c){return r(c)?this[a]:(this[a]=b(c),this.$$compose(),this)}}function pc(){var b="",c=!1;this.hashPrefix=function(a){return s(a)?(b=a,this):b},this.html5Mode=function(a){return s(a)?(c=a,this):c},this.$get=["$rootScope","$browser","$sniffer","$rootElement",function(d,e,f,g){function h(a){d.$broadcast("$locationChangeSuccess",i.absUrl(),a)}var i,j,k,l=e.baseHref(),m=e.url();c?(k=jc(m)+(l||"/"),j=f.history?kc:mc):(k=hc(m),j=lc),i=new j(k,"#"+b),i.$$parse(i.$$rewrite(m));var n=/^\s*(javascript|mailto):/i;g.on("click",function(c){if(!c.ctrlKey&&!c.metaKey&&2!=c.which){for(var f=sd(c.target);"a"!==md(f[0].nodeName);)if(f[0]===g[0]||!(f=f.parent())[0])return;var h=f.prop("href");if(t(h)&&"[object SVGAnimatedString]"===h.toString()&&(h=Kc(h.animVal).href),!n.test(h)){if(j===mc){var l=f.attr("href")||f.attr("xlink:href");if(l&&l.indexOf("://")<0){var m="#"+b;if("/"==l[0])h=k+m+l;else if("#"==l[0])h=k+m+(i.path()||"/")+l;else{var o=i.path().split("/"),p=l.split("/");2!==o.length||o[1]||(o.length=1);for(var q=0;q1;i++){g=rc(h.shift(),e);var j=sc(a[g],e);j||(j={},a[g]=j),a=j,a.then&&f.unwrapPromises&&(he(e),"$$v"in a||!function(a){a.then(function(b){a.$$v=b})}(a),a.$$v===c&&(a.$$v={}),a=a.$$v)}return g=rc(h.shift(),e),sc(a[g],e),a[g]=d,d}function vc(a,b,d,e,f,g,h){return rc(a,g),rc(b,g),rc(d,g),rc(e,g),rc(f,g),h.unwrapPromises?function(h,i){var j,k=i&&i.hasOwnProperty(a)?i:h;return null==k?k:(k=k[a],k&&k.then&&(he(g),"$$v"in k||(j=k,j.$$v=c,j.then(function(a){j.$$v=a})),k=k.$$v),b?null==k?c:(k=k[b],k&&k.then&&(he(g),"$$v"in k||(j=k,j.$$v=c,j.then(function(a){j.$$v=a})),k=k.$$v),d?null==k?c:(k=k[d],k&&k.then&&(he(g),"$$v"in k||(j=k,j.$$v=c,j.then(function(a){j.$$v=a})),k=k.$$v),e?null==k?c:(k=k[e],k&&k.then&&(he(g),"$$v"in k||(j=k,j.$$v=c,j.then(function(a){j.$$v=a})),k=k.$$v),f?null==k?c:(k=k[f],k&&k.then&&(he(g),"$$v"in k||(j=k,j.$$v=c,j.then(function(a){j.$$v=a})),k=k.$$v),k):k):k):k):k)}:function(g,h){var i=h&&h.hasOwnProperty(a)?h:g;return null==i?i:(i=i[a],b?null==i?c:(i=i[b],d?null==i?c:(i=i[d],e?null==i?c:(i=i[e],f?null==i?c:i=i[f]:i):i):i):i)}}function wc(a,b,d){if(re.hasOwnProperty(a))return re[a];var e,g=a.split("."),h=g.length;if(b.csp)e=6>h?vc(g[0],g[1],g[2],g[3],g[4],d,b):function(a,e){var f,i=0;do f=vc(g[i++],g[i++],g[i++],g[i++],g[i++],d,b)(a,e),e=c,a=f;while(h>i);return f};else{var i="var p;\n";f(g,function(a,c){rc(a,d),i+="if(s == null) return undefined;\ns="+(c?"s":'((k&&k.hasOwnProperty("'+a+'"))?k:s)')+'["'+a+'"];\n'+(b.unwrapPromises?'if (s && s.then) {\n pw("'+d.replace(/(["\r\n])/g,"\\$1")+'");\n if (!("$$v" in s)) {\n p=s;\n p.$$v = undefined;\n p.then(function(v) {p.$$v=v;});\n}\n s=s.$$v\n}\n':"")}),i+="return s;";var j=new Function("s","k","pw",i);j.toString=q(i),e=b.unwrapPromises?function(a,b){return j(a,b,he)}:j}return"hasOwnProperty"!==a&&(re[a]=e),e}function xc(){var a={},b={csp:!1,unwrapPromises:!1,logPromiseWarnings:!0};this.unwrapPromises=function(a){return s(a)?(b.unwrapPromises=!!a,this):b.unwrapPromises},this.logPromiseWarnings=function(a){return s(a)?(b.logPromiseWarnings=a,this):b.logPromiseWarnings},this.$get=["$filter","$sniffer","$log",function(c,d,e){return b.csp=d.csp,he=function(a){b.logPromiseWarnings&&!je.hasOwnProperty(a)&&(je[a]=!0,e.warn("[$parse] Promise found in the expression `"+a+"`. Automatic unwrapping of promises in Angular expressions is deprecated."))},function(d){var e;switch(typeof d){case"string":if(a.hasOwnProperty(d))return a[d];var f=new pe(b),g=new qe(f,c,b);return e=g.parse(d),"hasOwnProperty"!==d&&(a[d]=e),e;case"function":return d;default:return o}}}]}function yc(){this.$get=["$rootScope","$exceptionHandler",function(a,b){return zc(function(b){a.$evalAsync(b)},b)}]}function zc(a,b){function d(a){return a}function e(a){return j(a)}function g(a){var b=h(),c=0,d=Cd(a)?[]:{};return f(a,function(a,e){c++,i(a).then(function(a){d.hasOwnProperty(e)||(d[e]=a,--c||b.resolve(d))},function(a){d.hasOwnProperty(e)||b.reject(a)})}),0===c&&b.resolve(d),b.promise}var h=function(){var f,g,j=[];return g={resolve:function(b){if(j){var d=j;j=c,f=i(b),d.length&&a(function(){for(var a,b=0,c=d.length;c>b;b++)a=d[b],f.then(a[0],a[1],a[2])})}},reject:function(a){g.resolve(k(a))},notify:function(b){if(j){var c=j;j.length&&a(function(){for(var a,d=0,e=c.length;e>d;d++)a=c[d],a[2](b)})}},promise:{then:function(a,c,g){var i=h(),k=function(c){try{i.resolve((x(a)?a:d)(c))}catch(e){i.reject(e),b(e)}},l=function(a){try{i.resolve((x(c)?c:e)(a))}catch(d){i.reject(d),b(d)}},m=function(a){try{i.notify((x(g)?g:d)(a))}catch(c){b(c)}};return j?j.push([k,l,m]):f.then(k,l,m),i.promise},"catch":function(a){return this.then(null,a)},"finally":function(a){function b(a,b){var c=h();return b?c.resolve(a):c.reject(a),c.promise}function c(c,e){var f=null;try{f=(a||d)()}catch(g){return b(g,!1)}return D(f)?f.then(function(){return b(c,e)},function(a){return b(a,!1)}):b(c,e)}return this.then(function(a){return c(a,!0)},function(a){return c(a,!1)})}}}},i=function(b){return D(b)?b:{then:function(c){var d=h();return a(function(){d.resolve(c(b))}),d.promise}}},j=function(a){var b=h();return b.reject(a),b.promise},k=function(c){return{then:function(d,f){var g=h();return a(function(){try{g.resolve((x(f)?f:e)(c))}catch(a){g.reject(a),b(a)}}),g.promise}}},l=function(c,f,g,k){var l,m=h(),n=function(a){try{return(x(f)?f:d)(a)}catch(c){return b(c),j(c)}},o=function(a){try{return(x(g)?g:e)(a)}catch(c){return b(c),j(c)}},p=function(a){try{return(x(k)?k:d)(a)}catch(c){b(c)}};return a(function(){i(c).then(function(a){l||(l=!0,m.resolve(i(a).then(n,o,p)))},function(a){l||(l=!0,m.resolve(o(a)))},function(a){l||m.notify(p(a))})}),m.promise};return{defer:h,reject:j,when:l,all:g}}function Ac(){this.$get=["$window","$timeout",function(a,b){var c=a.requestAnimationFrame||a.webkitRequestAnimationFrame||a.mozRequestAnimationFrame,d=a.cancelAnimationFrame||a.webkitCancelAnimationFrame||a.mozCancelAnimationFrame||a.webkitCancelRequestAnimationFrame,e=!!c,f=e?function(a){var b=c(a);return function(){d(b)}}:function(a){var c=b(a,16.66,!1);return function(){b.cancel(c)}};return f.supported=e,f}]}function Bc(){var a=10,b=d("$rootScope"),c=null;this.digestTtl=function(b){return arguments.length&&(a=b),a},this.$get=["$injector","$exceptionHandler","$parse","$browser",function(d,g,h,i){function k(){this.$id=j(),this.$$phase=this.$parent=this.$$watchers=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=null,this["this"]=this.$root=this,this.$$destroyed=!1,this.$$asyncQueue=[],this.$$postDigestQueue=[],this.$$listeners={},this.$$listenerCount={},this.$$isolateBindings={}}function l(a){if(r.$$phase)throw b("inprog","{0} already in progress",r.$$phase);r.$$phase=a}function m(){r.$$phase=null}function n(a,b){var c=h(a);return cb(c,b),c}function p(a,b,c){do a.$$listenerCount[c]-=b,0===a.$$listenerCount[c]&&delete a.$$listenerCount[c];while(a=a.$parent)}function q(){}k.prototype={constructor:k,$new:function(a){var b;return a?(b=new k,b.$root=this.$root,b.$$asyncQueue=this.$$asyncQueue,b.$$postDigestQueue=this.$$postDigestQueue):(this.$$childScopeClass||(this.$$childScopeClass=function(){this.$$watchers=this.$$nextSibling=this.$$childHead=this.$$childTail=null,this.$$listeners={},this.$$listenerCount={},this.$id=j(),this.$$childScopeClass=null},this.$$childScopeClass.prototype=this),b=new this.$$childScopeClass),b["this"]=b,b.$parent=this,b.$$prevSibling=this.$$childTail,this.$$childHead?(this.$$childTail.$$nextSibling=b,this.$$childTail=b):this.$$childHead=this.$$childTail=b,b},$watch:function(a,b,d){var e=this,f=n(a,"watch"),g=e.$$watchers,h={fn:b,last:q,get:f,exp:a,eq:!!d};if(c=null,!x(b)){var i=n(b||o,"listener");h.fn=function(a,b,c){i(c)}}if("string"==typeof a&&f.constant){var j=h.fn;h.fn=function(a,b,c){j.call(this,a,b,c),I(g,h)}}return g||(g=e.$$watchers=[]),g.unshift(h),function(){I(g,h),c=null}},$watchCollection:function(a,b){function c(){f=m(j);var a,b,c;if(t(f))if(e(f)){g!==n&&(g=n,q=g.length=0,l++),a=f.length,q!==a&&(l++,g.length=q=a);for(var d=0;a>d;d++)c=g[d]!==g[d]&&f[d]!==f[d],c||g[d]===f[d]||(l++,g[d]=f[d])}else{g!==o&&(g=o={},q=0,l++),a=0;for(b in f)f.hasOwnProperty(b)&&(a++,g.hasOwnProperty(b)?(c=g[b]!==g[b]&&f[b]!==f[b],c||g[b]===f[b]||(l++,g[b]=f[b])):(q++,g[b]=f[b],l++));if(q>a){l++;for(b in g)g.hasOwnProperty(b)&&!f.hasOwnProperty(b)&&(q--,delete g[b])}}else g!==f&&(g=f,l++);return l}function d(){if(p?(p=!1,b(f,f,j)):b(f,i,j),k)if(t(f))if(e(f)){i=new Array(f.length);for(var a=0;a1,l=0,m=h(a),n=[],o={},p=!0,q=0;return this.$watch(c,d)},$digest:function(){var d,e,f,h,j,k,n,o,p,r,s,t=this.$$asyncQueue,u=this.$$postDigestQueue,v=a,w=this,y=[];l("$digest"),i.$$checkUrlChange(),c=null;do{for(k=!1,o=w;t.length;){try{s=t.shift(),s.scope.$eval(s.expression)}catch(z){m(),g(z)}c=null}a:do{if(h=o.$$watchers)for(j=h.length;j--;)try{if(d=h[j])if((e=d.get(o))===(f=d.last)||(d.eq?L(e,f):"number"==typeof e&&"number"==typeof f&&isNaN(e)&&isNaN(f))){if(d===c){k=!1;break a}}else k=!0,c=d,d.last=d.eq?J(e,null):e,d.fn(e,f===q?e:f,o),5>v&&(p=4-v,y[p]||(y[p]=[]),r=x(d.exp)?"fn: "+(d.exp.name||d.exp.toString()):d.exp,r+="; newVal: "+Q(e)+"; oldVal: "+Q(f),y[p].push(r))}catch(z){m(),g(z)}if(!(n=o.$$childHead||o!==w&&o.$$nextSibling))for(;o!==w&&!(n=o.$$nextSibling);)o=o.$parent}while(o=n);if((k||t.length)&&!v--)throw m(),b("infdig","{0} $digest() iterations reached. Aborting!\nWatchers fired in the last 5 iterations: {1}",a,Q(y))}while(k||t.length);for(m();u.length;)try{u.shift()()}catch(z){g(z)}},$destroy:function(){if(!this.$$destroyed){var a=this.$parent;this.$broadcast("$destroy"),this.$$destroyed=!0,this!==r&&(f(this.$$listenerCount,O(null,p,this)),a.$$childHead==this&&(a.$$childHead=this.$$nextSibling),a.$$childTail==this&&(a.$$childTail=this.$$prevSibling),this.$$prevSibling&&(this.$$prevSibling.$$nextSibling=this.$$nextSibling),this.$$nextSibling&&(this.$$nextSibling.$$prevSibling=this.$$prevSibling),this.$parent=this.$$nextSibling=this.$$prevSibling=this.$$childHead=this.$$childTail=this.$root=null,this.$$listeners={},this.$$watchers=this.$$asyncQueue=this.$$postDigestQueue=[],this.$destroy=this.$digest=this.$apply=o,this.$on=this.$watch=function(){return o})}},$eval:function(a,b){return h(a)(this,b)},$evalAsync:function(a){r.$$phase||r.$$asyncQueue.length||i.defer(function(){r.$$asyncQueue.length&&r.$digest()}),this.$$asyncQueue.push({scope:this,expression:a})},$$postDigest:function(a){this.$$postDigestQueue.push(a)},$apply:function(a){try{return l("$apply"),this.$eval(a)}catch(b){g(b)}finally{m();try{r.$digest()}catch(b){throw g(b),b}}},$on:function(a,b){var c=this.$$listeners[a];c||(this.$$listeners[a]=c=[]),c.push(b);var d=this;do d.$$listenerCount[a]||(d.$$listenerCount[a]=0),d.$$listenerCount[a]++;while(d=d.$parent);var e=this;return function(){c[H(c,b)]=null,p(e,1,a)}},$emit:function(a){var b,c,d,e=[],f=this,h=!1,i={name:a,targetScope:f,stopPropagation:function(){h=!0},preventDefault:function(){i.defaultPrevented=!0},defaultPrevented:!1},j=M([i],arguments,1);do{for(b=f.$$listeners[a]||e,i.currentScope=f,c=0,d=b.length;d>c;c++)if(b[c])try{b[c].apply(null,j)}catch(k){g(k)}else b.splice(c,1),c--,d--;if(h)return i;f=f.$parent}while(f);return i},$broadcast:function(a){for(var b,c,d,e=this,f=e,h=e,i={name:a,targetScope:e,preventDefault:function(){i.defaultPrevented=!0},defaultPrevented:!1},j=M([i],arguments,1);f=h;){for(i.currentScope=f,b=f.$$listeners[a]||[],c=0,d=b.length;d>c;c++)if(b[c])try{b[c].apply(null,j)}catch(k){g(k)}else b.splice(c,1),c--,d--;if(!(h=f.$$listenerCount[a]&&f.$$childHead||f!==e&&f.$$nextSibling))for(;f!==e&&!(h=f.$$nextSibling);)f=f.$parent}return i}};var r=new k;return r}]}function Cc(){var a=/^\s*(https?|ftp|mailto|tel|file):/,b=/^\s*((https?|ftp|file):|data:image\/)/;this.aHrefSanitizationWhitelist=function(b){return s(b)?(a=b,this):a},this.imgSrcSanitizationWhitelist=function(a){return s(a)?(b=a,this):b},this.$get=function(){return function(c,d){var e,f=d?b:a;return rd&&!(rd>=8)||(e=Kc(c).href,""===e||e.match(f))?c:"unsafe:"+e}}}function Dc(a){return a.replace(/([-()\[\]{}+?*.$\^|,:#-1)throw se("iwcard","Illegal sequence *** in string matcher. String: {0}",a);return a=Dc(a).replace("\\*\\*",".*").replace("\\*","[^:/.?&;]*"),new RegExp("^"+a+"$")}if(y(a))return new RegExp("^"+a.source+"$");throw se("imatcher",'Matchers may only be "self", string patterns or RegExp objects')}function Fc(a){var b=[];return s(a)&&f(a,function(a){b.push(Ec(a))}),b}function Gc(){this.SCE_CONTEXTS=te;var a=["self"],b=[];this.resourceUrlWhitelist=function(b){return arguments.length&&(a=Fc(b)),a},this.resourceUrlBlacklist=function(a){return arguments.length&&(b=Fc(a)),b},this.$get=["$injector",function(d){function e(a,b){return"self"===a?Lc(b):!!a.exec(b.href)}function f(c){var d,f,g=Kc(c.toString()),h=!1;for(d=0,f=a.length;f>d;d++)if(e(a[d],g)){h=!0;break}if(h)for(d=0,f=b.length;f>d;d++)if(e(b[d],g)){h=!1;break}return h}function g(a){var b=function(a){this.$$unwrapTrustedValue=function(){return a}};return a&&(b.prototype=new a),b.prototype.valueOf=function(){return this.$$unwrapTrustedValue()},b.prototype.toString=function(){return this.$$unwrapTrustedValue().toString()},b}function h(a,b){var d=m.hasOwnProperty(a)?m[a]:null;if(!d)throw se("icontext","Attempted to trust a value in invalid context. Context: {0}; Value: {1}",a,b);if(null===b||b===c||""===b)return b;if("string"!=typeof b)throw se("itype","Attempted to trust a non-string value in a content requiring a string: Context: {0}",a);return new d(b)}function i(a){return a instanceof l?a.$$unwrapTrustedValue():a -}function j(a,b){if(null===b||b===c||""===b)return b;var d=m.hasOwnProperty(a)?m[a]:null;if(d&&b instanceof d)return b.$$unwrapTrustedValue();if(a===te.RESOURCE_URL){if(f(b))return b;throw se("insecurl","Blocked loading resource from url not allowed by $sceDelegate policy. URL: {0}",b.toString())}if(a===te.HTML)return k(b);throw se("unsafe","Attempting to use an unsafe value in a safe context.")}var k=function(){throw se("unsafe","Attempting to use an unsafe value in a safe context.")};d.has("$sanitize")&&(k=d.get("$sanitize"));var l=g(),m={};return m[te.HTML]=g(l),m[te.CSS]=g(l),m[te.URL]=g(l),m[te.JS]=g(l),m[te.RESOURCE_URL]=g(m[te.URL]),{trustAs:h,getTrusted:j,valueOf:i}}]}function Hc(){var a=!0;this.enabled=function(b){return arguments.length&&(a=!!b),a},this.$get=["$parse","$sniffer","$sceDelegate",function(b,c,d){if(a&&c.msie&&c.msieDocumentMode<8)throw se("iequirks","Strict Contextual Escaping does not support Internet Explorer version < 9 in quirks mode. You can fix this by adding the text to the top of your HTML document. See http://docs.angularjs.org/api/ng.$sce for more information.");var e=K(te);e.isEnabled=function(){return a},e.trustAs=d.trustAs,e.getTrusted=d.getTrusted,e.valueOf=d.valueOf,a||(e.trustAs=e.getTrusted=function(a,b){return b},e.valueOf=p),e.parseAs=function(a,c){var d=b(c);return d.literal&&d.constant?d:function(b,c){return e.getTrusted(a,d(b,c))}};var g=e.parseAs,h=e.getTrusted,i=e.trustAs;return f(te,function(a,b){var c=md(b);e[jb("parse_as_"+c)]=function(b){return g(a,b)},e[jb("get_trusted_"+c)]=function(b){return h(a,b)},e[jb("trust_as_"+c)]=function(b){return i(a,b)}}),e}]}function Ic(){this.$get=["$window","$document",function(a,b){var c,d,e={},f=m((/android (\d+)/.exec(md((a.navigator||{}).userAgent))||[])[1]),g=/Boxee/i.test((a.navigator||{}).userAgent),h=b[0]||{},i=h.documentMode,j=/^(Moz|webkit|O|ms)(?=[A-Z])/,k=h.body&&h.body.style,l=!1,n=!1;if(k){for(var o in k)if(d=j.exec(o)){c=d[0],c=c.substr(0,1).toUpperCase()+c.substr(1);break}c||(c="WebkitOpacity"in k&&"webkit"),l=!!("transition"in k||c+"Transition"in k),n=!!("animation"in k||c+"Animation"in k),!f||l&&n||(l=u(h.body.style.webkitTransition),n=u(h.body.style.webkitAnimation))}return{history:!(!a.history||!a.history.pushState||4>f||g),hashchange:"onhashchange"in a&&(!i||i>7),hasEvent:function(a){if("input"==a&&9==rd)return!1;if(r(e[a])){var b=h.createElement("div");e[a]="on"+a in b}return e[a]},csp:Ed(),vendorPrefix:c,transitions:l,animations:n,android:f,msie:rd,msieDocumentMode:i}}]}function Jc(){this.$get=["$rootScope","$browser","$q","$exceptionHandler",function(a,b,c,d){function e(e,g,h){var i,j=c.defer(),k=j.promise,l=s(h)&&!h;return i=b.defer(function(){try{j.resolve(e())}catch(b){j.reject(b),d(b)}finally{delete f[k.$$timeoutId]}l||a.$apply()},g),k.$$timeoutId=i,f[i]=j,k}var f={};return e.cancel=function(a){return a&&a.$$timeoutId in f?(f[a.$$timeoutId].reject("canceled"),delete f[a.$$timeoutId],b.defer.cancel(a.$$timeoutId)):!1},e}]}function Kc(a){var b=a;return rd&&(ue.setAttribute("href",b),b=ue.href),ue.setAttribute("href",b),{href:ue.href,protocol:ue.protocol?ue.protocol.replace(/:$/,""):"",host:ue.host,search:ue.search?ue.search.replace(/^\?/,""):"",hash:ue.hash?ue.hash.replace(/^#/,""):"",hostname:ue.hostname,port:ue.port,pathname:"/"===ue.pathname.charAt(0)?ue.pathname:"/"+ue.pathname}}function Lc(a){var b=u(a)?Kc(a):a;return b.protocol===ve.protocol&&b.host===ve.host}function Mc(){this.$get=q(a)}function Nc(a){function b(d,e){if(t(d)){var g={};return f(d,function(a,c){g[c]=b(c,a)}),g}return a.factory(d+c,e)}var c="Filter";this.register=b,this.$get=["$injector",function(a){return function(b){return a.get(b+c)}}],b("currency",Pc),b("date",Xc),b("filter",Oc),b("json",Yc),b("limitTo",Zc),b("lowercase",Ae),b("number",Qc),b("orderBy",$c),b("uppercase",Be)}function Oc(){return function(a,b,c){if(!Cd(a))return a;var d=typeof c,e=[];e.check=function(a){for(var b=0;b-1});var f=function(a,b){if("string"==typeof b&&"!"===b.charAt(0))return!f(a,b.substr(1));switch(typeof a){case"boolean":case"number":case"string":return c(a,b);case"object":switch(typeof b){case"object":return c(a,b);default:for(var d in a)if("$"!==d.charAt(0)&&f(a[d],b))return!0}return!1;case"array":for(var e=0;ea;a=Math.abs(a);var g=a+"",h="",i=[],j=!1;if(-1!==g.indexOf("e")){var k=g.match(/([\d\.]+)e(-?)(\d+)/);k&&"-"==k[2]&&k[3]>e+1?(g="0",a=0):(h=g,j=!0)}if(j)e>0&&a>-1&&1>a&&(h=a.toFixed(e));else{var l=(g.split(we)[1]||"").length;r(e)&&(e=Math.min(Math.max(b.minFrac,l),b.maxFrac)),a=+(Math.round(+(a.toString()+"e"+e)).toString()+"e"+-e),0===a&&(f=!1);var m=(""+a).split(we),n=m[0];m=m[1]||"";var o,p=0,q=b.lgSize,s=b.gSize;if(n.length>=q+s)for(p=n.length-q,o=0;p>o;o++)(p-o)%s===0&&0!==o&&(h+=c),h+=n.charAt(o);for(o=p;oa&&(d="-",a=-a),a=""+a;a.length0||f>-c)&&(f+=c),0===f&&-12==c&&(f=12),Sc(f,b,d)}}function Uc(a,b){return function(c,d){var e=c["get"+a](),f=od(b?"SHORT"+a:a);return d[f][e]}}function Vc(a){var b=-1*a.getTimezoneOffset(),c=b>=0?"+":"";return c+=Sc(Math[b>0?"floor":"ceil"](b/60),2)+Sc(Math.abs(b%60),2)}function Wc(a,b){return a.getHours()<12?b.AMPMS[0]:b.AMPMS[1]}function Xc(a){function b(a){var b;if(b=a.match(c)){var d=new Date(0),e=0,f=0,g=b[8]?d.setUTCFullYear:d.setFullYear,h=b[8]?d.setUTCHours:d.setHours;b[9]&&(e=m(b[9]+b[10]),f=m(b[9]+b[11])),g.call(d,m(b[1]),m(b[2])-1,m(b[3]));var i=m(b[4]||0)-e,j=m(b[5]||0)-f,k=m(b[6]||0),l=Math.round(1e3*parseFloat("0."+(b[7]||0)));return h.call(d,i,j,k,l),d}return a}var c=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/;return function(c,d){var e,g,h="",i=[];if(d=d||"mediumDate",d=a.DATETIME_FORMATS[d]||d,u(c)&&(c=ze.test(c)?m(c):b(c)),v(c)&&(c=new Date(c)),!w(c))return c;for(;d;)g=ye.exec(d),g?(i=M(i,g,1),d=i.pop()):(i.push(d),d=null);return f(i,function(b){e=xe[b],h+=e?e(c,a.DATETIME_FORMATS):b.replace(/(^'|'$)/g,"").replace(/''/g,"'")}),h}}function Yc(){return function(a){return Q(a,!0)}}function Zc(){return function(a,b){if(!Cd(a)&&!u(a))return a;if(b=1/0===Math.abs(Number(b))?Number(b):m(b),u(a))return b?b>=0?a.slice(0,b):a.slice(b,a.length):"";var c,d,e=[];for(b>a.length?b=a.length:b<-a.length&&(b=-a.length),b>0?(c=0,d=b):(c=a.length+b,d=a.length);d>c;c++)e.push(a[c]);return e}}function $c(a){return function(b,c,d){function f(a,b){for(var d=0;da?-1:1):d>c?-1:1}if(!e(b))return b;if(!c)return b;c=Cd(c)?c:[c],c=F(c,function(b){var c=!1,d=b||p;if(u(b)&&(("+"==b.charAt(0)||"-"==b.charAt(0))&&(c="-"==b.charAt(0),b=b.substring(1)),d=a(b),d.constant)){var e=d();return g(function(a,b){return h(a[e],b[e])},c)}return g(function(a,b){return h(d(a),d(b))},c)});for(var i=[],j=0;j15&&19>b||b>=37&&40>=b||p()}),f.hasEvent("paste")&&b.on("paste cut",p)}b.on("change",n),e.$render=function(){b.val(e.$isEmpty(e.$viewValue)?"":e.$viewValue)};var q,r,s=c.ngPattern;if(s){var t=function(a,b){return bd(e,"pattern",e.$isEmpty(b)||a.test(b),b)};r=s.match(/^\/(.*)\/([gim]*)$/),r?(s=new RegExp(r[1],r[2]),q=function(a){return t(s,a)}):q=function(c){var e=a.$eval(s);if(!e||!e.test)throw d("ngPattern")("noregexp","Expected {0} to be a RegExp but was {1}. Element: {2}",s,e,T(b));return t(e,c)},e.$formatters.push(q),e.$parsers.push(q)}if(c.ngMinlength){var u=m(c.ngMinlength),v=function(a){return bd(e,"minlength",e.$isEmpty(a)||a.length>=u,a)};e.$parsers.push(v),e.$formatters.push(v)}if(c.ngMaxlength){var w=m(c.ngMaxlength),x=function(a){return bd(e,"maxlength",e.$isEmpty(a)||a.length<=w,a)};e.$parsers.push(x),e.$formatters.push(x)}}function fd(a,b,d,e,f,g){if(ed(a,b,d,e,f,g),e.$parsers.push(function(a){var b=e.$isEmpty(a);return b||Ke.test(a)?(e.$setValidity("number",!0),""===a?null:b?a:parseFloat(a)):(e.$setValidity("number",!1),c)}),dd(e,"number",Me,null,e.$$validityState),e.$formatters.push(function(a){return e.$isEmpty(a)?"":""+a}),d.min){var h=function(a){var b=parseFloat(d.min);return bd(e,"min",e.$isEmpty(a)||a>=b,a)};e.$parsers.push(h),e.$formatters.push(h)}if(d.max){var i=function(a){var b=parseFloat(d.max);return bd(e,"max",e.$isEmpty(a)||b>=a,a)};e.$parsers.push(i),e.$formatters.push(i)}e.$formatters.push(function(a){return bd(e,"number",e.$isEmpty(a)||v(a),a)})}function gd(a,b,c,d,e,f){ed(a,b,c,d,e,f);var g=function(a){return bd(d,"url",d.$isEmpty(a)||Ie.test(a),a)};d.$formatters.push(g),d.$parsers.push(g)}function hd(a,b,c,d,e,f){ed(a,b,c,d,e,f);var g=function(a){return bd(d,"email",d.$isEmpty(a)||Je.test(a),a)};d.$formatters.push(g),d.$parsers.push(g)}function id(a,b,c,d){r(c.name)&&b.attr("name",j()),b.on("click",function(){b[0].checked&&a.$apply(function(){d.$setViewValue(c.value)})}),d.$render=function(){var a=c.value;b[0].checked=a==d.$viewValue},c.$observe("value",d.$render)}function jd(a,b,c,d){var e=c.ngTrueValue,f=c.ngFalseValue;u(e)||(e=!0),u(f)||(f=!1),b.on("click",function(){a.$apply(function(){d.$setViewValue(b[0].checked)})}),d.$render=function(){b[0].checked=d.$viewValue},d.$isEmpty=function(a){return a!==e},d.$formatters.push(function(a){return a===e}),d.$parsers.push(function(a){return a?e:f})}function kd(a,b){return a="ngClass"+a,["$animate",function(c){function d(a,b){var c=[];a:for(var d=0;d0||c[a])&&(c[a]=(c[a]||0)+b,c[a]===+(b>0)&&d.push(a))}),h.data("$classCounts",c),d.join(" ")}function m(a,b){var e=d(b,a),f=d(a,b);f=l(f,-1),e=l(e,1),0===e.length?c.removeClass(h,f):0===f.length?c.addClass(h,e):c.setClass(h,e,f)}function n(a){if(b===!0||g.$index%2===b){var c=e(a||[]);if(o){if(!L(a,o)){var d=e(o);m(d,c)}}else j(c)}o=K(a)}var o;g.$watch(i[a],n,!0),i.$observe("class",function(){n(g.$eval(i[a]))}),"ngClass"!==a&&g.$watch("$index",function(c,d){var f=1&c;if(f!==(1&d)){var h=e(g.$eval(i[a]));f===b?j(h):k(h)}})}}}]}var ld="validity",md=function(a){return u(a)?a.toLowerCase():a},nd=Object.prototype.hasOwnProperty,od=function(a){return u(a)?a.toUpperCase():a},pd=function(a){return u(a)?a.replace(/[A-Z]/g,function(a){return String.fromCharCode(32|a.charCodeAt(0))}):a},qd=function(a){return u(a)?a.replace(/[a-z]/g,function(a){return String.fromCharCode(-33&a.charCodeAt(0))}):a};"i"!=="I".toLowerCase()&&(md=pd,od=qd);var rd,sd,td,ud,vd,wd=[].slice,xd=[].push,yd=Object.prototype.toString,zd=d("ng"),Ad=a.angular||(a.angular={}),Bd=["0","0","0"];rd=m((/msie (\d+)/.exec(md(navigator.userAgent))||[])[1]),isNaN(rd)&&(rd=m((/trident\/.*; rv:(\d+)/.exec(md(navigator.userAgent))||[])[1])),o.$inject=[],p.$inject=[];var Cd=function(){return x(Array.isArray)?Array.isArray:function(a){return"[object Array]"===yd.call(a)}}(),Dd=function(){return String.prototype.trim?function(a){return u(a)?a.trim():a}:function(a){return u(a)?a.replace(/^\s\s*/,"").replace(/\s\s*$/,""):a}}();vd=9>rd?function(a){return a=a.nodeName?a:a[0],a.scopeName&&"HTML"!=a.scopeName?od(a.scopeName+":"+a.nodeName):a.nodeName}:function(a){return a.nodeName?a.nodeName:a[0].nodeName};var Ed=function(){if(s(Ed.isActive_))return Ed.isActive_;var a=!(!b.querySelector("[ng-csp]")&&!b.querySelector("[data-ng-csp]"));if(!a)try{new Function("")}catch(c){a=!0}return Ed.isActive_=a},Fd=/[A-Z]/g,Gd={full:"1.2.26",major:1,minor:2,dot:26,codeName:"captivating-disinterest"};ob.expando="ng339";var Hd=ob.cache={},Id=1,Jd=a.document.addEventListener?function(a,b,c){a.addEventListener(b,c,!1)}:function(a,b,c){a.attachEvent("on"+b,c)},Kd=a.document.removeEventListener?function(a,b,c){a.removeEventListener(b,c,!1)}:function(a,b,c){a.detachEvent("on"+b,c)},Ld=(ob._data=function(a){return this.cache[a[this.expando]]||{}},/([\:\-\_]+(.))/g),Md=/^moz([A-Z])/,Nd=d("jqLite"),Od=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,Pd=/<|&#?\w+;/,Qd=/<([\w:]+)/,Rd=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,Sd={option:[1,'"],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};Sd.optgroup=Sd.option,Sd.tbody=Sd.tfoot=Sd.colgroup=Sd.caption=Sd.thead,Sd.th=Sd.td;var Td=ob.prototype={ready:function(c){function d(){e||(e=!0,c())}var e=!1;"complete"===b.readyState?setTimeout(d):(this.on("DOMContentLoaded",d),ob(a).on("load",d))},toString:function(){var a=[];return f(this,function(b){a.push(""+b)}),"["+a.join(", ")+"]"},eq:function(a){return sd(a>=0?this[a]:this[this.length+a])},length:0,push:xd,sort:[].sort,splice:[].splice},Ud={};f("multiple,selected,checked,disabled,readOnly,required,open".split(","),function(a){Ud[md(a)]=a});var Vd={};f("input,select,option,textarea,button,form,details".split(","),function(a){Vd[od(a)]=!0}),f({data:ub,removeData:sb},function(a,b){ob[b]=a}),f({data:ub,inheritedData:Ab,scope:function(a){return sd.data(a,"$scope")||Ab(a.parentNode||a,["$isolateScope","$scope"])},isolateScope:function(a){return sd.data(a,"$isolateScope")||sd.data(a,"$isolateScopeNoTemplate")},controller:zb,injector:function(a){return Ab(a,"$injector")},removeAttr:function(a,b){a.removeAttribute(b)},hasClass:vb,css:function(a,b,d){if(b=jb(b),!s(d)){var e;return 8>=rd&&(e=a.currentStyle&&a.currentStyle[b],""===e&&(e="auto")),e=e||a.style[b],8>=rd&&(e=""===e?c:e),e}a.style[b]=d},attr:function(a,b,d){var e=md(b);if(Ud[e]){if(!s(d))return a[b]||(a.attributes.getNamedItem(b)||o).specified?e:c;d?(a[b]=!0,a.setAttribute(b,e)):(a[b]=!1,a.removeAttribute(e))}else if(s(d))a.setAttribute(b,d);else if(a.getAttribute){var f=a.getAttribute(b,2);return null===f?c:f}},prop:function(a,b,c){return s(c)?void(a[b]=c):a[b]},text:function(){function a(a,c){var d=b[a.nodeType];return r(c)?d?a[d]:"":void(a[d]=c)}var b=[];return 9>rd?(b[1]="innerText",b[3]="nodeValue"):b[1]=b[3]="textContent",a.$dv="",a}(),val:function(a,b){if(r(b)){if("SELECT"===vd(a)&&a.multiple){var c=[];return f(a.options,function(a){a.selected&&c.push(a.value||a.text)}),0===c.length?null:c}return a.value}a.value=b},html:function(a,b){if(r(b))return a.innerHTML;for(var c=0,d=a.childNodes;ce;e++)if(a===ub)a(this[e],b);else for(f in b)a(this[e],f,b[f]);return this}for(var h=a.$dv,i=h===c?Math.min(g,1):g,j=0;i>j;j++){var k=a(this[j],b,d);h=h?h+k:k}return h}for(e=0;g>e;e++)a(this[e],b,d);return this}}),f({removeData:sb,dealoc:qb,on:function Cf(a,c,d,e){if(s(e))throw Nd("onargs","jqLite#on() does not support the `selector` or `eventData` parameters");var g=tb(a,"events"),h=tb(a,"handle");g||tb(a,"events",g={}),h||tb(a,"handle",h=Db(a,g)),f(c.split(" "),function(c){var e=g[c];if(!e){if("mouseenter"==c||"mouseleave"==c){var f=b.body.contains||b.body.compareDocumentPosition?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)for(;b=b.parentNode;)if(b===a)return!0;return!1};g[c]=[];var i={mouseleave:"mouseout",mouseenter:"mouseover"};Cf(a,i[c],function(a){var b=this,d=a.relatedTarget;(!d||d!==b&&!f(b,d))&&h(a,c)})}else Jd(a,c,h),g[c]=[];e=g[c]}e.push(d)})},off:rb,one:function(a,b,c){a=sd(a),a.on(b,function d(){a.off(b,c),a.off(b,d)}),a.on(b,c)},replaceWith:function(a,b){var c,d=a.parentNode;qb(a),f(new ob(b),function(b){c?d.insertBefore(b,c.nextSibling):d.replaceChild(b,a),c=b})},children:function(a){var b=[];return f(a.childNodes,function(a){1===a.nodeType&&b.push(a)}),b},contents:function(a){return a.contentDocument||a.childNodes||[]},append:function(a,b){f(new ob(b),function(b){(1===a.nodeType||11===a.nodeType)&&a.appendChild(b)})},prepend:function(a,b){if(1===a.nodeType){var c=a.firstChild;f(new ob(b),function(b){a.insertBefore(b,c)})}},wrap:function(a,b){b=sd(b)[0];var c=a.parentNode;c&&c.replaceChild(b,a),b.appendChild(a)},remove:function(a){qb(a);var b=a.parentNode;b&&b.removeChild(a)},after:function(a,b){var c=a,d=a.parentNode;f(new ob(b),function(a){d.insertBefore(a,c.nextSibling),c=a})},addClass:xb,removeClass:wb,toggleClass:function(a,b,c){b&&f(b.split(" "),function(b){var d=c;r(d)&&(d=!vb(a,b)),(d?xb:wb)(a,b)})},parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},next:function(a){if(a.nextElementSibling)return a.nextElementSibling;for(var b=a.nextSibling;null!=b&&1!==b.nodeType;)b=b.nextSibling;return b},find:function(a,b){return a.getElementsByTagName?a.getElementsByTagName(b):[]},clone:pb,triggerHandler:function(a,b,c){var d,e,g,h=b.type||b,i=(tb(a,"events")||{})[h];i&&(d={preventDefault:function(){this.defaultPrevented=!0},isDefaultPrevented:function(){return this.defaultPrevented===!0},stopPropagation:o,type:h,target:a},b.type&&(d=l(d,b)),e=K(i),g=c?[d].concat(c):[d],f(e,function(b){b.apply(a,g)}))}},function(a,b){ob.prototype[b]=function(b,c,d){for(var e,f=0;f":function(a,b,c,d){return c(a,b)>d(a,b)},"<=":function(a,b,c,d){return c(a,b)<=d(a,b)},">=":function(a,b,c,d){return c(a,b)>=d(a,b)},"&&":function(a,b,c,d){return c(a,b)&&d(a,b)},"||":function(a,b,c,d){return c(a,b)||d(a,b)},"&":function(a,b,c,d){return c(a,b)&d(a,b)},"|":function(a,b,c,d){return d(a,b)(a,b,c(a,b))},"!":function(a,b,c){return!c(a,b)}},oe={n:"\n",f:"\f",r:"\r",t:" ",v:" ","'":"'",'"':'"'},pe=function(a){this.options=a};pe.prototype={constructor:pe,lex:function(a){for(this.text=a,this.index=0,this.ch=c,this.lastCh=":",this.tokens=[];this.index="0"&&"9">=a},isWhitespace:function(a){return" "===a||"\r"===a||" "===a||"\n"===a||" "===a||" "===a},isIdent:function(a){return a>="a"&&"z">=a||a>="A"&&"Z">=a||"_"===a||"$"===a},isExpOperator:function(a){return"-"===a||"+"===a||this.isNumber(a)},throwError:function(a,b,c){c=c||this.index;var d=s(b)?"s "+b+"-"+this.index+" ["+this.text.substring(b,c)+"]":" "+c;throw ie("lexerr","Lexer Error: {0} at column{1} in expression [{2}].",a,d,this.text)},readNumber:function(){for(var a="",b=this.index;this.index0){var e=this.tokens[0],f=e.text;if(f===a||f===b||f===c||f===d||!a&&!b&&!c&&!d)return e}return!1},expect:function(a,b,c,d){var e=this.peek(a,b,c,d);return e?(this.tokens.shift(),e):!1},consume:function(a){this.expect(a)||this.throwError("is unexpected, expecting ["+a+"]",this.peek())},unaryFn:function(a,b){return l(function(c,d){return a(c,d,b)},{constant:b.constant})},ternaryFn:function(a,b,c){return l(function(d,e){return a(d,e)?b(d,e):c(d,e)},{constant:a.constant&&b.constant&&c.constant})},binaryFn:function(a,b,c){return l(function(d,e){return b(d,e,a,c)},{constant:a.constant&&c.constant})},statements:function(){for(var a=[];;)if(this.tokens.length>0&&!this.peek("}",")",";","]")&&a.push(this.filterChain()),!this.expect(";"))return 1===a.length?a[0]:function(b,c){for(var d,e=0;e","<=",">="))&&(b=this.binaryFn(b,a.fn,this.relational())),b},additive:function(){for(var a,b=this.multiplicative();a=this.expect("+","-");)b=this.binaryFn(b,a.fn,this.multiplicative());return b},multiplicative:function(){for(var a,b=this.unary();a=this.expect("*","/","%");)b=this.binaryFn(b,a.fn,this.unary());return b},unary:function(){var a;return this.expect("+")?this.primary():(a=this.expect("-"))?this.binaryFn(qe.ZERO,a.fn,this.unary()):(a=this.expect("!"))?this.unaryFn(a.fn,this.unary()):this.primary() -},fieldAccess:function(a){var b=this,c=this.expect().text,d=wc(c,this.options,this.text);return l(function(b,c,e){return d(e||a(b,c))},{assign:function(d,e,f){var g=a(d,f);return g||a.assign(d,g={}),uc(g,c,e,b.text,b.options)}})},objectIndex:function(a){var b=this,d=this.expression();return this.consume("]"),l(function(e,f){var g,h,i=a(e,f),j=d(e,f);return rc(j,b.text),i?(g=sc(i[j],b.text),g&&g.then&&b.options.unwrapPromises&&(h=g,"$$v"in g||(h.$$v=c,h.then(function(a){h.$$v=a})),g=g.$$v),g):c},{assign:function(c,e,f){var g=rc(d(c,f),b.text),h=sc(a(c,f),b.text);return h||a.assign(c,h={}),h[g]=e}})},functionCall:function(a,b){var c=[];if(")"!==this.peekToken().text)do c.push(this.expression());while(this.expect(","));this.consume(")");var d=this;return function(e,f){for(var g=[],h=b?b(e,f):e,i=0;i=rd&&(c.href||c.name||c.$set("href",""),a.append(b.createComment("IE fix"))),c.href||c.xlinkHref||c.name?void 0:function(a,b){var c="[object SVGAnimatedString]"===yd.call(b.prop("href"))?"xlink:href":"href";b.on("click",function(a){b.attr(c)||a.preventDefault()})}}}),De={};f(Ud,function(a,b){if("multiple"!=a){var c=Pb("ng-"+b);De[c]=function(){return{priority:100,link:function(a,d,e){a.$watch(e[c],function(a){e.$set(b,!!a)})}}}}}),f(["src","srcset","href"],function(a){var b=Pb("ng-"+a);De[b]=function(){return{priority:99,link:function(c,d,e){var f=a,g=a;"href"===a&&"[object SVGAnimatedString]"===yd.call(d.prop("href"))&&(g="xlinkHref",e.$attr[g]="xlink:href",f=null),e.$observe(b,function(b){return b?(e.$set(g,b),void(rd&&f&&d.prop(f,e[g]))):void("href"===a&&e.$set(g,null))})}}}});var Ee={$addControl:o,$removeControl:o,$setValidity:o,$setDirty:o,$setPristine:o};ad.$inject=["$element","$attrs","$scope","$animate"];var Fe=function(a){return["$timeout",function(b){var d={name:"form",restrict:a?"EAC":"E",controller:ad,compile:function(){return{pre:function(a,d,e,f){if(!e.action){var g=function(a){a.preventDefault?a.preventDefault():a.returnValue=!1};Jd(d[0],"submit",g),d.on("$destroy",function(){b(function(){Kd(d[0],"submit",g)},0,!1)})}var h=d.parent().controller("form"),i=e.name||e.ngForm;i&&uc(a,i,f,i),h&&d.on("$destroy",function(){h.$removeControl(f),i&&uc(a,i,c,i),l(f,Ee)})}}}};return d}]},Ge=Fe(),He=Fe(!0),Ie=/^(ftp|http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?$/,Je=/^[a-z0-9!#$%&'*+\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i,Ke=/^\s*(\-|\+)?(\d+|(\d*(\.\d*)))\s*$/,Le={text:ed,number:fd,url:gd,email:hd,radio:id,checkbox:jd,hidden:o,button:o,submit:o,reset:o,file:o},Me=["badInput"],Ne=["$browser","$sniffer",function(a,b){return{restrict:"E",require:"?ngModel",link:function(c,d,e,f){f&&(Le[md(e.type)]||Le.text)(c,d,e,f,b,a)}}}],Oe="ng-valid",Pe="ng-invalid",Qe="ng-pristine",Re="ng-dirty",Se=["$scope","$exceptionHandler","$attrs","$element","$parse","$animate",function(a,b,c,e,g,h){function i(a,b){b=b?"-"+_(b,"-"):"",h.removeClass(e,(a?Pe:Oe)+b),h.addClass(e,(a?Oe:Pe)+b)}this.$viewValue=Number.NaN,this.$modelValue=Number.NaN,this.$parsers=[],this.$formatters=[],this.$viewChangeListeners=[],this.$pristine=!0,this.$dirty=!1,this.$valid=!0,this.$invalid=!1,this.$name=c.name;var j=g(c.ngModel),k=j.assign;if(!k)throw d("ngModel")("nonassign","Expression '{0}' is non-assignable. Element: {1}",c.ngModel,T(e));this.$render=o,this.$isEmpty=function(a){return r(a)||""===a||null===a||a!==a};var l=e.inheritedData("$formController")||Ee,m=0,n=this.$error={};e.addClass(Qe),i(!0),this.$setValidity=function(a,b){n[a]!==!b&&(b?(n[a]&&m--,m||(i(!0),this.$valid=!0,this.$invalid=!1)):(i(!1),this.$invalid=!0,this.$valid=!1,m++),n[a]=!b,i(b,a),l.$setValidity(a,b,this))},this.$setPristine=function(){this.$dirty=!1,this.$pristine=!0,h.removeClass(e,Re),h.addClass(e,Qe)},this.$setViewValue=function(c){this.$viewValue=c,this.$pristine&&(this.$dirty=!0,this.$pristine=!1,h.removeClass(e,Qe),h.addClass(e,Re),l.$setDirty()),f(this.$parsers,function(a){c=a(c)}),this.$modelValue!==c&&(this.$modelValue=c,k(a,c),f(this.$viewChangeListeners,function(a){try{a()}catch(c){b(c)}}))};var p=this;a.$watch(function(){var b=j(a);if(p.$modelValue!==b){var c=p.$formatters,d=c.length;for(p.$modelValue=b;d--;)b=c[d](b);p.$viewValue!==b&&(p.$viewValue=b,p.$render())}return b})}],Te=function(){return{require:["ngModel","^?form"],controller:Se,link:function(a,b,c,d){var e=d[0],f=d[1]||Ee;f.$addControl(e),a.$on("$destroy",function(){f.$removeControl(e)})}}},Ue=q({require:"ngModel",link:function(a,b,c,d){d.$viewChangeListeners.push(function(){a.$eval(c.ngChange)})}}),Ve=function(){return{require:"?ngModel",link:function(a,b,c,d){if(d){c.required=!0;var e=function(a){return c.required&&d.$isEmpty(a)?void d.$setValidity("required",!1):(d.$setValidity("required",!0),a)};d.$formatters.push(e),d.$parsers.unshift(e),c.$observe("required",function(){e(d.$viewValue)})}}}},We=function(){return{require:"ngModel",link:function(a,b,d,e){var g=/\/(.*)\//.exec(d.ngList),h=g&&new RegExp(g[1])||d.ngList||",",i=function(a){if(!r(a)){var b=[];return a&&f(a.split(h),function(a){a&&b.push(Dd(a))}),b}};e.$parsers.push(i),e.$formatters.push(function(a){return Cd(a)?a.join(", "):c}),e.$isEmpty=function(a){return!a||!a.length}}}},Xe=/^(true|false|\d+)$/,Ye=function(){return{priority:100,compile:function(a,b){return Xe.test(b.ngValue)?function(a,b,c){c.$set("value",a.$eval(c.ngValue))}:function(a,b,c){a.$watch(c.ngValue,function(a){c.$set("value",a)})}}}},Ze=_c({compile:function(a){return a.addClass("ng-binding"),function(a,b,d){b.data("$binding",d.ngBind),a.$watch(d.ngBind,function(a){b.text(a==c?"":a)})}}}),$e=["$interpolate",function(a){return function(b,c,d){var e=a(c.attr(d.$attr.ngBindTemplate));c.addClass("ng-binding").data("$binding",e),d.$observe("ngBindTemplate",function(a){c.text(a)})}}],_e=["$sce","$parse",function(a,b){return{compile:function(c){return c.addClass("ng-binding"),function(c,d,e){function f(){return(g(c)||"").toString()}d.data("$binding",e.ngBindHtml);var g=b(e.ngBindHtml);c.$watch(f,function(){d.html(a.getTrustedHtml(g(c))||"")})}}}}],af=kd("",!0),bf=kd("Odd",0),cf=kd("Even",1),df=_c({compile:function(a,b){b.$set("ngCloak",c),a.removeClass("ng-cloak")}}),ef=[function(){return{scope:!0,controller:"@",priority:500}}],ff={},gf={blur:!0,focus:!0};f("click dblclick mousedown mouseup mouseover mouseout mousemove mouseenter mouseleave keydown keyup keypress submit focus blur copy cut paste".split(" "),function(a){var b=Pb("ng-"+a);ff[b]=["$parse","$rootScope",function(c,d){return{compile:function(e,f){var g=c(f[b]);return function(b,c){c.on(a,function(c){var e=function(){g(b,{$event:c})};gf[a]&&d.$$phase?b.$evalAsync(e):b.$apply(e)})}}}}]});var hf=["$animate",function(a){return{transclude:"element",priority:600,terminal:!0,restrict:"A",$$tlb:!0,link:function(c,d,e,f,g){var h,i,j;c.$watch(e.ngIf,function(f){S(f)?i||(i=c.$new(),g(i,function(c){c[c.length++]=b.createComment(" end ngIf: "+e.ngIf+" "),h={clone:c},a.enter(c,d.parent(),d)})):(j&&(j.remove(),j=null),i&&(i.$destroy(),i=null),h&&(j=fb(h.clone),a.leave(j,function(){j=null}),h=null))})}}}],jf=["$http","$templateCache","$anchorScroll","$animate","$sce",function(a,b,c,d,e){return{restrict:"ECA",priority:400,terminal:!0,transclude:"element",controller:Ad.noop,compile:function(f,g){var h=g.ngInclude||g.src,i=g.onload||"",j=g.autoscroll;return function(f,g,k,l,m){var n,o,p,q=0,r=function(){o&&(o.remove(),o=null),n&&(n.$destroy(),n=null),p&&(d.leave(p,function(){o=null}),o=p,p=null)};f.$watch(e.parseAsResourceUrl(h),function(e){var h=function(){!s(j)||j&&!f.$eval(j)||c()},k=++q;e?(a.get(e,{cache:b}).success(function(a){if(k===q){var b=f.$new();l.template=a;var c=m(b,function(a){r(),d.enter(a,null,g,h)});n=b,p=c,n.$emit("$includeContentLoaded"),f.$eval(i)}}).error(function(){k===q&&r()}),f.$emit("$includeContentRequested")):(r(),l.template=null)})}}}}],kf=["$compile",function(a){return{restrict:"ECA",priority:-400,require:"ngInclude",link:function(b,c,d,e){c.html(e.template),a(c.contents())(b)}}}],lf=_c({priority:450,compile:function(){return{pre:function(a,b,c){a.$eval(c.ngInit)}}}}),mf=_c({terminal:!0,priority:1e3}),nf=["$locale","$interpolate",function(a,b){var c=/{}/g;return{restrict:"EA",link:function(d,e,g){var h=g.count,i=g.$attr.when&&e.attr(g.$attr.when),j=g.offset||0,k=d.$eval(i)||{},l={},m=b.startSymbol(),n=b.endSymbol(),o=/^when(Minus)?(.+)$/;f(g,function(a,b){o.test(b)&&(k[md(b.replace("when","").replace("Minus","-"))]=e.attr(g.$attr[b]))}),f(k,function(a,d){l[d]=b(a.replace(c,m+h+"-"+j+n))}),d.$watch(function(){var b=parseFloat(d.$eval(h));return isNaN(b)?"":(b in k||(b=a.pluralCat(b-j)),l[b](d,e,!0))},function(a){e.text(a)})}}}],of=["$parse","$animate",function(a,c){function g(a){return a.clone[0]}function h(a){return a.clone[a.clone.length-1]}var i="$$NG_REMOVED",j=d("ngRepeat");return{transclude:"element",priority:1e3,terminal:!0,$$tlb:!0,link:function(d,k,l,m,n){var o,p,q,r,s,t,u,v,w,x=l.ngRepeat,y=x.match(/^\s*([\s\S]+?)\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?\s*$/),z={$id:Eb};if(!y)throw j("iexp","Expected expression in form of '_item_ in _collection_[ track by _id_]' but got '{0}'.",x);if(t=y[1],u=y[2],o=y[3],o?(p=a(o),q=function(a,b,c){return w&&(z[w]=a),z[v]=b,z.$index=c,p(d,z)}):(r=function(a,b){return Eb(b)},s=function(a){return a}),y=t.match(/^(?:([\$\w]+)|\(([\$\w]+)\s*,\s*([\$\w]+)\))$/),!y)throw j("iidexp","'_item_' in '_item_ in _collection_' should be an identifier or '(_key_, _value_)' expression, but got '{0}'.",t);v=y[3]||y[1],w=y[2];var A={};d.$watchCollection(u,function(a){var l,m,o,p,t,u,y,z,B,C,D,E,F=k[0],G={},H=[];if(e(a))C=a,B=q||r;else{B=q||s,C=[];for(u in a)a.hasOwnProperty(u)&&"$"!=u.charAt(0)&&C.push(u);C.sort()}for(p=C.length,m=H.length=C.length,l=0;m>l;l++)if(u=a===C?l:C[l],y=a[u],z=B(u,y,l),db(z,"`track by` id"),A.hasOwnProperty(z))D=A[z],delete A[z],G[z]=D,H[l]=D;else{if(G.hasOwnProperty(z))throw f(H,function(a){a&&a.scope&&(A[a.id]=a)}),j("dupes","Duplicates in a repeater are not allowed. Use 'track by' expression to specify unique keys. Repeater: {0}, Duplicate key: {1}, Duplicate value: {2}",x,z,Q(y));H[l]={id:z},G[z]=!1}for(u in A)A.hasOwnProperty(u)&&(D=A[u],E=fb(D.clone),c.leave(E),f(E,function(a){a[i]=!0}),D.scope.$destroy());for(l=0,m=C.length;m>l;l++){if(u=a===C?l:C[l],y=a[u],D=H[l],H[l-1]&&(F=h(H[l-1])),D.scope){t=D.scope,o=F;do o=o.nextSibling;while(o&&o[i]);g(D)!=o&&c.move(fb(D.clone),null,sd(F)),F=h(D)}else t=d.$new();t[v]=y,w&&(t[w]=u),t.$index=l,t.$first=0===l,t.$last=l===p-1,t.$middle=!(t.$first||t.$last),t.$odd=!(t.$even=0===(1&l)),D.scope||n(t,function(a){a[a.length++]=b.createComment(" end ngRepeat: "+x+" "),c.enter(a,null,sd(F)),F=a,D.scope=t,D.clone=a,G[D.id]=D})}A=G})}}}],pf=["$animate",function(a){return function(b,c,d){b.$watch(d.ngShow,function(b){a[S(b)?"removeClass":"addClass"](c,"ng-hide")})}}],qf=["$animate",function(a){return function(b,c,d){b.$watch(d.ngHide,function(b){a[S(b)?"addClass":"removeClass"](c,"ng-hide")})}}],rf=_c(function(a,b,c){a.$watch(c.ngStyle,function(a,c){c&&a!==c&&f(c,function(a,c){b.css(c,"")}),a&&b.css(a)},!0)}),sf=["$animate",function(a){return{restrict:"EA",require:"ngSwitch",controller:["$scope",function(){this.cases={}}],link:function(b,c,d,e){var g=d.ngSwitch||d.on,h=[],i=[],j=[],k=[];b.$watch(g,function(c){var g,l;for(g=0,l=j.length;l>g;++g)j[g].remove();for(j.length=0,g=0,l=k.length;l>g;++g){var m=i[g];k[g].$destroy(),j[g]=m,a.leave(m,function(){j.splice(g,1)})}i.length=0,k.length=0,(h=e.cases["!"+c]||e.cases["?"])&&(b.$eval(d.change),f(h,function(c){var d=b.$new();k.push(d),c.transclude(d,function(b){var d=c.element;i.push(b),a.enter(b,d.parent(),d)})}))})}}}],tf=_c({transclude:"element",priority:800,require:"^ngSwitch",link:function(a,b,c,d,e){d.cases["!"+c.ngSwitchWhen]=d.cases["!"+c.ngSwitchWhen]||[],d.cases["!"+c.ngSwitchWhen].push({transclude:e,element:b})}}),uf=_c({transclude:"element",priority:800,require:"^ngSwitch",link:function(a,b,c,d,e){d.cases["?"]=d.cases["?"]||[],d.cases["?"].push({transclude:e,element:b})}}),vf=_c({link:function(a,b,c,e,f){if(!f)throw d("ngTransclude")("orphan","Illegal use of ngTransclude directive in the template! No parent directive that requires a transclusion found. Element: {0}",T(b));f(function(a){b.empty(),b.append(a)})}}),wf=["$templateCache",function(a){return{restrict:"E",terminal:!0,compile:function(b,c){if("text/ng-template"==c.type){var d=c.id,e=b[0].text;a.put(d,e)}}}}],xf=d("ngOptions"),yf=q({terminal:!0}),zf=["$compile","$parse",function(a,d){var e=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?(?:\s+group\s+by\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w]*)|(?:\(\s*([\$\w][\$\w]*)\s*,\s*([\$\w][\$\w]*)\s*\)))\s+in\s+([\s\S]+?)(?:\s+track\s+by\s+([\s\S]+?))?$/,h={$setViewValue:o};return{restrict:"E",require:["select","?ngModel"],controller:["$element","$scope","$attrs",function(a,b,c){var d,e,f=this,g={},i=h;f.databound=c.ngModel,f.init=function(a,b,c){i=a,d=b,e=c},f.addOption=function(b){db(b,'"option value"'),g[b]=!0,i.$viewValue==b&&(a.val(b),e.parent()&&e.remove())},f.removeOption=function(a){this.hasOption(a)&&(delete g[a],i.$viewValue==a&&this.renderUnknownOption(a))},f.renderUnknownOption=function(b){var c="? "+Eb(b)+" ?";e.val(c),a.prepend(e),a.val(c),e.prop("selected",!0)},f.hasOption=function(a){return g.hasOwnProperty(a)},b.$on("$destroy",function(){f.renderUnknownOption=o})}],link:function(h,i,j,k){function l(a,b,c,d){c.$render=function(){var a=c.$viewValue;d.hasOption(a)?(y.parent()&&y.remove(),b.val(a),""===a&&o.prop("selected",!0)):r(a)&&o?b.val(""):d.renderUnknownOption(a)},b.on("change",function(){a.$apply(function(){y.parent()&&y.remove(),c.$setViewValue(b.val())})})}function m(a,b,c){var d;c.$render=function(){var a=new Fb(c.$viewValue);f(b.find("option"),function(b){b.selected=s(a.get(b.value))})},a.$watch(function(){L(d,c.$viewValue)||(d=K(c.$viewValue),c.$render())}),b.on("change",function(){a.$apply(function(){var a=[];f(b.find("option"),function(b){b.selected&&a.push(b.value)}),c.$setViewValue(a)})})}function n(b,f,h){function i(){var a=!1;if(t){var c=h.$modelValue;if(z&&Cd(c)){a=new Fb([]);for(var d={},e=0;eD;D++){if(u=D,n){if(u=M[D],"$"===u.charAt(0))continue;N[n]=u}if(N[m]=L[u],a=o(b,N)||"",(c=I[a])||(c=I[a]=[],J.push(a)),t)E=s(O.remove(z?z(b,N):q(b,N)));else{if(z){var P={};P[m]=K,E=z(b,P)===z(b,N)}else E=K===q(b,N);O=O||E}H=l(b,N),H=s(H)?H:"",c.push({id:z?z(b,N):n?M[D]:D,label:H,selected:E})}for(t||(v||null===K?I[""].unshift({id:"",label:"",selected:!O}):O||I[""].unshift({id:"?",label:"",selected:!0})),C=0,y=J.length;y>C;C++){for(a=J[C],c=I[a],A.length<=C?(e={element:x.clone().attr("label",a),label:c.label},j=[e],A.push(j),f.append(e.element)):(j=A[C],e=j[0],e.label!=a&&e.element.attr("label",e.label=a)),F=null,D=0,B=c.length;B>D;D++)d=c[D],(k=j[D+1])?(F=k.element,k.label!==d.label&&F.text(k.label=d.label),k.id!==d.id&&F.val(k.id=d.id),F[0].selected!==d.selected&&(F.prop("selected",k.selected=d.selected),rd&&F.prop("selected",k.selected))):(""===d.id&&v?G=v:(G=w.clone()).val(d.id).prop("selected",d.selected).attr("selected",d.selected).text(d.label),j.push(k={element:G,label:d.label,id:d.id,selected:d.selected}),p.addOption(d.label,G),F?F.after(G):e.element.append(G),F=G);for(D++;j.length>D;)d=j.pop(),p.removeOption(d.label),d.element.remove()}for(;A.length>C;)A.pop()[0].element.remove()}var k;if(!(k=u.match(e)))throw xf("iexp","Expected expression in form of '_select_ (as _label_)? for (_key_,)?_value_ in _collection_' but got '{0}'. Element: {1}",u,T(f));var l=d(k[2]||k[1]),m=k[4]||k[6],n=k[5],o=d(k[3]||""),q=d(k[2]?k[1]:m),r=d(k[7]),y=k[8],z=y?d(k[8]):null,A=[[{element:f,label:""}]];v&&(a(v)(b),v.removeClass("ng-scope"),v.remove()),f.empty(),f.on("change",function(){b.$apply(function(){var a,d,e,g,i,k,l,o,p,s=r(b)||[],u={};if(t){for(e=[],k=0,o=A.length;o>k;k++)for(a=A[k],i=1,l=a.length;l>i;i++)if((g=a[i].element)[0].selected){if(d=g.val(),n&&(u[n]=d),z)for(p=0;pe;e++)a[m]=c[e],d[e]=l(b,a);return d}},j),t&&b.$watchCollection(function(){return h.$modelValue},j)}if(k[1]){for(var o,p=k[0],q=k[1],t=j.multiple,u=j.ngOptions,v=!1,w=sd(b.createElement("option")),x=sd(b.createElement("optgroup")),y=w.clone(),z=0,A=i.children(),B=A.length;B>z;z++)if(""===A[z].value){o=v=A.eq(z);break}p.init(q,v,y),t&&(q.$isEmpty=function(a){return!a||0===a.length}),u?n(h,i,q):t?m(h,i,q):l(h,i,q,p)}}}}],Af=["$interpolate",function(a){var b={addOption:o,removeOption:o};return{restrict:"E",priority:100,compile:function(c,d){if(r(d.value)){var e=a(c.text(),!0);e||d.$set("value",c.text())}return function(a,c,d){var f="$selectController",g=c.parent(),h=g.data(f)||g.parent().data(f);h&&h.databound?c.prop("selected",!1):h=b,e?a.$watch(e,function(a,b){d.$set("value",a),a!==b&&h.removeOption(b),h.addOption(a)}):h.addOption(d.value),c.on("$destroy",function(){h.removeOption(d.value)})}}}}],Bf=q({restrict:"E",terminal:!0});return a.angular.bootstrap?void console.log("WARNING: Tried to load angular more than once."):(ab(),hb(Ad),void sd(b).ready(function(){Z(b,$)}))}(window,document),!window.angular.$$csp()&&window.angular.element(document).find("head").prepend(''),c("angular",function(a){return function(){var b;return b||a.angular}}(this)),"undefined"!=typeof module&&"undefined"!=typeof exports&&module.exports===exports&&(module.exports="ui.router"),function(a,b,c){function d(a,b){return J(new(J(function(){},{prototype:a})),b)}function e(a){return I(arguments,function(b){b!==a&&I(b,function(b,c){a.hasOwnProperty(c)||(a[c]=b)})}),a}function f(a,b){var c=[];for(var d in a.path){if(a.path[d]!==b.path[d])break;c.push(a.path[d])}return c}function g(a){if(Object.keys)return Object.keys(a);var c=[];return b.forEach(a,function(a,b){c.push(b)}),c}function h(a,b){if(Array.prototype.indexOf)return a.indexOf(b,Number(arguments[2])||0);var c=a.length>>>0,d=Number(arguments[2])||0;for(d=0>d?Math.ceil(d):Math.floor(d),0>d&&(d+=c);c>d;d++)if(d in a&&a[d]===b)return d;return-1}function i(a,b,c,d){var e,i=f(c,d),j={},k=[];for(var l in i)if(i[l].params&&(e=g(i[l].params),e.length))for(var m in e)h(k,e[m])>=0||(k.push(e[m]),j[e[m]]=a[e[m]]);return J({},j,b)}function j(a,b,c){if(!c){c=[];for(var d in a)c.push(d)}for(var e=0;e "));if(o[c]=d,F(a))m.push(c,[function(){return b.get(a)}],h);else{var e=b.annotate(a);I(e,function(a){a!==c&&g.hasOwnProperty(a)&&k(g[a],a)}),m.push(c,a,e)}n.pop(),o[c]=f}}function l(a){return G(a)&&a.then&&a.$$promises}if(!G(g))throw new Error("'invocables' must be an object");var m=[],n=[],o={};return I(g,k),g=n=o=null,function(d,f,g){function h(){--s||(t||e(r,f.$$values),p.$$values=r,p.$$promises=!0,delete p.$$inheritedValues,o.resolve(r))}function k(a){p.$$failure=a,o.reject(a)}function n(c,e,f){function i(a){l.reject(a),k(a)}function j(){if(!D(p.$$failure))try{l.resolve(b.invoke(e,g,r)),l.promise.then(function(a){r[c]=a,h()},i)}catch(a){i(a)}}var l=a.defer(),m=0;I(f,function(a){q.hasOwnProperty(a)&&!d.hasOwnProperty(a)&&(m++,q[a].then(function(b){r[a]=b,--m||j()},i))}),m||j(),q[c]=l.promise}if(l(d)&&g===c&&(g=f,f=d,d=null),d){if(!G(d))throw new Error("'locals' must be an object")}else d=i;if(f){if(!l(f))throw new Error("'parent' must be a promise returned by $resolve.resolve()")}else f=j;var o=a.defer(),p=o.promise,q=p.$$promises={},r=J({},d),s=1+m.length/3,t=!1;if(D(f.$$failure))return k(f.$$failure),p;f.$$inheritedValues&&e(r,f.$$inheritedValues),f.$$values?(t=e(r,f.$$values),p.$$inheritedValues=f.$$values,h()):(f.$$inheritedValues&&(p.$$inheritedValues=f.$$inheritedValues),J(q,f.$$promises),f.then(h,k));for(var u=0,v=m.length;v>u;u+=3)d.hasOwnProperty(m[u])?h():n(m[u],m[u+1],m[u+2]);return p}},this.resolve=function(a,b,c,d){return this.study(a)(b,c,d)}}function m(a,b,c){this.fromConfig=function(a,b,c){return D(a.template)?this.fromString(a.template,b):D(a.templateUrl)?this.fromUrl(a.templateUrl,b):D(a.templateProvider)?this.fromProvider(a.templateProvider,b,c):null},this.fromString=function(a,b){return E(a)?a(b):a},this.fromUrl=function(c,d){return E(c)&&(c=c(d)),null==c?null:a.get(c,{cache:b}).then(function(a){return a.data})},this.fromProvider=function(a,b,d){return c.invoke(a,null,d||{params:b})}}function n(a,d){function e(a){return D(a)?this.type.decode(a):p.$$getDefaultValue(this)}function f(b,c,d){if(!/^\w+(-+\w+)*$/.test(b))throw new Error("Invalid parameter name '"+b+"' in pattern '"+a+"'");if(n[b])throw new Error("Duplicate parameter name '"+b+"' in pattern '"+a+"'");n[b]=J({type:c||new o,$value:e},d)}function g(a,b,c){var d=a.replace(/[\\\[\]\^$*+?.()|{}]/g,"\\$&");if(!b)return d;var e=c?"?":"";return d+e+"("+b+")"+e}function h(a){if(!d.params||!d.params[a])return{};var b=d.params[a];return G(b)?b:{value:b}}d=b.isObject(d)?d:{};var i,j=/([:*])(\w+)|\{(\w+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,k="^",l=0,m=this.segments=[],n=this.params={};this.source=a;for(var q,r,s,t,u;(i=j.exec(a))&&(q=i[2]||i[3],r=i[4]||("*"==i[1]?".*":"[^/]*"),s=a.substring(l,i.index),t=this.$types[r]||new o({pattern:new RegExp(r)}),u=h(q),!(s.indexOf("?")>=0));)k+=g(s,t.$subPattern(),D(u.value)),f(q,t,u),m.push(s),l=j.lastIndex;s=a.substring(l);var v=s.indexOf("?");if(v>=0){var w=this.sourceSearch=s.substring(v);s=s.substring(0,v),this.sourcePath=a.substring(0,l+v),I(w.substring(1).split(/[&?]/),function(a){f(a,null,h(a))})}else this.sourcePath=a,this.sourceSearch="";k+=g(s)+(d.strict===!1?"/?":"")+"$",m.push(s),this.regexp=new RegExp(k,d.caseInsensitive?"i":c),this.prefix=m[0]}function o(a){J(this,a)}function p(){function a(){return{strict:f,caseInsensitive:e}}function b(a){return E(a)||H(a)&&E(a[a.length-1])}function c(){I(h,function(a){if(n.prototype.$types[a.name])throw new Error("A type named '"+a.name+"' has already been defined.");var c=new o(b(a.def)?d.invoke(a.def):a.def);n.prototype.$types[a.name]=c})}var d,e=!1,f=!0,g=!0,h=[],i={"int":{decode:function(a){return parseInt(a,10)},is:function(a){return D(a)?this.decode(a.toString())===a:!1},pattern:/\d+/},bool:{encode:function(a){return a?1:0},decode:function(a){return 0===parseInt(a,10)?!1:!0},is:function(a){return a===!0||a===!1},pattern:/0|1/},string:{pattern:/[^\/]*/},date:{equals:function(a,b){return a.toISOString()===b.toISOString()},decode:function(a){return new Date(a)},encode:function(a){return[a.getFullYear(),("0"+(a.getMonth()+1)).slice(-2),("0"+a.getDate()).slice(-2)].join("-")},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/}};p.$$getDefaultValue=function(a){if(!b(a.value))return a.value;if(!d)throw new Error("Injectable functions cannot be called at configuration time");return d.invoke(a.value)},this.caseInsensitive=function(a){e=a},this.strictMode=function(a){f=a},this.compile=function(b,c){return new n(b,J(a(),c))},this.isMatcher=function(a){if(!G(a))return!1;var b=!0;return I(n.prototype,function(c,d){E(c)&&(b=b&&D(a[d])&&E(a[d]))}),b},this.type=function(a,b){return D(b)?(h.push({name:a,def:b}),g||c(),this):n.prototype.$types[a]},this.$get=["$injector",function(a){return d=a,g=!1,n.prototype.$types={},c(),I(i,function(a,b){n.prototype.$types[b]||(n.prototype.$types[b]=new o(a))}),this}]}function q(a,b){function d(a){var b=/^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/.exec(a.source);return null!=b?b[1].replace(/\\(.)/g,"$1"):""}function e(a,b){return a.replace(/\$(\$|\d{1,2})/,function(a,c){return b["$"===c?0:Number(c)]})}function f(a,b,c){if(!c)return!1;var d=a.invoke(b,b,{$match:c});return D(d)?d:!0}function g(b,c,d,e){function f(a,b,c){return"/"===m?a:b?m.slice(0,-1)+a:c?m.slice(1)+a:a}function g(a){function c(a){var c=a(d,b);return c?(F(c)&&b.replace().url(c),!0):!1}if(!a||!a.defaultPrevented){var e,f=i.length;for(e=0;f>e;e++)if(c(i[e]))return;j&&c(j)}}function l(){return h=h||c.$on("$locationChangeSuccess",g)}var m=e.baseHref(),n=b.url();return k||l(),{sync:function(){g()},listen:function(){return l()},update:function(a){return a?void(n=b.url()):void(b.url()!==n&&(b.url(n),b.replace()))},push:function(a,c,d){b.url(a.format(c||{})),d&&d.replace&&b.replace()},href:function(c,d,e){if(!c.validates(d))return null;var g=a.html5Mode(),h=c.format(d);if(e=e||{},g||null===h||(h="#"+a.hashPrefix()+h),h=f(h,g,e.absolute),!e.absolute||!h)return h;var i=!g&&h?"/":"",j=b.port();return j=80===j||443===j?"":":"+j,[b.protocol(),"://",b.host(),j,i,h].join("")}}}var h,i=[],j=null,k=!1;this.rule=function(a){if(!E(a))throw new Error("'rule' must be a function");return i.push(a),this},this.otherwise=function(a){if(F(a)){var b=a;a=function(){return b}}else if(!E(a))throw new Error("'rule' must be a function");return j=a,this},this.when=function(a,c){var g,h=F(c);if(F(a)&&(a=b.compile(a)),!h&&!E(c)&&!H(c))throw new Error("invalid 'handler' in when()");var i={matcher:function(a,c){return h&&(g=b.compile(c),c=["$match",function(a){return g.format(a)}]),J(function(b,d){return f(b,c,a.exec(d.path(),d.search()))},{prefix:F(a.prefix)?a.prefix:""})},regex:function(a,b){if(a.global||a.sticky)throw new Error("when() RegExp must not be global or sticky");return h&&(g=b,b=["$match",function(a){return e(g,a)}]),J(function(c,d){return f(c,b,a.exec(d.path()))},{prefix:d(a)})}},j={matcher:b.isMatcher(a),regex:a instanceof RegExp};for(var k in j)if(j[k])return this.rule(i[k](a,c));throw new Error("invalid 'what' in when()")},this.deferIntercept=function(a){a===c&&(a=!0),k=a},this.$get=g,g.$inject=["$location","$rootScope","$injector","$browser"]}function r(a,e){function f(a){return 0===a.indexOf(".")||0===a.indexOf("^")}function h(a,b){if(!a)return c;var d=F(a),e=d?a:a.name,g=f(e);if(g){if(!b)throw new Error("No reference point given for path '"+e+"'");for(var h=e.split("."),i=0,j=h.length,k=b;j>i;i++)if(""!==h[i]||0!==i){if("^"!==h[i])break;if(!k.parent)throw new Error("Path '"+e+"' not valid for state '"+b.name+"'");k=k.parent}else k=b;h=h.slice(i).join("."),e=k.name+(k.name&&h?".":"")+h}var l=v[e];return!l||!d&&(d||l!==a&&l.self!==a)?c:l}function l(a,b){w[a]||(w[a]=[]),w[a].push(b)}function m(b){b=d(b,{self:b,resolve:b.resolve||{},toString:function(){return this.name}});var c=b.name;if(!F(c)||c.indexOf("@")>=0)throw new Error("State must have a valid name");if(v.hasOwnProperty(c))throw new Error("State '"+c+"'' is already defined");var e=-1!==c.indexOf(".")?c.substring(0,c.lastIndexOf(".")):F(b.parent)?b.parent:"";if(e&&!v[e])return l(e,b.self);for(var f in y)E(y[f])&&(b[f]=y[f](b,y.$delegates[f]));if(v[c]=b,!b[x]&&b.url&&a.when(b.url,["$match","$stateParams",function(a,c){u.$current.navigable==b&&j(a,c)||u.transitionTo(b,a,{location:!1})}]),w[c])for(var g=0;g-1}function o(a){var b=a.split("."),c=u.$current.name.split(".");if("**"===b[0]&&(c=c.slice(c.indexOf(b[1])),c.unshift("**")),"**"===b[b.length-1]&&(c.splice(c.indexOf(b[b.length-2])+1,Number.MAX_VALUE),c.push("**")),b.length!=c.length)return!1;for(var d=0,e=b.length;e>d;d++)"*"===b[d]&&(c[d]="*");return c.join("")===b.join("")}function p(a,b){return F(a)&&!D(b)?y[a]:E(b)&&F(a)?(y[a]&&!y.$delegates[a]&&(y.$delegates[a]=y[a]),y[a]=b,this):this}function q(a,b){return G(a)?b=a:b.name=a,m(b),this}function r(a,e,f,l,m,p,q){function r(b,c,d,f){var g=a.$broadcast("$stateNotFound",b,c,d);if(g.defaultPrevented)return q.update(),A;if(!g.retry)return null;if(f.$retry)return q.update(),B;var h=u.transition=e.when(g.retry);return h.then(function(){return h!==u.transition?y:(b.options.$retry=!0,u.transitionTo(b.to,b.toParams,b.options))},function(){return A}),q.update(),h}function w(a,c,d,h,i){var j=d?c:k(g(a.params),c),n={$stateParams:j};i.resolve=m.resolve(a.resolve,n,i.resolve,a);var o=[i.resolve.then(function(a){i.globals=a})];return h&&o.push(h),I(a.views,function(c,d){var e=c.resolve&&c.resolve!==a.resolve?c.resolve:{};e.$template=[function(){return f.load(d,{view:c,locals:n,params:j})||""}],o.push(m.resolve(e,n,i.resolve,a).then(function(f){if(E(c.controllerProvider)||H(c.controllerProvider)){var g=b.extend({},e,n);f.$$controller=l.invoke(c.controllerProvider,null,g)}else f.$$controller=c.controller;f.$$state=a,f.$$controllerAs=c.controllerAs,i[d]=f}))}),e.all(o).then(function(){return i})}var y=e.reject(new Error("transition superseded")),z=e.reject(new Error("transition prevented")),A=e.reject(new Error("transition aborted")),B=e.reject(new Error("transition failed"));return t.locals={resolve:null,globals:{$stateParams:{}}},u={params:{},current:t.self,$current:t,transition:null},u.reload=function(){u.transitionTo(u.current,p,{reload:!0,inherit:!1,notify:!1})},u.go=function(a,b,c){return u.transitionTo(a,b,J({inherit:!0,relative:u.$current},c))},u.transitionTo=function(b,c,f){c=c||{},f=J({location:!0,inherit:!1,relative:null,notify:!0,reload:!1,$retry:!1},f||{});var m,n=u.$current,o=u.params,v=n.path,A=h(b,f.relative);if(!D(A)){var B={to:b,toParams:c,options:f},C=r(B,n.self,o,f);if(C)return C;if(b=B.to,c=B.toParams,f=B.options,A=h(b,f.relative),!D(A)){if(!f.relative)throw new Error("No such state '"+b+"'");throw new Error("Could not resolve '"+b+"' from state '"+f.relative+"'")}}if(A[x])throw new Error("Cannot transition to abstract state '"+b+"'");f.inherit&&(c=i(p,c||{},u.$current,A)),b=A;var E=b.path,F=0,G=E[F],H=t.locals,I=[]; -if(!f.reload)for(;G&&G===v[F]&&j(c,o,G.ownParams);)H=I[F]=G.locals,F++,G=E[F];if(s(b,n,H,f))return b.self.reloadOnSearch!==!1&&q.update(),u.transition=null,e.when(u.current);if(c=k(g(b.params),c||{}),f.notify&&a.$broadcast("$stateChangeStart",b.self,c,n.self,o).defaultPrevented)return q.update(),z;for(var L=e.when(H),M=F;M=F;d--)g=v[d],g.self.onExit&&l.invoke(g.self.onExit,g.self,g.locals.globals),g.locals=null;for(d=F;d=0?c:c+"@"+(b?b.state.name:"")}function x(a,b){var c,d=a.match(/^\s*({[^}]*})\s*$/);if(d&&(a=b+"("+d[1]+")"),c=a.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/),!c||4!==c.length)throw new Error("Invalid state ref '"+a+"'");return{state:c[1],paramExpr:c[3]||null}}function y(a){var b=a.parent().inheritedData("$uiView");return b&&b.state&&b.state.name?b.state:void 0}function z(a,c){var d=["location","inherit","reload"];return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(e,f,g,h){var i=x(g.uiSref,a.current.name),j=null,k=y(f)||a.$current,l="FORM"===f[0].nodeName,m=l?"action":"href",n=!0,o={relative:k,inherit:!0},p=e.$eval(g.uiSrefOpts)||{};b.forEach(d,function(a){a in p&&(o[a]=p[a])});var q=function(b){if(b&&(j=b),n){var c=a.href(i.state,j,o),d=h[1]||h[0];return d&&d.$$setStateInfo(i.state,j),null===c?(n=!1,!1):void(f[0][m]=c)}};i.paramExpr&&(e.$watch(i.paramExpr,function(a){a!==j&&q(a)},!0),j=e.$eval(i.paramExpr)),q(),l||f.bind("click",function(b){var d=b.which||b.button;if(!(d>1||b.ctrlKey||b.metaKey||b.shiftKey||f.attr("target"))){var e=c(function(){a.go(i.state,j,o)});b.preventDefault(),b.preventDefault=function(){c.cancel(e)}}})}}}function A(a,b,c){return{restrict:"A",controller:["$scope","$element","$attrs",function(d,e,f){function g(){h()?e.addClass(m):e.removeClass(m)}function h(){return"undefined"!=typeof f.uiSrefActiveEq?a.$current.self===k&&i():a.includes(k.name)&&i()}function i(){return!l||j(l,b)}var k,l,m;m=c(f.uiSrefActiveEq||f.uiSrefActive||"",!1)(d),this.$$setStateInfo=function(b,c){k=a.get(b,y(e)),l=c,g()},d.$on("$stateChangeSuccess",g)}]}}function B(a){return function(b){return a.is(b)}}function C(a){return function(b){return a.includes(b)}}var D=b.isDefined,E=b.isFunction,F=b.isString,G=b.isObject,H=b.isArray,I=b.forEach,J=b.extend,K=b.copy;b.module("ui.router.util",["ng"]),b.module("ui.router.router",["ui.router.util"]),b.module("ui.router.state",["ui.router.router","ui.router.util"]),b.module("ui.router",["ui.router.state"]),b.module("ui.router.compat",["ui.router"]),l.$inject=["$q","$injector"],b.module("ui.router.util").service("$resolve",l),m.$inject=["$http","$templateCache","$injector"],b.module("ui.router.util").service("$templateFactory",m),n.prototype.concat=function(a,b){return new n(this.sourcePath+a+this.sourceSearch,b)},n.prototype.toString=function(){return this.source},n.prototype.exec=function(a,b){var c=this.regexp.exec(a);if(!c)return null;b=b||{};var d,e,f,g=this.parameters(),h=g.length,i=this.segments.length-1,j={};if(i!==c.length-1)throw new Error("Unbalanced capture group in route '"+this.source+"'");for(d=0;i>d;d++)f=g[d],e=this.params[f],j[f]=e.$value(c[d+1]);for(;h>d;d++)f=g[d],e=this.params[f],j[f]=e.$value(b[f]);return j},n.prototype.parameters=function(a){return D(a)?this.params[a]||null:g(this.params)},n.prototype.validates=function(a){var b,c,d=!0,e=this;return I(a,function(a,f){e.params[f]&&(c=e.params[f],b=!a&&D(c.value),d=d&&(b||c.type.is(a)))}),d},n.prototype.format=function(a){var b=this.segments,c=this.parameters();if(!a)return b.join("").replace("//","/");var d,e,f,g,h,i,j=b.length-1,k=c.length,l=b[0];if(!this.validates(a))return null;for(d=0;j>d;d++)g=c[d],f=a[g],h=this.params[g],(D(f)||"/"!==b[d]&&"/"!==b[d+1])&&(null!=f&&(l+=encodeURIComponent(h.type.encode(f))),l+=b[d+1]);for(;k>d;d++)g=c[d],f=a[g],null!=f&&(i=H(f),i&&(f=f.map(encodeURIComponent).join("&"+g+"=")),l+=(e?"&":"?")+g+"="+(i?f:encodeURIComponent(f)),e=!0);return l},n.prototype.$types={},o.prototype.is=function(){return!0},o.prototype.encode=function(a){return a},o.prototype.decode=function(a){return a},o.prototype.equals=function(a,b){return a==b},o.prototype.$subPattern=function(){var a=this.pattern.toString();return a.substr(1,a.length-2)},o.prototype.pattern=/.*/,b.module("ui.router.util").provider("$urlMatcherFactory",p),q.$inject=["$locationProvider","$urlMatcherFactoryProvider"],b.module("ui.router.router").provider("$urlRouter",q),r.$inject=["$urlRouterProvider","$urlMatcherFactoryProvider"],b.module("ui.router.state").value("$stateParams",{}).provider("$state",r),s.$inject=[],b.module("ui.router.state").provider("$view",s),b.module("ui.router.state").provider("$uiViewScroll",t),u.$inject=["$state","$injector","$uiViewScroll"],v.$inject=["$compile","$controller","$state"],b.module("ui.router.state").directive("uiView",u),b.module("ui.router.state").directive("uiView",v),z.$inject=["$state","$timeout"],A.$inject=["$state","$stateParams","$interpolate"],b.module("ui.router.state").directive("uiSref",z).directive("uiSrefActive",A).directive("uiSrefActiveEq",A),B.$inject=["$state"],C.$inject=["$state"],b.module("ui.router.state").filter("isState",B).filter("includedByState",C)}(window,window.angular),c("angular-ui-router",["angular"],function(){}),function(){function a(a,b,c){c=(c||0)-1;for(var d=a?a.length:0;++ch||"undefined"==typeof g)return 1;if(h>g||"undefined"==typeof h)return-1}}return a.n-b.n}function g(a){var b=-1,c=a.length,e=a[0],f=a[c/2|0],g=a[c-1];if(e&&"object"==typeof e&&f&&"object"==typeof f&&g&&"object"==typeof g)return!1;for(e=j(),e["false"]=e["null"]=e["true"]=e.undefined=!1,f=j(),f.k=a,f.l=e,f.push=d;++bc?0:c);++d3&&"function"==typeof g[i-2])var j=bb(g[--i-1],g[i--],2);else i>2&&"function"==typeof g[i-1]&&(j=g[--i]);for(;++h=t&&f===a,j=[];if(i){var k=g(d);k?(f=b,d=k):i=!1}for(;++ef(d,k)&&j.push(k);return i&&l(d),j}function eb(a,b,c,d){d=(d||0)-1;for(var e=a?a.length:0,f=[];++d=t&&h===a,o=e||n?i():m;for(n&&(o=g(o),h=b);++fh(o,q))&&((e||n)&&o.push(q),m.push(p))}return n?(k(o.k),l(o)):e&&k(o),m}function jb(a){return function(b,c,e){var f={};c=X.createCallback(c,e,3),e=-1;var g=b?b.length:0;if("number"==typeof g)for(;++ec?Cc(0,g+c):c)||0,Jc(a)?h=-1f&&(f=h)}}else b=null==b&&xb(a)?e:X.createCallback(b,c,3),Db(a,function(a,c,e){c=b(a,c,e),c>d&&(d=c,f=a)});return f}function Hb(a,b,c,e){if(!a)return c;var f=3>arguments.length;b=X.createCallback(b,e,4);var g=-1,h=a.length;if("number"==typeof h)for(f&&(c=a[++g]);++garguments.length;return b=X.createCallback(b,d,4),Eb(a,function(a,d,f){c=e?(e=!1,a):b(c,a,d,f)}),c}function Jb(a){var b=-1,c=a?a.length:0,d=Zb("number"==typeof c?c:0);return Db(a,function(a){var c=hb(0,++b);d[b]=d[c],d[c]=a}),d}function Kb(a,b,c){var e;b=X.createCallback(b,c,3),c=-1;var f=a?a.length:0;if("number"==typeof f)for(;++cd?Cc(0,e+d):d||0}else if(d)return d=Ob(b,c),b[d]===c?d:-1;return a(b,c,d)}function Nb(a,b,c){if("number"!=typeof b&&null!=b){var d=0,e=-1,f=a?a.length:0;for(b=X.createCallback(b,c,3);++ee;)d=e+f>>>1,c(a[d])c?0:c);++b0?k=tc(e,c):(g&&nc(g),c=l,g=k=l=o,c&&(m=Uc(),h=a.apply(j,f),k||g||(f=j=null)))}var f,g,h,i,j,k,l,m=0,n=!1,p=!0;if(!ub(a))throw new gc;if(b=Cc(0,b)||0,!0===c)var q=!0,p=!1;else vb(c)&&(q=c.leading,n="maxWait"in c&&(Cc(b,c.maxWait)||0),p="trailing"in c?c.trailing:p);return function(){if(f=arguments,i=Uc(),j=this,l=p&&(k||!q),!1===n)var c=q&&!k;else{g||q||(m=i);var o=n-(i-m),r=0>=o;r?(g&&(g=nc(g)),m=i,h=a.apply(j,f)):g||(g=tc(d,o))}return r&&k?k=nc(k):k||b===n||(k=tc(e,b)),c&&(r=!0,h=a.apply(j,f)),!r||k||g||(f=j=null),h}}function Ub(a){return a}function Vb(a,b,c){var d=!0,e=b&&sb(b);b&&(c||e.length)||(null==c&&(c=b),f=Y,b=a,a=X,e=sb(b)),!1===c?d=!1:vb(c)&&"chain"in c&&(d=c.chain);var f=a,g=ub(f);Db(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];if(sc.apply(g,arguments),g=e.apply(a,g),d||b){if(c===g&&vb(g))return this;g=new f(g),g.__chain__=b}return g})})}function Wb(){}function Xb(a){return function(b){return b[a]}}function Yb(){return this.__wrapped__}c=c?_.defaults(W.Object(),c,_.pick(W,H)):W;var Zb=c.Array,$b=c.Boolean,_b=c.Date,ac=c.Function,bc=c.Math,cc=c.Number,dc=c.Object,ec=c.RegExp,fc=c.String,gc=c.TypeError,hc=[],ic=dc.prototype,jc=c._,kc=ic.toString,lc=ec("^"+fc(kc).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),mc=bc.ceil,nc=c.clearTimeout,oc=bc.floor,pc=ac.prototype.toString,qc=nb(qc=dc.getPrototypeOf)&&qc,rc=ic.hasOwnProperty,sc=hc.push,tc=c.setTimeout,uc=hc.splice,vc=hc.unshift,wc=function(){try{var a={},b=nb(b=dc.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),xc=nb(xc=dc.create)&&xc,yc=nb(yc=Zb.isArray)&&yc,zc=c.isFinite,Ac=c.isNaN,Bc=nb(Bc=dc.keys)&&Bc,Cc=bc.max,Dc=bc.min,Ec=c.parseInt,Fc=bc.random,Gc={};Gc[J]=Zb,Gc[K]=$b,Gc[L]=_b,Gc[M]=ac,Gc[O]=dc,Gc[N]=cc,Gc[P]=ec,Gc[Q]=fc,Y.prototype=X.prototype;var Hc=X.support={};Hc.funcDecomp=!nb(c.a)&&F.test(n),Hc.funcNames="string"==typeof ac.name,X.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:C,variable:"",imports:{_:X}},xc||(ab=function(){function a(){}return function(b){if(vb(b)){a.prototype=b;var d=new a;a.prototype=null}return d||c.Object()}}());var Ic=wc?function(a,b){T.value=b,wc(a,"__bindData__",T)}:Wb,Jc=yc||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&kc.call(a)==J||!1},Kc=Bc?function(a){return vb(a)?Bc(a):[]}:V,Lc={"&":"&","<":"<",">":">",'"':""","'":"'"},Mc=tb(Lc),Nc=ec("("+Kc(Mc).join("|")+")","g"),Oc=ec("["+Kc(Lc).join("")+"]","g"),Pc=qc?function(a){if(!a||kc.call(a)!=O)return!1;var b=a.valueOf,c=nb(b)&&(c=qc(b))&&qc(c);return c?a==c||qc(a)==c:ob(a)}:ob,Qc=jb(function(a,b,c){rc.call(a,c)?a[c]++:a[c]=1}),Rc=jb(function(a,b,c){(rc.call(a,c)?a[c]:a[c]=[]).push(b)}),Sc=jb(function(a,b,c){a[c]=b}),Tc=Fb,Uc=nb(Uc=_b.now)&&Uc||function(){return(new _b).getTime()},Vc=8==Ec(v+"08")?Ec:function(a,b){return Ec(xb(a)?a.replace(D,""):a,b||0)};return X.after=function(a,b){if(!ub(b))throw new gc;return function(){return 1>--a?b.apply(this,arguments):void 0}},X.assign=u,X.at=function(a){for(var b=arguments,c=-1,d=eb(b,!0,!1,1),b=b[2]&&b[2][b[1]]===a?1:d.length,e=Zb(b);++c=t&&g(d?c[d]:m)))}var j=c[0],o=-1,p=j?j.length:0,q=[];a:for(;++o(r?b(r,n):h(m,n))){for(d=e,(r||m).push(n);--d;)if(r=f[d],0>(r?b(r,n):h(c[d],n)))continue a;q.push(n)}}for(;e--;)(r=f[e])&&l(r);return k(f),k(m),q},X.invert=tb,X.invoke=function(a,b){var c=m(arguments,2),d=-1,e="function"==typeof b,f=a?a.length:0,g=Zb("number"==typeof f?f:0);return Db(a,function(a){g[++d]=(e?b:a[b]).apply(a,c)}),g},X.keys=Kc,X.map=Fb,X.mapValues=function(a,b,c){var e={};return b=X.createCallback(b,c,3),d(a,function(a,c,d){e[c]=b(a,c,d)}),e},X.max=Gb,X.memoize=function(a,b){function c(){var d=c.cache,e=b?b.apply(this,arguments):s+arguments[0];return rc.call(d,e)?d[e]:d[e]=a.apply(this,arguments)}if(!ub(a))throw new gc;return c.cache={},c},X.merge=function(a){var b=arguments,c=2;if(!vb(a))return a;if("number"!=typeof b[2]&&(c=b.length),c>3&&"function"==typeof b[c-2])var d=bb(b[--c-1],b[c--],2);else c>2&&"function"==typeof b[c-1]&&(d=b[--c]);for(var b=m(arguments,1,c),e=-1,f=i(),g=i();++eh&&(f=h)}}else b=null==b&&xb(a)?e:X.createCallback(b,c,3),Db(a,function(a,c,e){c=b(a,c,e),d>c&&(d=c,f=a)});return f},X.omit=function(a,b,c){var d={};if("function"!=typeof b){var e=[];p(a,function(a,b){e.push(b)});for(var e=db(e,eb(arguments,!0,!1,1)),f=-1,g=e.length;++fc?Cc(0,d+c):Dc(c,d-1))+1);d--;)if(a[d]===b)return d;return-1},X.mixin=Vb,X.noConflict=function(){return c._=jc,this},X.noop=Wb,X.now=Uc,X.parseInt=Vc,X.random=function(a,b,c){var d=null==a,e=null==b;return null==c&&("boolean"==typeof a&&e?(c=a,a=1):e||"boolean"!=typeof b||(c=b,e=!0)),d&&e&&(b=1),a=+a||0,e?(b=a,a=0):b=+b||0,c||a%1||b%1?(c=Fc(),Dc(a+c*(b-a+parseFloat("1e-"+((c+"").length-1))),b)):hb(a,b)},X.reduce=Hb,X.reduceRight=Ib,X.result=function(a,b){if(a){var c=a[b];return ub(c)?a[b]():c}},X.runInContext=n,X.size=function(a){var b=a?a.length:0;return"number"==typeof b?b:Kc(a).length},X.some=Kb,X.sortedIndex=Ob,X.template=function(a,b,c){var d=X.templateSettings;a=fc(a||""),c=q({},c,d);var e,f=q({},c.imports,d.imports),d=Kc(f),f=yb(f),g=0,i=c.interpolate||E,j="__p+='",i=ec((c.escape||E).source+"|"+i.source+"|"+(i===C?z:E).source+"|"+(c.evaluate||E).source+"|$","g");a.replace(i,function(b,c,d,f,i,k){return d||(d=f),j+=a.slice(g,k).replace(G,h),c&&(j+="'+__e("+c+")+'"),i&&(e=!0,j+="';"+i+";\n__p+='"),d&&(j+="'+((__t=("+d+"))==null?'':__t)+'"),g=k+b.length,b}),j+="';",i=c=c.variable,i||(c="obj",j="with("+c+"){"+j+"}"),j=(e?j.replace(w,""):j).replace(x,"$1").replace(y,"$1;"),j="function("+c+"){"+(i?"":c+"||("+c+"={});")+"var __t,__p='',__e=_.escape"+(e?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+j+"return __p}";try{var k=ac(d,"return "+j).apply(o,f)}catch(l){throw l.source=j,l}return b?k(b):(k.source=j,k)},X.unescape=function(a){return null==a?"":fc(a).replace(Nc,pb)},X.uniqueId=function(a){var b=++r;return fc(null==a?"":a)+b},X.all=Ab,X.any=Kb,X.detect=Cb,X.findWhere=Cb,X.foldl=Hb,X.foldr=Ib,X.include=zb,X.inject=Hb,Vb(function(){var a={};return d(X,function(b,c){X.prototype[c]||(a[c]=b)}),a}(),!1),X.first=Lb,X.last=function(a,b,c){var d=0,e=a?a.length:0;if("number"!=typeof b&&null!=b){var f=e;for(b=X.createCallback(b,c,3);f--&&b(a[f],f,a);)d++}else if(d=b,null==d||c)return a?a[e-1]:o;return m(a,Cc(0,e-d))},X.sample=function(a,b,c){return a&&"number"!=typeof a.length&&(a=yb(a)),null==b||c?a?a[hb(0,a.length-1)]:o:(a=Jb(a),a.length=Dc(Cc(0,b),a.length),a)},X.take=Lb,X.head=Lb,d(X,function(a,b){var c="sample"!==b;X.prototype[b]||(X.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new Y(f,e):f})}),X.VERSION="2.4.1",X.prototype.chain=function(){return this.__chain__=!0,this},X.prototype.toString=function(){return fc(this.__wrapped__)},X.prototype.value=Yb,X.prototype.valueOf=Yb,Db(["join","pop","shift"],function(a){var b=hc[a];X.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new Y(c,a):c}}),Db(["push","reverse","sort","unshift"],function(a){var b=hc[a];X.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),Db(["concat","slice","splice"],function(a){var b=hc[a];X.prototype[a]=function(){return new Y(b.apply(this.__wrapped__,arguments),this.__chain__)}}),X}var o,p=[],q=[],r=0,s=+new Date+"",t=75,u=40,v=" \f \n\r\u2028\u2029 ᠎              ",w=/\b__p\+='';/g,x=/\b(__p\+=)''\+/g,y=/(__e\(.*?\)|\b__t\))\+'';/g,z=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,A=/\w*$/,B=/^\s*function[ \n\r\t]+\w/,C=/<%=([\s\S]+?)%>/g,D=RegExp("^["+v+"]*0+(?=.$)"),E=/($^)/,F=/\bthis\b/,G=/['\n\r\t\u2028\u2029\\]/g,H="Array Boolean Date Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setTimeout".split(" "),I="[object Arguments]",J="[object Array]",K="[object Boolean]",L="[object Date]",M="[object Function]",N="[object Number]",O="[object Object]",P="[object RegExp]",Q="[object String]",R={};R[M]=!1,R[I]=R[J]=R[K]=R[L]=R[N]=R[O]=R[P]=R[Q]=!0;var S={leading:!1,maxWait:0,trailing:!1},T={configurable:!1,enumerable:!1,value:null,writable:!1},U={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},V={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},W=U[typeof window]&&window||this,X=U[typeof exports]&&exports&&!exports.nodeType&&exports,Y=U[typeof module]&&module&&!module.nodeType&&module,Z=Y&&Y.exports===X&&X,$=U[typeof global]&&global;!$||$.global!==$&&$.window!==$||(W=$);var _=n();"function"==typeof c&&"object"==typeof c.amd&&c.amd?(W._=_,c("lodash",[],function(){return _})):X&&Y?Z?(Y.exports=_)._=_:X._=_:W._=_}.call(this),function(){var a=angular.module("restangular",[]);a.provider("Restangular",function(){var a={};a.init=function(a,b){function c(a,b,c,d){var e={};return _.each(_.keys(d),function(f){var g=d[f];g.params=_.extend({},g.params,a.defaultRequestParams[g.method.toLowerCase()]),_.isEmpty(g.params)&&delete g.params,e[f]=a.isSafe(g.method)?function(){return b(_.extend(g,{url:c}))}:function(a){return b(_.extend(g,{url:c,data:a}))}}),e}a.configuration=b;var d=["get","head","options","trace","getlist"];b.isSafe=function(a){return _.contains(d,a.toLowerCase())};var e=/^https?:\/\//i;b.isAbsoluteUrl=function(a){return _.isUndefined(b.absoluteUrl)||_.isNull(b.absoluteUrl)?a&&e.test(a):b.absoluteUrl},b.absoluteUrl=_.isUndefined(b.absoluteUrl)?!0:b.absoluteUrl,a.setSelfLinkAbsoluteUrl=function(a){b.absoluteUrl=a},b.baseUrl=_.isUndefined(b.baseUrl)?"":b.baseUrl,a.setBaseUrl=function(a){return b.baseUrl=/\/$/.test(a)?a.substring(0,a.length-1):a,this},b.extraFields=b.extraFields||[],a.setExtraFields=function(a){return b.extraFields=a,this},b.defaultHttpFields=b.defaultHttpFields||{},a.setDefaultHttpFields=function(a){return b.defaultHttpFields=a,this},b.withHttpValues=function(a,c){return _.defaults(c,a,b.defaultHttpFields)},b.encodeIds=_.isUndefined(b.encodeIds)?!0:b.encodeIds,a.setEncodeIds=function(a){b.encodeIds=a},b.defaultRequestParams=b.defaultRequestParams||{get:{},post:{},put:{},remove:{},common:{}},a.setDefaultRequestParams=function(a,c){var d=[],e=c||a;return _.isUndefined(c)?d.push("common"):_.isArray(a)?d=a:d.push(a),_.each(d,function(a){b.defaultRequestParams[a]=e}),this},a.requestParams=b.defaultRequestParams,b.defaultHeaders=b.defaultHeaders||{},a.setDefaultHeaders=function(c){return b.defaultHeaders=c,a.defaultHeaders=b.defaultHeaders,this},a.defaultHeaders=b.defaultHeaders,b.methodOverriders=b.methodOverriders||[],a.setMethodOverriders=function(a){var c=_.extend([],a);return b.isOverridenMethod("delete",c)&&c.push("remove"),b.methodOverriders=c,this},b.jsonp=_.isUndefined(b.jsonp)?!1:b.jsonp,a.setJsonp=function(a){b.jsonp=a},b.isOverridenMethod=function(a,c){var d=c||b.methodOverriders;return!_.isUndefined(_.find(d,function(b){return b.toLowerCase()===a.toLowerCase()}))},b.urlCreator=b.urlCreator||"path",a.setUrlCreator=function(a){if(!_.has(b.urlCreatorFactory,a))throw new Error("URL Path selected isn't valid");return b.urlCreator=a,this},b.restangularFields=b.restangularFields||{id:"id",route:"route",parentResource:"parentResource",restangularCollection:"restangularCollection",cannonicalId:"__cannonicalId",etag:"restangularEtag",selfLink:"href",get:"get",getList:"getList",put:"put",post:"post",remove:"remove",head:"head",trace:"trace",options:"options",patch:"patch",getRestangularUrl:"getRestangularUrl",getRequestedUrl:"getRequestedUrl",putElement:"putElement",addRestangularMethod:"addRestangularMethod",getParentList:"getParentList",clone:"clone",ids:"ids",httpConfig:"_$httpConfig",reqParams:"reqParams",one:"one",all:"all",several:"several",oneUrl:"oneUrl",allUrl:"allUrl",customPUT:"customPUT",customPOST:"customPOST",customDELETE:"customDELETE",customGET:"customGET",customGETLIST:"customGETLIST",customOperation:"customOperation",doPUT:"doPUT",doPOST:"doPOST",doDELETE:"doDELETE",doGET:"doGET",doGETLIST:"doGETLIST",fromServer:"fromServer",withConfig:"withConfig",withHttpConfig:"withHttpConfig",singleOne:"singleOne",plain:"plain",save:"save"},a.setRestangularFields=function(a){return b.restangularFields=_.extend(b.restangularFields,a),this},b.isRestangularized=function(a){return!!a[b.restangularFields.one]||!!a[b.restangularFields.all]},b.setFieldToElem=function(a,b,c){var d=a.split("."),e=b;return _.each(_.initial(d),function(a){e[a]={},e=e[a]}),e[_.last(d)]=c,this},b.getFieldFromElem=function(a,b){var c=a.split("."),d=b;return _.each(c,function(a){d&&(d=d[a])}),angular.copy(d)},b.setIdToElem=function(a,c){return b.setFieldToElem(b.restangularFields.id,a,c),this},b.getIdFromElem=function(a){return b.getFieldFromElem(b.restangularFields.id,a)},b.isValidId=function(a){return""!==a&&!_.isUndefined(a)&&!_.isNull(a)},b.setUrlToElem=function(a,c){return b.setFieldToElem(b.restangularFields.selfLink,a,c),this},b.getUrlFromElem=function(a){return b.getFieldFromElem(b.restangularFields.selfLink,a)},b.useCannonicalId=_.isUndefined(b.useCannonicalId)?!1:b.useCannonicalId,a.setUseCannonicalId=function(a){return b.useCannonicalId=a,this},b.getCannonicalIdFromElem=function(a){var c=a[b.restangularFields.cannonicalId],d=b.isValidId(c)?c:b.getIdFromElem(a);return d},b.responseInterceptors=b.responseInterceptors||[],b.defaultResponseInterceptor=function(a){return a},b.responseExtractor=function(a,c,d,e,f,g){var h=angular.copy(b.responseInterceptors);h.push(b.defaultResponseInterceptor);var i=a;return _.each(h,function(a){i=a(i,c,d,e,f,g)}),i},a.addResponseInterceptor=function(a){return b.responseInterceptors.push(a),this},a.setResponseInterceptor=a.addResponseInterceptor,a.setResponseExtractor=a.addResponseInterceptor,b.requestInterceptors=b.requestInterceptors||[],b.defaultInterceptor=function(a,b,c,d,e,f,g){return{element:a,headers:e,params:f,httpConfig:g}},b.fullRequestInterceptor=function(a,c,d,e,f,g,h){var i=angular.copy(b.requestInterceptors),j=b.defaultInterceptor(a,c,d,e,f,g,h);return _.reduce(i,function(a,b){return _.extend(a,b(a.element,c,d,e,a.headers,a.params,a.httpConfig))},j)},a.addRequestInterceptor=function(a){return b.requestInterceptors.push(function(b,c,d,e,f,g,h){return{headers:f,params:g,element:a(b,c,d,e),httpConfig:h}}),this},a.setRequestInterceptor=a.addRequestInterceptor,a.addFullRequestInterceptor=function(a){return b.requestInterceptors.push(a),this},a.setFullRequestInterceptor=a.addFullRequestInterceptor,b.errorInterceptor=b.errorInterceptor||function(){},a.setErrorInterceptor=function(a){return b.errorInterceptor=a,this},b.onBeforeElemRestangularized=b.onBeforeElemRestangularized||function(a){return a},a.setOnBeforeElemRestangularized=function(a){return b.onBeforeElemRestangularized=a,this},b.onElemRestangularized=b.onElemRestangularized||function(a){return a},a.setOnElemRestangularized=function(a){return b.onElemRestangularized=a,this},b.shouldSaveParent=b.shouldSaveParent||function(){return!0},a.setParentless=function(a){return _.isArray(a)?b.shouldSaveParent=function(b){return!_.contains(a,b)}:_.isBoolean(a)&&(b.shouldSaveParent=function(){return!a}),this},b.suffix=_.isUndefined(b.suffix)?null:b.suffix,a.setRequestSuffix=function(a){return b.suffix=a,this},b.transformers=b.transformers||{},a.addElementTransformer=function(c,d,e){var f=null,g=null;2===arguments.length?g=d:(g=e,f=d);var h=b.transformers[c];return h||(h=b.transformers[c]=[]),h.push(function(a,b){return _.isNull(f)||a==f?g(b):b}),a},a.extendCollection=function(b,c){return a.addElementTransformer(b,!0,c)},a.extendModel=function(b,c){return a.addElementTransformer(b,!1,c)},b.transformElem=function(a,c,d,e,f){if(!f&&!b.transformLocalElements&&!a[b.restangularFields.fromServer])return a;var g=b.transformers[d],h=a;return g&&_.each(g,function(a){h=a(c,h)}),b.onElemRestangularized(h,c,d,e)},b.transformLocalElements=_.isUndefined(b.transformLocalElements)?!1:b.transformLocalElements,a.setTransformOnlyServerElements=function(a){b.transformLocalElements=!a},b.fullResponse=_.isUndefined(b.fullResponse)?!1:b.fullResponse,a.setFullResponse=function(a){return b.fullResponse=a,this},b.urlCreatorFactory={};var f=function(){};f.prototype.setConfig=function(a){return this.config=a,this},f.prototype.parentsArray=function(a){for(var b=[];a;)b.push(a),a=a[this.config.restangularFields.parentResource];return b.reverse()},f.prototype.resource=function(a,d,e,f,g,h,i,j){var k=_.defaults(g||{},this.config.defaultRequestParams.common),l=_.defaults(f||{},this.config.defaultHeaders);i&&(b.isSafe(j)?l["If-None-Match"]=i:l["If-Match"]=i);var m=this.base(a);if(h){var n="";/\/$/.test(m)||(n+="/"),n+=h,m+=n}return this.config.suffix&&-1===m.indexOf(this.config.suffix,m.length-this.config.suffix.length)&&!this.config.getUrlFromElem(a)&&(m+=this.config.suffix),a[this.config.restangularFields.httpConfig]=void 0,c(this.config,d,m,{getList:this.config.withHttpValues(e,{method:"GET",params:k,headers:l}),get:this.config.withHttpValues(e,{method:"GET",params:k,headers:l}),jsonp:this.config.withHttpValues(e,{method:"jsonp",params:k,headers:l}),put:this.config.withHttpValues(e,{method:"PUT",params:k,headers:l}),post:this.config.withHttpValues(e,{method:"POST",params:k,headers:l}),remove:this.config.withHttpValues(e,{method:"DELETE",params:k,headers:l}),head:this.config.withHttpValues(e,{method:"HEAD",params:k,headers:l}),trace:this.config.withHttpValues(e,{method:"TRACE",params:k,headers:l}),options:this.config.withHttpValues(e,{method:"OPTIONS",params:k,headers:l}),patch:this.config.withHttpValues(e,{method:"PATCH",params:k,headers:l})})};var g=function(){};g.prototype=new f,g.prototype.base=function(a){var c=this;return _.reduce(this.parentsArray(a),function(a,d){var e,f=c.config.getUrlFromElem(d);if(f){if(c.config.isAbsoluteUrl(f))return f;e=f}else if(e=d[c.config.restangularFields.route],d[c.config.restangularFields.restangularCollection]){var g=d[c.config.restangularFields.ids];g&&(e+="/"+g.join(","))}else{var h;h=c.config.useCannonicalId?c.config.getCannonicalIdFromElem(d):c.config.getIdFromElem(d),b.isValidId(h)&&!d.singleOne&&(e+="/"+(c.config.encodeIds?encodeURIComponent(h):h))}return a.replace(/\/$/,"")+"/"+e},this.config.baseUrl)},g.prototype.fetchUrl=function(a,b){var c=this.base(a);return b&&(c+="/"+b),c},g.prototype.fetchRequestedUrl=function(a,c){function d(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b.sort()}function e(a,b,c){for(var e=d(a),f=0;f2?b[2]:null},a.prototype.displayList=function(a){this.$location.search("q",null),this.$location.search("page",1),this.$location.search("sortField",null),this.$location.search("sortOrder",null),this.$location.search("quickFilters",null),this.$location.path("/list/"+a.name())},a.prototype.isActive=function(a){return this.currentEntity===a.name()},a.prototype.destroy=function(){this.$scope=void 0,this.$location=void 0},a.$inject=["$scope","$location","NgAdminConfiguration"],a}),c("ng-admin/Main/component/service/PanelBuilder",[],function(){function a(a,b,c){this.$q=a,this.CrudManager=b,this.Configuration=c()}return a.prototype.getPanelsData=function(){var a,b,c=[],d=this;return angular.forEach(this.Configuration.getEntityNames(),function(e){a=d.Configuration.getEntity(e),b=a.dashboard(),b&&c.push(d.CrudManager.getAll(e,1,b))}),this.$q.all(c)},a.$inject=["$q","CrudManager","NgAdminConfiguration"],a}),c("ng-admin/Main/component/service/Validator",[],function(){function a(a){this.Configuration=a()}return a.prototype.validate=function(a,b){var c=this.Configuration.getEntity(a);return"undefined"==typeof c?!1:void angular.forEach(c.getFields(),function(a,c){var d=a.validation();if("function"==typeof d.validator&&!d.validator(b[c]))throw new Error("Field "+a.label()+" is not valid.")})},a.$inject=["NgAdminConfiguration"],a}),c("ng-admin/Main/component/service/config/Configurable",[],function(){function a(a,b){for(var c in b)!function(b){a[b]=function(a){return arguments.length?(this.config[b]=a,this):this.config[b]}}(c)}return a}),c("ng-admin/Main/component/service/config/Application",["require","ng-admin/Main/component/service/config/Configurable"],function(a){function b(){return{}}function c(a){this.entities={},this.config=angular.copy(e),this.config.title=a||this.config.title}var d=a("ng-admin/Main/component/service/config/Configurable"),e={title:"Angular admin",baseApiUrl:"http://localhost:3000/",headers:b};return c.prototype.addEntity=function(a){return null===a.order()&&a.order(Object.keys(this.entities).length),this.entities[a.name()]=a,this},c.prototype.hasEntity=function(a){return a in this.entities},c.prototype.getEntity=function(a){return this.entities[a]},c.prototype.getEntities=function(){return this.entities},c.prototype.getEntityNames=function(){return Object.keys(this.entities)},c.prototype.getHeaders=function(a,b){var c=this.headers();return"function"==typeof c?c(a,b):headersc},d(c.prototype,e),c}),c("ng-admin/Main/component/service/config/Field",["require","ng-admin/Main/component/service/config/Configurable"],function(a){function b(a){this.value=null,this.config=angular.copy(h),this.config.name=a||"field",this.entity=null}var c=a("ng-admin/Main/component/service/config/Configurable"),d=["number","string","text","boolean","wysiwyg","email","date","callback","choice","password"],e=["read-only","editable"],f=function(a){return a},g=function(){return""},h={name:"myField",type:"string",label:"My field",edition:"editable",order:null,identifier:!1,format:"yyyy-MM-dd",valueTransformer:f,callback:g,isEditLink:!0,list:!0,dashboard:!0,truncateList:!1,validation:{required:!1},choices:[],defaultValue:null};return b.prototype.type=function(a){if(0===arguments.length)return this.config.type;if(-1===d.indexOf(a))throw'Type should be one of : "'+d.join('", "')+'", "'+a+'" given.';return this.config.type=a,this},b.prototype.edition=function(a){if(0===arguments.length)return this.config.edition;if(-1===e.indexOf(a))throw"Edition should be one of "+e.join(", ")+". "+a+"given.";return this.config.edition=a,this},b.prototype.getTruncatedListValue=function(a,b){return this.config.truncateList&&(a=this.config.truncateList(a,b)),a},b.prototype.setEntity=function(a){return this.entity=a,this},b.prototype.getEntity=function(){return this.entity},b.prototype.getSortName=function(){return this.entity.name()+"."+this.name()},b.prototype.getCallbackValue=function(a){return this.callback()(a)},b.prototype.getListValue=function(){return this.value},b.prototype.clear=function(){return this.value=null,this},b.prototype.processDefaultValue=function(){!this.value&&this.defaultValue()&&(this.value=this.defaultValue())},c(b.prototype,h),b}),c("ng-admin/Main/component/service/config/Reference",["require","ng-admin/Main/component/service/config/Configurable"],function(a){function b(a){this.entity=null,this.value=null,this.referencedValue=null,this.choices={},this.config=angular.copy(g),this.config.name=a||"reference"}var c=a("ng-admin/Main/component/service/config/Configurable"),d=["number","text","email","date"],e=["read-only","editable"],f=function(a){return a},g={name:"myReference",type:"reference",label:"My reference",edition:"editable",order:null,targetEntity:null,targetLabel:null,valueTransformer:f,list:!0,dashboard:!0,identifier:!1,isEditLink:!0,validation:{required:!1},defaultValue:null};return b.prototype.edition=function(a){if(0===arguments.length)return this.config.edition;if(-1===e.indexOf(a))throw new Exception("Type should be one of "+d.join(", "));return this.config.edition=a,this},b.prototype.getChoices=function(){return this.choices},b.prototype.setChoices=function(a){return this.choices=a,this},b.prototype.setEntity=function(a){return this.entity=a,this},b.prototype.getEntity=function(){return this.entity},b.prototype.getSortName=function(){return this.entity.name()+"."+this.name() -},b.prototype.clear=function(){return this.value=null,this},b.prototype.getListValue=function(){return this.referencedValue},b.prototype.processDefaultValue=function(){!this.value&&this.defaultValue()&&(this.value=this.defaultValue())},c(b.prototype,g),b}),c("ng-admin/Main/component/service/config/ReferencedList",["require","ng-admin/Main/component/service/config/Configurable"],function(a){function b(a){this.entity=null,this.config=angular.copy(f),this.config.name=a||"reference"}var c=a("ng-admin/Main/component/service/config/Configurable"),d=[],e=function(a){return a},f={name:"myReference",type:"referenced-list",label:"My list",edition:"editable",list:!1,order:null,valueTransformer:e,targetEntity:null,targetField:null,targetFields:[],isEditLink:!0,validation:{required:!1},defaultValue:null};return b.prototype.getItems=function(){return d},b.prototype.setItems=function(a){return d=a,this},b.prototype.getReferenceManyFields=function(){var a=[];return angular.forEach(this.targetFields(),function(b){"reference-many"===b.type()&&a.push(b)}),a},b.prototype.getGridColumns=function(){for(var a=[],b=0,c=this.config.targetFields.length;c>b;b++){var d=this.config.targetFields[b];a.push({field:d,label:d.label()})}return a},b.prototype.setEntity=function(a){return this.entity=a,this},b.prototype.getEntity=function(){return this.entity},b.prototype.getSortName=function(){return this.entity.name()+"."+this.name()},b.prototype.clear=function(){return this},b.prototype.processDefaultValue=function(){!this.value&&this.defaultValue()&&(this.value=this.defaultValue())},c(b.prototype,f),b}),c("ng-admin/Main/component/service/config/ReferenceMany",["require","ng-admin/Main/component/service/config/Configurable"],function(a){function b(a){this.entity=null,this.value=[],this.choices={},this.config=angular.copy(g),this.config.name=a||"reference-many"}var c=a("ng-admin/Main/component/service/config/Configurable"),d=["number","text","email","date"],e=["read-only","editable"],f=function(a){return"object"==typeof a&&"number"==typeof a.length?a:[a]},g={name:"myReference",type:"reference-many",label:"My references",edition:"editable",order:null,targetEntity:null,targetField:null,targetLabel:null,valueTransformer:f,list:!0,dashboard:!0,identifier:!1,isEditLink:!0,validation:{required:!1},defaultValue:null};return b.prototype.edition=function(a){if(0===arguments.length)return this.config.edition;if(-1===e.indexOf(a))throw new Exception("Type should be one of "+d.join(", "));return this.config.edition=a,this},b.prototype.getChoices=function(){return this.choices},b.prototype.setChoices=function(a){return this.choices=a,this},b.prototype.setEntity=function(a){return this.entity=a,this},b.prototype.getEntity=function(){return this.entity},b.prototype.getSortName=function(){return this.entity.name()+"."+this.name()},b.prototype.clear=function(){return this.value=[],this},b.prototype.processDefaultValue=function(){!this.value&&this.defaultValue()&&(this.value=this.defaultValue())},c(b.prototype,g),b}),c("ng-admin/Main/component/service/config/Entity",["require","angular","ng-admin/Main/component/service/config/Configurable","ng-admin/Main/component/service/config/Field","ng-admin/Main/component/service/config/Reference","ng-admin/Main/component/service/config/ReferencedList","ng-admin/Main/component/service/config/ReferenceMany"],function(a){function b(a,b){var c=a;return"function"==typeof c&&(c=c(b)),c}function c(a){this.fields={},this.quickFilters={},this.config=d.copy(p),this.config.name=a||"entity"}var d=a("angular"),e=a("ng-admin/Main/component/service/config/Configurable"),f={Field:a("ng-admin/Main/component/service/config/Field"),Reference:a("ng-admin/Main/component/service/config/Reference"),ReferencedList:a("ng-admin/Main/component/service/config/ReferencedList"),ReferenceMany:a("ng-admin/Main/component/service/config/ReferenceMany")},g=function(a,b){return{page:a,per_page:b}},h=function(a){return{q:a}},i=function(a){return a},j=function(a){return a.headers("X-Total-Count")||0},k=function(a){return"List of "+a.label()},l=function(a){return"Edit "+a.label()},m=function(a){return"Create "+a.label()},n=function(){return null},o=function(a,b){return{params:{_sort:a,_sortDir:b},headers:{}}},p={name:"entity",label:"My entity",order:null,titleList:k,titleCreate:m,titleEdit:l,description:n,dashboard:5,perPage:30,pagination:g,filterQuery:h,filterParams:i,infinitePagination:!1,totalItems:j,extraParams:null,sortParams:o,interceptor:null};return c.prototype.addField=function(a){return null===a.order()&&a.order(Object.keys(this.fields).length),a.setEntity(this),this.fields[a.name()]=a,this},c.prototype.getFields=function(){return this.fields},c.prototype.getField=function(a){return this.fields[a]},c.prototype.getIdentifier=function(){for(var a in this.fields)if(this.fields.hasOwnProperty(a)){var b=this.fields[a];if(b.identifier())return b}},c.prototype.getReferences=function(){var a=this.getFieldsOfType("Reference"),b=this.getFieldsOfType("ReferenceMany");return d.forEach(b,function(b,c){a[c]=b}),a},c.prototype.getReferencedLists=function(){return this.getFieldsOfType("ReferencedList")},c.prototype.getFieldsOfType=function(a){var b={};for(var c in this.fields)if(this.fields.hasOwnProperty(c)){var d=this.fields[c];d instanceof f[a]&&(b[c]=d)}return b},c.prototype.getExtraParams=function(){var a={};return this.config.extraParams&&(a="function"==typeof this.config.extraParams?this.config.extraParams():this.config.extraParams),a},c.prototype.getSortParams=function(a,b){return"function"==typeof this.config.sortParams?this.config.sortParams(a,b):this.config.sortParams},c.prototype.getListTitle=function(){return b(this.config.titleList,this)},c.prototype.getCreateTitle=function(){return b(this.config.titleCreate,this)},c.prototype.getEditTitle=function(){return b(this.config.titleEdit,this)},c.prototype.getDescription=function(){return b(this.config.description,this)},c.prototype.addQuickFilter=function(a,b){return this.quickFilters[a]=b,this},c.prototype.getQuickFilterNames=function(){return Object.keys(this.quickFilters)},c.prototype.getQuickFilterParams=function(a){var b=this.quickFilters[a];return"function"==typeof b&&(b=b()),b},c.prototype.isNew=function(){var a=this.getIdentifier();return!a||null===a.value},c.prototype.clear=function(){d.forEach(this.getFields(),function(a){a.clear()})},e(c.prototype,p),c}),c("ng-admin/Main/component/provider/NgAdminConfiguration",[],function(){function a(){this.config=null}return a.prototype.configure=function(a){this.config=a},a.prototype.$get=function(){var a=this;return function(){return a.config}},a.$inject=[],a}),c("ng-admin/Main/component/filter/OrderElement",[],function(){function a(){return function(a){var b=[];for(var c in a)b.push(a[c]);return b.sort(function(a,b){return a.order()-b.order()}),b}}return a.$inject=[],a}),c("text",["module"],function(a){var c,d,e,f,g,h=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"],i=/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,j=/]*>\s*([\s\S]+)\s*<\/body>/im,k="undefined"!=typeof location&&location.href,l=k&&location.protocol&&location.protocol.replace(/\:/,""),m=k&&location.hostname,n=k&&(location.port||void 0),o={},p=a.config&&a.config()||{};return c={version:"2.0.12",strip:function(a){if(a){a=a.replace(i,"");var b=a.match(j);b&&(a=b[1])}else a="";return a},jsEscape:function(a){return a.replace(/(['\\])/g,"\\$1").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r").replace(/[\u2028]/g,"\\u2028").replace(/[\u2029]/g,"\\u2029")},createXhr:p.createXhr||function(){var a,b,c;if("undefined"!=typeof XMLHttpRequest)return new XMLHttpRequest;if("undefined"!=typeof ActiveXObject)for(b=0;3>b;b+=1){c=h[b];try{a=new ActiveXObject(c)}catch(d){}if(a){h=[c];break}}return a},parseName:function(a){var b,c,d,e=!1,f=a.indexOf("."),g=0===a.indexOf("./")||0===a.indexOf("../");return-1!==f&&(!g||f>1)?(b=a.substring(0,f),c=a.substring(f+1,a.length)):b=a,d=c||b,f=d.indexOf("!"),-1!==f&&(e="strip"===d.substring(f+1),d=d.substring(0,f),c?c=d:b=d),{moduleName:b,ext:c,strip:e}},xdRegExp:/^((\w+)\:)?\/\/([^\/\\]+)/,useXhr:function(a,b,d,e){var f,g,h,i=c.xdRegExp.exec(a);return i?(f=i[2],g=i[3],g=g.split(":"),h=g[1],g=g[0],!(f&&f!==b||g&&g.toLowerCase()!==d.toLowerCase()||(h||g)&&h!==e)):!0},finishLoad:function(a,b,d,e){d=b?c.strip(d):d,p.isBuild&&(o[a]=d),e(d)},load:function(a,b,d,e){if(e&&e.isBuild&&!e.inlineText)return void d();p.isBuild=e&&e.isBuild;var f=c.parseName(a),g=f.moduleName+(f.ext?"."+f.ext:""),h=b.toUrl(g),i=p.useXhr||c.useXhr;return 0===h.indexOf("empty:")?void d():void(!k||i(h,l,m,n)?c.get(h,function(b){c.finishLoad(a,f.strip,b,d)},function(a){d.error&&d.error(a)}):b([g],function(a){c.finishLoad(f.moduleName+"."+f.ext,f.strip,a,d)}))},write:function(a,b,d){if(o.hasOwnProperty(b)){var e=c.jsEscape(o[b]);d.asModule(a+"!"+b,"define(function () { return '"+e+"';});\n")}},writeFile:function(a,b,d,e,f){var g=c.parseName(b),h=g.ext?"."+g.ext:"",i=g.moduleName+h,j=d.toUrl(g.moduleName+h)+".js";c.load(i,d,function(){var b=function(a){return e(j,a)};b.asModule=function(a,b){return e.asModule(a,j,b)},c.write(a,i,b,f)},f)}},"node"===p.env||!p.env&&"undefined"!=typeof process&&process.versions&&process.versions.node&&!process.versions["node-webkit"]?(d=b.nodeRequire("fs"),c.get=function(a,b,c){try{var e=d.readFileSync(a,"utf8");0===e.indexOf("")&&(e=e.substring(1)),b(e)}catch(f){c&&c(f)}}):"xhr"===p.env||!p.env&&c.createXhr()?c.get=function(a,b,d,e){var f,g=c.createXhr();if(g.open("GET",a,!0),e)for(f in e)e.hasOwnProperty(f)&&g.setRequestHeader(f.toLowerCase(),e[f]);p.onXhr&&p.onXhr(g,a),g.onreadystatechange=function(){var c,e;4===g.readyState&&(c=g.status||0,c>399&&600>c?(e=new Error(a+" HTTP status: "+c),e.xhr=g,d&&d(e)):b(g.responseText),p.onXhrComplete&&p.onXhrComplete(g,a))},g.send(null)}:"rhino"===p.env||!p.env&&"undefined"!=typeof Packages&&"undefined"!=typeof java?c.get=function(a,b){var c,d,e="utf-8",f=new java.io.File(a),g=java.lang.System.getProperty("line.separator"),h=new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(f),e)),i="";try{for(c=new java.lang.StringBuffer,d=h.readLine(),d&&d.length()&&65279===d.charAt(0)&&(d=d.substring(1)),null!==d&&c.append(d);null!==(d=h.readLine());)c.append(g),c.append(d);i=String(c.toString())}finally{h.close()}b(i)}:("xpconnect"===p.env||!p.env&&"undefined"!=typeof Components&&Components.classes&&Components.interfaces)&&(e=Components.classes,f=Components.interfaces,Components.utils["import"]("resource://gre/modules/FileUtils.jsm"),g="@mozilla.org/windows-registry-key;1"in e,c.get=function(a,b){var c,d,h,i={};g&&(a=a.replace(/\//g,"\\")),h=new FileUtils.File(a);try{c=e["@mozilla.org/network/file-input-stream;1"].createInstance(f.nsIFileInputStream),c.init(h,1,0,!1),d=e["@mozilla.org/intl/converter-input-stream;1"].createInstance(f.nsIConverterInputStream),d.init(c,"utf-8",c.available(),f.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER),d.readString(c.available(),i),d.close(),c.close(),b(i.value)}catch(j){throw new Error((h&&h.path||"")+": "+j)}}),c}),c("text!ng-admin/Main/view/dashboard-panel.html",[],function(){return'
\n {{ panel.label }}\n
\n\n\n'}),c("ng-admin/Main/component/directive/DashboardPanel",["require","angular","text!../../view/dashboard-panel.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../view/dashboard-panel.html"));return b.$inject=[],b}),c("text!ng-admin/Main/view/menu.html",[],function(){return'\n'}),c("ng-admin/Main/component/directive/Menu",["require","angular","text!../../view/menu.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../view/menu.html"));return b.$inject=[],b}),c("text!ng-admin/Main/view/layout.html",[],function(){return'
\n \n\n \n\n
\n
\n
\n
\n
\n'}),c("text!ng-admin/Main/view/dashboard.html",[],function(){return'
\n
\n

Dashboard

\n
\n
\n\n
\n
\n \n
\n
\n'}),c("ng-admin/Main/config/routing",["require","text!../view/layout.html","text!../view/dashboard.html"],function(a){function b(a,b){a.state("main",{"abstract":!0,controller:"AppController",controllerAs:"appController",template:c}),a.state("dashboard",{parent:"main",url:"/dashboard",controller:"DashboardController",controllerAs:"dashboardController",template:d}),b.otherwise("/dashboard")}var c=a("text!../view/layout.html"),d=a("text!../view/dashboard.html");return b.$inject=["$stateProvider","$urlRouterProvider"],b}),c("ng-admin/Main/run/Loader",["require"],function(){function a(a,b,c){a.$on("$stateChangeStart",function(){c.start(),b.scrollTo(0,0)}),a.$on("$stateChangeSuccess",c.done.bind(c))}return a.$inject=["$rootScope","$window","progress"],a}),c("MainModule",["require","angular","angular-ui-router","restangular","ng-admin/Main/component/controller/AppController","ng-admin/Main/component/controller/DashboardController","ng-admin/Main/component/controller/SidebarController","ng-admin/Main/component/service/PanelBuilder","ng-admin/Main/component/service/Validator","ng-admin/Main/component/service/config/Application","ng-admin/Main/component/service/config/Entity","ng-admin/Main/component/service/config/Field","ng-admin/Main/component/service/config/Reference","ng-admin/Main/component/service/config/ReferencedList","ng-admin/Main/component/service/config/ReferenceMany","ng-admin/Main/component/provider/NgAdminConfiguration","ng-admin/Main/component/filter/OrderElement","ng-admin/Main/component/directive/DashboardPanel","ng-admin/Main/component/directive/Menu","ng-admin/Main/config/routing","ng-admin/Main/run/Loader"],function(a){var b=a("angular");a("angular-ui-router"),a("restangular");var c=b.module("main",["ui.router","restangular"]);return c.controller("AppController",a("ng-admin/Main/component/controller/AppController")),c.controller("DashboardController",a("ng-admin/Main/component/controller/DashboardController")),c.controller("SidebarController",a("ng-admin/Main/component/controller/SidebarController")),c.service("PanelBuilder",a("ng-admin/Main/component/service/PanelBuilder")),c.service("Validator",a("ng-admin/Main/component/service/Validator")),c.constant("Application",a("ng-admin/Main/component/service/config/Application")),c.constant("Entity",a("ng-admin/Main/component/service/config/Entity")),c.constant("Field",a("ng-admin/Main/component/service/config/Field")),c.constant("Reference",a("ng-admin/Main/component/service/config/Reference")),c.constant("ReferencedList",a("ng-admin/Main/component/service/config/ReferencedList")),c.constant("ReferenceMany",a("ng-admin/Main/component/service/config/ReferenceMany")),c.provider("NgAdminConfiguration",a("ng-admin/Main/component/provider/NgAdminConfiguration")),c.filter("orderElement",a("ng-admin/Main/component/filter/OrderElement")),c.directive("dashboardPanel",a("ng-admin/Main/component/directive/DashboardPanel")),c.directive("menu",a("ng-admin/Main/component/directive/Menu")),c.config(a("ng-admin/Main/config/routing")),c.run(a("ng-admin/Main/run/Loader")),c}),function(a,b){function c(){this.$get=["$$sanitizeUri",function(a){return function(b){var c=[];return f(b,i(c,function(b,c){return!/^unsafe/.test(a(b,c))})),c.join("")}}]}function d(a){var c=[],d=i(c,b.noop);return d.chars(a),c.join("")}function e(a){var b,c={},d=a.split(",");for(b=0;b=0&&t[f]!=d;f--);if(f>=0){for(e=t.length-1;e>=f;e--)c.end&&c.end(t[e]);t.length=f}}"string"!=typeof a&&(a=null===a||"undefined"==typeof a?"":""+a);var f,h,i,s,t=[],v=a;for(t.last=function(){return t[t.length-1]};a;){if(s="",h=!0,t.last()&&A[t.last()]?(a=a.replace(new RegExp("(.*)<\\s*\\/\\s*"+t.last()+"[^>]*>","i"),function(a,b){return b=b.replace(p,"$1").replace(r,"$1"),c.chars&&c.chars(g(b)),""}),e("",t.last())):(0===a.indexOf("",f)===f&&(c.comment&&c.comment(a.substring(4,f)),a=a.substring(f+3),h=!1)):q.test(a)?(i=a.match(q),i&&(a=a.replace(i[0],""),h=!1)):o.test(a)?(i=a.match(l),i&&(a=a.substring(i[0].length),i[0].replace(l,e),h=!1)):n.test(a)&&(i=a.match(k),i?(i[4]&&(a=a.substring(i[0].length),i[0].replace(k,d)),h=!1):(s+="<",a=a.substring(1))),h&&(f=a.indexOf("<"),s+=0>f?a:a.substring(0,f),a=0>f?"":a.substring(f),c.chars&&c.chars(g(s)))),a==v)throw j("badparse","The sanitizer was unable to parse the following block of html: {0}",a);v=a}e()}function g(a){if(!a)return"";var b=F.exec(a),c=b[1],d=b[3],e=b[2];return e&&(E.innerHTML=e.replace(//g,">")}function i(a,c){var d=!1,e=b.bind(a,a.push);return{start:function(a,f,g){a=b.lowercase(a),!d&&A[a]&&(d=a),d||B[a]!==!0||(e("<"),e(a),b.forEach(f,function(d,f){var g=b.lowercase(f),i="img"===a&&"src"===g||"background"===g;D[g]!==!0||C[g]===!0&&!c(d,i)||(e(" "),e(f),e('="'),e(h(d)),e('"'))}),e(g?"/>":">"))},end:function(a){a=b.lowercase(a),d||B[a]!==!0||(e("")),a==d&&(d=!1)},chars:function(a){d||e(h(a))}}}var j=b.$$minErr("$sanitize"),k=/^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/,l=/^<\/\s*([\w:-]+)[^>]*>/,m=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,n=/^/g,q=/]*?)>/i,r=//g,s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,t=/([^\#-~| |!])/g,u=e("area,br,col,hr,img,wbr"),v=e("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),w=e("rp,rt"),x=b.extend({},w,v),y=b.extend({},v,e("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")),z=b.extend({},w,e("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),A=e("script,style"),B=b.extend({},u,y,z,x),C=e("background,cite,href,longdesc,src,usemap"),D=b.extend({},C,e("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,target,title,type,valign,value,vspace,width")),E=document.createElement("pre"),F=/^(\s*)([\s\S]*?)(\s*)$/;b.module("ngSanitize",[]).provider("$sanitize",c),b.module("ngSanitize").filter("linky",["$sanitize",function(a){var c=/((ftp|https?):\/\/|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"]/,e=/^mailto:/;return function(f,g){function h(a){a&&n.push(d(a))}function i(a,c){n.push("'),h(c),n.push("")}if(!f)return f;for(var j,k,l,m=f,n=[];j=m.match(c);)k=j[0],j[2]==j[3]&&(k="mailto:"+k),l=j.index,h(m.substr(0,l)),i(k,j[0].replace(e,"")),m=m.substring(l+j[0].length);return h(m),a(n.join(""))}}])}(window,window.angular),c("angular-sanitize",["angular"],function(){}),angular.module("ui.bootstrap",["ui.bootstrap.transition","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.bindHtml","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdown","ui.bootstrap.modal","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]),angular.module("ui.bootstrap.transition",[]).factory("$transition",["$q","$timeout","$rootScope",function(a,b,c){function d(a){for(var b in a)if(void 0!==f.style[b])return a[b]}var e=function(d,f,g){g=g||{};var h=a.defer(),i=e[g.animation?"animationEndEventName":"transitionEndEventName"],j=function(){c.$apply(function(){d.unbind(i,j),h.resolve(d)})};return i&&d.bind(i,j),b(function(){angular.isString(f)?d.addClass(f):angular.isFunction(f)?f(d):angular.isObject(f)&&d.css(f),i||h.resolve(d)}),h.promise.cancel=function(){i&&d.unbind(i,j),h.reject("Transition cancelled")},h.promise},f=document.createElement("trans"),g={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"},h={WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"};return e.transitionEndEventName=d(g),e.animationEndEventName=d(h),e}]),angular.module("ui.bootstrap.collapse",["ui.bootstrap.transition"]).directive("collapse",["$transition",function(a){return{link:function(b,c,d){function e(b){function d(){j===e&&(j=void 0)}var e=a(c,b);return j&&j.cancel(),j=e,e.then(d,d),e}function f(){k?(k=!1,g()):(c.removeClass("collapse").addClass("collapsing"),e({height:c[0].scrollHeight+"px"}).then(g))}function g(){c.removeClass("collapsing"),c.addClass("collapse in"),c.css({height:"auto"})}function h(){k?(k=!1,i(),c.css({height:0})):(c.css({height:c[0].scrollHeight+"px"}),c[0].offsetWidth,c.removeClass("collapse in").addClass("collapsing"),e({height:0}).then(i))}function i(){c.removeClass("collapsing"),c.addClass("collapse")}var j,k=!0;b.$watch(d.collapse,function(a){a?h():f()})}}}]),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("accordionConfig",{closeOthers:!0}).controller("AccordionController",["$scope","$attrs","accordionConfig",function(a,b,c){this.groups=[],this.closeOthers=function(d){var e=angular.isDefined(b.closeOthers)?a.$eval(b.closeOthers):c.closeOthers;e&&angular.forEach(this.groups,function(a){a!==d&&(a.isOpen=!1)})},this.addGroup=function(a){var b=this;this.groups.push(a),a.$on("$destroy",function(){b.removeGroup(a)})},this.removeGroup=function(a){var b=this.groups.indexOf(a);-1!==b&&this.groups.splice(b,1)}}]).directive("accordion",function(){return{restrict:"EA",controller:"AccordionController",transclude:!0,replace:!1,templateUrl:"template/accordion/accordion.html"}}).directive("accordionGroup",function(){return{require:"^accordion",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/accordion/accordion-group.html",scope:{heading:"@",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(a){this.heading=a}},link:function(a,b,c,d){d.addGroup(a),a.$watch("isOpen",function(b){b&&d.closeOthers(a)}),a.toggleOpen=function(){a.isDisabled||(a.isOpen=!a.isOpen)}}}}).directive("accordionHeading",function(){return{restrict:"EA",transclude:!0,template:"",replace:!0,require:"^accordionGroup",link:function(a,b,c,d,e){d.setHeading(e(a,function(){}))}}}).directive("accordionTransclude",function(){return{require:"^accordionGroup",link:function(a,b,c,d){a.$watch(function(){return d[c.accordionTransclude]},function(a){a&&(b.html(""),b.append(a))})}}}),angular.module("ui.bootstrap.alert",[]).controller("AlertController",["$scope","$attrs",function(a,b){a.closeable="close"in b}]).directive("alert",function(){return{restrict:"EA",controller:"AlertController",templateUrl:"template/alert/alert.html",transclude:!0,replace:!0,scope:{type:"@",close:"&"}}}),angular.module("ui.bootstrap.bindHtml",[]).directive("bindHtmlUnsafe",function(){return function(a,b,c){b.addClass("ng-binding").data("$binding",c.bindHtmlUnsafe),a.$watch(c.bindHtmlUnsafe,function(a){b.html(a||"")})}}),angular.module("ui.bootstrap.buttons",[]).constant("buttonConfig",{activeClass:"active",toggleEvent:"click"}).controller("ButtonsController",["buttonConfig",function(a){this.activeClass=a.activeClass||"active",this.toggleEvent=a.toggleEvent||"click"}]).directive("btnRadio",function(){return{require:["btnRadio","ngModel"],controller:"ButtonsController",link:function(a,b,c,d){var e=d[0],f=d[1];f.$render=function(){b.toggleClass(e.activeClass,angular.equals(f.$modelValue,a.$eval(c.btnRadio)))},b.bind(e.toggleEvent,function(){var d=b.hasClass(e.activeClass);(!d||angular.isDefined(c.uncheckable))&&a.$apply(function(){f.$setViewValue(d?null:a.$eval(c.btnRadio)),f.$render()})})}}}).directive("btnCheckbox",function(){return{require:["btnCheckbox","ngModel"],controller:"ButtonsController",link:function(a,b,c,d){function e(){return g(c.btnCheckboxTrue,!0)}function f(){return g(c.btnCheckboxFalse,!1)}function g(b,c){var d=a.$eval(b);return angular.isDefined(d)?d:c}var h=d[0],i=d[1];i.$render=function(){b.toggleClass(h.activeClass,angular.equals(i.$modelValue,e()))},b.bind(h.toggleEvent,function(){a.$apply(function(){i.$setViewValue(b.hasClass(h.activeClass)?f():e()),i.$render()})})}}}),angular.module("ui.bootstrap.carousel",["ui.bootstrap.transition"]).controller("CarouselController",["$scope","$timeout","$transition",function(a,b,c){function d(){e();var c=+a.interval;!isNaN(c)&&c>=0&&(g=b(f,c))}function e(){g&&(b.cancel(g),g=null)}function f(){h?(a.next(),d()):a.pause()}var g,h,i=this,j=i.slides=a.slides=[],k=-1;i.currentSlide=null;var l=!1;i.select=a.select=function(e,f){function g(){l||(i.currentSlide&&angular.isString(f)&&!a.noTransition&&e.$element?(e.$element.addClass(f),e.$element[0].offsetWidth,angular.forEach(j,function(a){angular.extend(a,{direction:"",entering:!1,leaving:!1,active:!1})}),angular.extend(e,{direction:f,active:!0,entering:!0}),angular.extend(i.currentSlide||{},{direction:f,leaving:!0}),a.$currentTransition=c(e.$element,{}),function(b,c){a.$currentTransition.then(function(){h(b,c)},function(){h(b,c)})}(e,i.currentSlide)):h(e,i.currentSlide),i.currentSlide=e,k=m,d())}function h(b,c){angular.extend(b,{direction:"",active:!0,leaving:!1,entering:!1}),angular.extend(c||{},{direction:"",active:!1,leaving:!1,entering:!1}),a.$currentTransition=null}var m=j.indexOf(e);void 0===f&&(f=m>k?"next":"prev"),e&&e!==i.currentSlide&&(a.$currentTransition?(a.$currentTransition.cancel(),b(g)):g())},a.$on("$destroy",function(){l=!0}),i.indexOfSlide=function(a){return j.indexOf(a)},a.next=function(){var b=(k+1)%j.length;return a.$currentTransition?void 0:i.select(j[b],"next")},a.prev=function(){var b=0>k-1?j.length-1:k-1;return a.$currentTransition?void 0:i.select(j[b],"prev")},a.isActive=function(a){return i.currentSlide===a},a.$watch("interval",d),a.$on("$destroy",e),a.play=function(){h||(h=!0,d())},a.pause=function(){a.noPause||(h=!1,e())},i.addSlide=function(b,c){b.$element=c,j.push(b),1===j.length||b.active?(i.select(j[j.length-1]),1==j.length&&a.play()):b.active=!1},i.removeSlide=function(a){var b=j.indexOf(a);j.splice(b,1),j.length>0&&a.active?i.select(b>=j.length?j[b-1]:j[b]):k>b&&k--}}]).directive("carousel",[function(){return{restrict:"EA",transclude:!0,replace:!0,controller:"CarouselController",require:"carousel",templateUrl:"template/carousel/carousel.html",scope:{interval:"=",noTransition:"=",noPause:"="}}}]).directive("slide",function(){return{require:"^carousel",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/carousel/slide.html",scope:{active:"=?"},link:function(a,b,c,d){d.addSlide(a,b),a.$on("$destroy",function(){d.removeSlide(a)}),a.$watch("active",function(b){b&&d.select(a)})}}}),angular.module("ui.bootstrap.dateparser",[]).service("dateParser",["$locale","orderByFilter",function(a,b){function c(a){var c=[],d=a.split("");return angular.forEach(e,function(b,e){var f=a.indexOf(e);if(f>-1){a=a.split(""),d[f]="("+b.regex+")",a[f]="$";for(var g=f+1,h=f+e.length;h>g;g++)d[g]="",a[g]="$";a=a.join(""),c.push({index:f,apply:b.apply})}}),{regex:new RegExp("^"+d.join("")+"$"),map:b(c,"index")}}function d(a,b,c){return 1===b&&c>28?29===c&&(a%4===0&&a%100!==0||a%400===0):3===b||5===b||8===b||10===b?31>c:!0}this.parsers={};var e={yyyy:{regex:"\\d{4}",apply:function(a){this.year=+a}},yy:{regex:"\\d{2}",apply:function(a){this.year=+a+2e3}},y:{regex:"\\d{1,4}",apply:function(a){this.year=+a}},MMMM:{regex:a.DATETIME_FORMATS.MONTH.join("|"),apply:function(b){this.month=a.DATETIME_FORMATS.MONTH.indexOf(b)}},MMM:{regex:a.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(b){this.month=a.DATETIME_FORMATS.SHORTMONTH.indexOf(b)}},MM:{regex:"0[1-9]|1[0-2]",apply:function(a){this.month=a-1}},M:{regex:"[1-9]|1[0-2]",apply:function(a){this.month=a-1}},dd:{regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},d:{regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},EEEE:{regex:a.DATETIME_FORMATS.DAY.join("|")},EEE:{regex:a.DATETIME_FORMATS.SHORTDAY.join("|")}};this.parse=function(b,e){if(!angular.isString(b)||!e)return b;e=a.DATETIME_FORMATS[e]||e,this.parsers[e]||(this.parsers[e]=c(e));var f=this.parsers[e],g=f.regex,h=f.map,i=b.match(g);if(i&&i.length){for(var j,k={year:1900,month:0,date:1,hours:0},l=1,m=i.length;m>l;l++){var n=h[l-1];n.apply&&n.apply.call(k,i[l])}return d(k.year,k.month,k.date)&&(j=new Date(k.year,k.month,k.date,k.hours)),j}}}]),angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function(a,b){function c(a,c){return a.currentStyle?a.currentStyle[c]:b.getComputedStyle?b.getComputedStyle(a)[c]:a.style[c]}function d(a){return"static"===(c(a,"position")||"static")}var e=function(b){for(var c=a[0],e=b.offsetParent||c;e&&e!==c&&d(e);)e=e.offsetParent;return e||c};return{position:function(b){var c=this.offset(b),d={top:0,left:0},f=e(b[0]);f!=a[0]&&(d=this.offset(angular.element(f)),d.top+=f.clientTop-f.scrollTop,d.left+=f.clientLeft-f.scrollLeft);var g=b[0].getBoundingClientRect();return{width:g.width||b.prop("offsetWidth"),height:g.height||b.prop("offsetHeight"),top:c.top-d.top,left:c.left-d.left}},offset:function(c){var d=c[0].getBoundingClientRect();return{width:d.width||c.prop("offsetWidth"),height:d.height||c.prop("offsetHeight"),top:d.top+(b.pageYOffset||a[0].documentElement.scrollTop),left:d.left+(b.pageXOffset||a[0].documentElement.scrollLeft)}},positionElements:function(a,b,c,d){var e,f,g,h,i=c.split("-"),j=i[0],k=i[1]||"center";e=d?this.offset(a):this.position(a),f=b.prop("offsetWidth"),g=b.prop("offsetHeight");var l={center:function(){return e.left+e.width/2-f/2},left:function(){return e.left},right:function(){return e.left+e.width}},m={center:function(){return e.top+e.height/2-g/2},top:function(){return e.top},bottom:function(){return e.top+e.height}};switch(j){case"right":h={top:m[k](),left:l[j]()}; -break;case"left":h={top:m[k](),left:e.left-f};break;case"bottom":h={top:m[j](),left:l[k]()};break;default:h={top:e.top-g,left:l[k]()}}return h}}}]),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.position"]).constant("datepickerConfig",{formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",datepickerMode:"day",minMode:"day",maxMode:"year",showWeeks:!0,startingDay:0,yearRange:20,minDate:null,maxDate:null}).controller("DatepickerController",["$scope","$attrs","$parse","$interpolate","$timeout","$log","dateFilter","datepickerConfig",function(a,b,c,d,e,f,g,h){var i=this,j={$setViewValue:angular.noop};this.modes=["day","month","year"],angular.forEach(["formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","minMode","maxMode","showWeeks","startingDay","yearRange"],function(c,e){i[c]=angular.isDefined(b[c])?8>e?d(b[c])(a.$parent):a.$parent.$eval(b[c]):h[c]}),angular.forEach(["minDate","maxDate"],function(d){b[d]?a.$parent.$watch(c(b[d]),function(a){i[d]=a?new Date(a):null,i.refreshView()}):i[d]=h[d]?new Date(h[d]):null}),a.datepickerMode=a.datepickerMode||h.datepickerMode,a.uniqueId="datepicker-"+a.$id+"-"+Math.floor(1e4*Math.random()),this.activeDate=angular.isDefined(b.initDate)?a.$parent.$eval(b.initDate):new Date,a.isActive=function(b){return 0===i.compare(b.date,i.activeDate)?(a.activeDateId=b.uid,!0):!1},this.init=function(a){j=a,j.$render=function(){i.render()}},this.render=function(){if(j.$modelValue){var a=new Date(j.$modelValue),b=!isNaN(a);b?this.activeDate=a:f.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.'),j.$setValidity("date",b)}this.refreshView()},this.refreshView=function(){if(this.element){this._refreshView();var a=j.$modelValue?new Date(j.$modelValue):null;j.$setValidity("date-disabled",!a||this.element&&!this.isDisabled(a))}},this.createDateObject=function(a,b){var c=j.$modelValue?new Date(j.$modelValue):null;return{date:a,label:g(a,b),selected:c&&0===this.compare(a,c),disabled:this.isDisabled(a),current:0===this.compare(a,new Date)}},this.isDisabled=function(c){return this.minDate&&this.compare(c,this.minDate)<0||this.maxDate&&this.compare(c,this.maxDate)>0||b.dateDisabled&&a.dateDisabled({date:c,mode:a.datepickerMode})},this.split=function(a,b){for(var c=[];a.length>0;)c.push(a.splice(0,b));return c},a.select=function(b){if(a.datepickerMode===i.minMode){var c=j.$modelValue?new Date(j.$modelValue):new Date(0,0,0,0,0,0,0);c.setFullYear(b.getFullYear(),b.getMonth(),b.getDate()),j.$setViewValue(c),j.$render()}else i.activeDate=b,a.datepickerMode=i.modes[i.modes.indexOf(a.datepickerMode)-1]},a.move=function(a){var b=i.activeDate.getFullYear()+a*(i.step.years||0),c=i.activeDate.getMonth()+a*(i.step.months||0);i.activeDate.setFullYear(b,c,1),i.refreshView()},a.toggleMode=function(b){b=b||1,a.datepickerMode===i.maxMode&&1===b||a.datepickerMode===i.minMode&&-1===b||(a.datepickerMode=i.modes[i.modes.indexOf(a.datepickerMode)+b])},a.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};var k=function(){e(function(){i.element[0].focus()},0,!1)};a.$on("datepicker.focus",k),a.keydown=function(b){var c=a.keys[b.which];if(c&&!b.shiftKey&&!b.altKey)if(b.preventDefault(),b.stopPropagation(),"enter"===c||"space"===c){if(i.isDisabled(i.activeDate))return;a.select(i.activeDate),k()}else!b.ctrlKey||"up"!==c&&"down"!==c?(i.handleKeyDown(c,b),i.refreshView()):(a.toggleMode("up"===c?1:-1),k())}}]).directive("datepicker",function(){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/datepicker.html",scope:{datepickerMode:"=?",dateDisabled:"&"},require:["datepicker","?^ngModel"],controller:"DatepickerController",link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f)}}}).directive("daypicker",["dateFilter",function(a){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/day.html",require:"^datepicker",link:function(b,c,d,e){function f(a,b){return 1!==b||a%4!==0||a%100===0&&a%400!==0?i[b]:29}function g(a,b){var c=new Array(b),d=new Date(a),e=0;for(d.setHours(12);b>e;)c[e++]=new Date(d),d.setDate(d.getDate()+1);return c}function h(a){var b=new Date(a);b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/864e5)/7)+1}b.showWeeks=e.showWeeks,e.step={months:1},e.element=c;var i=[31,28,31,30,31,30,31,31,30,31,30,31];e._refreshView=function(){var c=e.activeDate.getFullYear(),d=e.activeDate.getMonth(),f=new Date(c,d,1),i=e.startingDay-f.getDay(),j=i>0?7-i:-i,k=new Date(f);j>0&&k.setDate(-j+1);for(var l=g(k,42),m=0;42>m;m++)l[m]=angular.extend(e.createDateObject(l[m],e.formatDay),{secondary:l[m].getMonth()!==d,uid:b.uniqueId+"-"+m});b.labels=new Array(7);for(var n=0;7>n;n++)b.labels[n]={abbr:a(l[n].date,e.formatDayHeader),full:a(l[n].date,"EEEE")};if(b.title=a(e.activeDate,e.formatDayTitle),b.rows=e.split(l,7),b.showWeeks){b.weekNumbers=[];for(var o=h(b.rows[0][0].date),p=b.rows.length;b.weekNumbers.push(o++)f;f++)c[f]=angular.extend(e.createDateObject(new Date(d,f,1),e.formatMonth),{uid:b.uniqueId+"-"+f});b.title=a(e.activeDate,e.formatMonthTitle),b.rows=e.split(c,3)},e.compare=function(a,b){return new Date(a.getFullYear(),a.getMonth())-new Date(b.getFullYear(),b.getMonth())},e.handleKeyDown=function(a){var b=e.activeDate.getMonth();if("left"===a)b-=1;else if("up"===a)b-=3;else if("right"===a)b+=1;else if("down"===a)b+=3;else if("pageup"===a||"pagedown"===a){var c=e.activeDate.getFullYear()+("pageup"===a?-1:1);e.activeDate.setFullYear(c)}else"home"===a?b=0:"end"===a&&(b=11);e.activeDate.setMonth(b)},e.refreshView()}}}]).directive("yearpicker",["dateFilter",function(){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/year.html",require:"^datepicker",link:function(a,b,c,d){function e(a){return parseInt((a-1)/f,10)*f+1}var f=d.yearRange;d.step={years:f},d.element=b,d._refreshView=function(){for(var b=new Array(f),c=0,g=e(d.activeDate.getFullYear());f>c;c++)b[c]=angular.extend(d.createDateObject(new Date(g+c,0,1),d.formatYear),{uid:a.uniqueId+"-"+c});a.title=[b[0].label,b[f-1].label].join(" - "),a.rows=d.split(b,5)},d.compare=function(a,b){return a.getFullYear()-b.getFullYear()},d.handleKeyDown=function(a){var b=d.activeDate.getFullYear();"left"===a?b-=1:"up"===a?b-=5:"right"===a?b+=1:"down"===a?b+=5:"pageup"===a||"pagedown"===a?b+=("pageup"===a?-1:1)*d.step.years:"home"===a?b=e(d.activeDate.getFullYear()):"end"===a&&(b=e(d.activeDate.getFullYear())+f-1),d.activeDate.setFullYear(b)},d.refreshView()}}}]).constant("datepickerPopupConfig",{datepickerPopup:"yyyy-MM-dd",currentText:"Today",clearText:"Clear",closeText:"Done",closeOnDateSelection:!0,appendToBody:!1,showButtonBar:!0}).directive("datepickerPopup",["$compile","$parse","$document","$position","dateFilter","dateParser","datepickerPopupConfig",function(a,b,c,d,e,f,g){return{restrict:"EA",require:"ngModel",scope:{isOpen:"=?",currentText:"@",clearText:"@",closeText:"@",dateDisabled:"&"},link:function(h,i,j,k){function l(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}function m(a){if(a){if(angular.isDate(a)&&!isNaN(a))return k.$setValidity("date",!0),a;if(angular.isString(a)){var b=f.parse(a,n)||new Date(a);return isNaN(b)?void k.$setValidity("date",!1):(k.$setValidity("date",!0),b)}return void k.$setValidity("date",!1)}return k.$setValidity("date",!0),null}var n,o=angular.isDefined(j.closeOnDateSelection)?h.$parent.$eval(j.closeOnDateSelection):g.closeOnDateSelection,p=angular.isDefined(j.datepickerAppendToBody)?h.$parent.$eval(j.datepickerAppendToBody):g.appendToBody;h.showButtonBar=angular.isDefined(j.showButtonBar)?h.$parent.$eval(j.showButtonBar):g.showButtonBar,h.getText=function(a){return h[a+"Text"]||g[a+"Text"]},j.$observe("datepickerPopup",function(a){n=a||g.datepickerPopup,k.$render()});var q=angular.element("
");q.attr({"ng-model":"date","ng-change":"dateSelection()"});var r=angular.element(q.children()[0]);j.datepickerOptions&&angular.forEach(h.$parent.$eval(j.datepickerOptions),function(a,b){r.attr(l(b),a)}),h.watchData={},angular.forEach(["minDate","maxDate","datepickerMode"],function(a){if(j[a]){var c=b(j[a]);if(h.$parent.$watch(c,function(b){h.watchData[a]=b}),r.attr(l(a),"watchData."+a),"datepickerMode"===a){var d=c.assign;h.$watch("watchData."+a,function(a,b){a!==b&&d(h.$parent,a)})}}}),j.dateDisabled&&r.attr("date-disabled","dateDisabled({ date: date, mode: mode })"),k.$parsers.unshift(m),h.dateSelection=function(a){angular.isDefined(a)&&(h.date=a),k.$setViewValue(h.date),k.$render(),o&&(h.isOpen=!1,i[0].focus())},i.bind("input change keyup",function(){h.$apply(function(){h.date=k.$modelValue})}),k.$render=function(){var a=k.$viewValue?e(k.$viewValue,n):"";i.val(a),h.date=m(k.$modelValue)};var s=function(a){h.isOpen&&a.target!==i[0]&&h.$apply(function(){h.isOpen=!1})},t=function(a){h.keydown(a)};i.bind("keydown",t),h.keydown=function(a){27===a.which?(a.preventDefault(),a.stopPropagation(),h.close()):40!==a.which||h.isOpen||(h.isOpen=!0)},h.$watch("isOpen",function(a){a?(h.$broadcast("datepicker.focus"),h.position=p?d.offset(i):d.position(i),h.position.top=h.position.top+i.prop("offsetHeight"),c.bind("click",s)):c.unbind("click",s)}),h.select=function(a){if("today"===a){var b=new Date;angular.isDate(k.$modelValue)?(a=new Date(k.$modelValue),a.setFullYear(b.getFullYear(),b.getMonth(),b.getDate())):a=new Date(b.setHours(0,0,0,0))}h.dateSelection(a)},h.close=function(){h.isOpen=!1,i[0].focus()};var u=a(q)(h);q.remove(),p?c.find("body").append(u):i.after(u),h.$on("$destroy",function(){u.remove(),i.unbind("keydown",t),c.unbind("click",s)})}}}]).directive("datepickerPopupWrap",function(){return{restrict:"EA",replace:!0,transclude:!0,templateUrl:"template/datepicker/popup.html",link:function(a,b){b.bind("click",function(a){a.preventDefault(),a.stopPropagation()})}}}),angular.module("ui.bootstrap.dropdown",[]).constant("dropdownConfig",{openClass:"open"}).service("dropdownService",["$document",function(a){var b=null;this.open=function(e){b||(a.bind("click",c),a.bind("keydown",d)),b&&b!==e&&(b.isOpen=!1),b=e},this.close=function(e){b===e&&(b=null,a.unbind("click",c),a.unbind("keydown",d))};var c=function(a){var c=b.getToggleElement();a&&c&&c[0].contains(a.target)||b.$apply(function(){b.isOpen=!1})},d=function(a){27===a.which&&(b.focusToggleElement(),c())}}]).controller("DropdownController",["$scope","$attrs","$parse","dropdownConfig","dropdownService","$animate",function(a,b,c,d,e,f){var g,h=this,i=a.$new(),j=d.openClass,k=angular.noop,l=b.onToggle?c(b.onToggle):angular.noop;this.init=function(d){h.$element=d,b.isOpen&&(g=c(b.isOpen),k=g.assign,a.$watch(g,function(a){i.isOpen=!!a}))},this.toggle=function(a){return i.isOpen=arguments.length?!!a:!i.isOpen},this.isOpen=function(){return i.isOpen},i.getToggleElement=function(){return h.toggleElement},i.focusToggleElement=function(){h.toggleElement&&h.toggleElement[0].focus()},i.$watch("isOpen",function(b,c){f[b?"addClass":"removeClass"](h.$element,j),b?(i.focusToggleElement(),e.open(i)):e.close(i),k(a,b),angular.isDefined(b)&&b!==c&&l(a,{open:!!b})}),a.$on("$locationChangeSuccess",function(){i.isOpen=!1}),a.$on("$destroy",function(){i.$destroy()})}]).directive("dropdown",function(){return{restrict:"CA",controller:"DropdownController",link:function(a,b,c,d){d.init(b)}}}).directive("dropdownToggle",function(){return{restrict:"CA",require:"?^dropdown",link:function(a,b,c,d){if(d){d.toggleElement=b;var e=function(e){e.preventDefault(),b.hasClass("disabled")||c.disabled||a.$apply(function(){d.toggle()})};b.bind("click",e),b.attr({"aria-haspopup":!0,"aria-expanded":!1}),a.$watch(d.isOpen,function(a){b.attr("aria-expanded",!!a)}),a.$on("$destroy",function(){b.unbind("click",e)})}}}}),angular.module("ui.bootstrap.modal",["ui.bootstrap.transition"]).factory("$$stackedMap",function(){return{createNew:function(){var a=[];return{add:function(b,c){a.push({key:b,value:c})},get:function(b){for(var c=0;c0),i()})}function i(){if(k&&-1==g()){var a=l;j(k,l,150,function(){a.$destroy(),a=null}),k=void 0,l=void 0}}function j(c,d,e,f){function g(){g.done||(g.done=!0,c.remove(),f&&f())}d.animate=!1;var h=a.transitionEndEventName;if(h){var i=b(g,e);c.bind(h,function(){b.cancel(i),g(),d.$apply()})}else b(g)}var k,l,m="modal-open",n=f.createNew(),o={};return e.$watch(g,function(a){l&&(l.index=a)}),c.bind("keydown",function(a){var b;27===a.which&&(b=n.top(),b&&b.value.keyboard&&(a.preventDefault(),e.$apply(function(){o.dismiss(b.key,"escape key press")})))}),o.open=function(a,b){n.add(a,{deferred:b.deferred,modalScope:b.scope,backdrop:b.backdrop,keyboard:b.keyboard});var f=c.find("body").eq(0),h=g();if(h>=0&&!k){l=e.$new(!0),l.index=h;var i=angular.element("
");i.attr("backdrop-class",b.backdropClass),k=d(i)(l),f.append(k)}var j=angular.element("
");j.attr({"template-url":b.windowTemplateUrl,"window-class":b.windowClass,size:b.size,index:n.length()-1,animate:"animate"}).html(b.content);var o=d(j)(b.scope);n.top().value.modalDomEl=o,f.append(o),f.addClass(m)},o.close=function(a,b){var c=n.get(a);c&&(c.value.deferred.resolve(b),h(a))},o.dismiss=function(a,b){var c=n.get(a);c&&(c.value.deferred.reject(b),h(a))},o.dismissAll=function(a){for(var b=this.getTop();b;)this.dismiss(b.key,a),b=this.getTop()},o.getTop=function(){return n.top()},o}]).provider("$modal",function(){var a={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$modalStack",function(b,c,d,e,f,g,h){function i(a){return a.template?d.when(a.template):e.get(angular.isFunction(a.templateUrl)?a.templateUrl():a.templateUrl,{cache:f}).then(function(a){return a.data})}function j(a){var c=[];return angular.forEach(a,function(a){(angular.isFunction(a)||angular.isArray(a))&&c.push(d.when(b.invoke(a)))}),c}var k={};return k.open=function(b){var e=d.defer(),f=d.defer(),k={result:e.promise,opened:f.promise,close:function(a){h.close(k,a)},dismiss:function(a){h.dismiss(k,a)}};if(b=angular.extend({},a.options,b),b.resolve=b.resolve||{},!b.template&&!b.templateUrl)throw new Error("One of template or templateUrl options is required.");var l=d.all([i(b)].concat(j(b.resolve)));return l.then(function(a){var d=(b.scope||c).$new();d.$close=k.close,d.$dismiss=k.dismiss;var f,i={},j=1;b.controller&&(i.$scope=d,i.$modalInstance=k,angular.forEach(b.resolve,function(b,c){i[c]=a[j++]}),f=g(b.controller,i),b.controllerAs&&(d[b.controllerAs]=f)),h.open(k,{scope:d,deferred:e,content:a[0],backdrop:b.backdrop,keyboard:b.keyboard,backdropClass:b.backdropClass,windowClass:b.windowClass,windowTemplateUrl:b.windowTemplateUrl,size:b.size})},function(a){e.reject(a)}),l.then(function(){f.resolve(!0)},function(){f.reject(!1)}),k},k}]};return a}),angular.module("ui.bootstrap.pagination",[]).controller("PaginationController",["$scope","$attrs","$parse",function(a,b,c){var d=this,e={$setViewValue:angular.noop},f=b.numPages?c(b.numPages).assign:angular.noop;this.init=function(f,g){e=f,this.config=g,e.$render=function(){d.render()},b.itemsPerPage?a.$parent.$watch(c(b.itemsPerPage),function(b){d.itemsPerPage=parseInt(b,10),a.totalPages=d.calculateTotalPages()}):this.itemsPerPage=g.itemsPerPage},this.calculateTotalPages=function(){var b=this.itemsPerPage<1?1:Math.ceil(a.totalItems/this.itemsPerPage);return Math.max(b||0,1)},this.render=function(){a.page=parseInt(e.$viewValue,10)||1},a.selectPage=function(b){a.page!==b&&b>0&&b<=a.totalPages&&(e.$setViewValue(b),e.$render())},a.getText=function(b){return a[b+"Text"]||d.config[b+"Text"]},a.noPrevious=function(){return 1===a.page},a.noNext=function(){return a.page===a.totalPages},a.$watch("totalItems",function(){a.totalPages=d.calculateTotalPages()}),a.$watch("totalPages",function(b){f(a.$parent,b),a.page>b?a.selectPage(b):e.$render()})}]).constant("paginationConfig",{itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("pagination",["$parse","paginationConfig",function(a,b){return{restrict:"EA",scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@"},require:["pagination","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pagination.html",replace:!0,link:function(c,d,e,f){function g(a,b,c){return{number:a,text:b,active:c}}function h(a,b){var c=[],d=1,e=b,f=angular.isDefined(k)&&b>k;f&&(l?(d=Math.max(a-Math.floor(k/2),1),e=d+k-1,e>b&&(e=b,d=e-k+1)):(d=(Math.ceil(a/k)-1)*k+1,e=Math.min(d+k-1,b)));for(var h=d;e>=h;h++){var i=g(h,h,h===a);c.push(i)}if(f&&!l){if(d>1){var j=g(d-1,"...",!1);c.unshift(j)}if(b>e){var m=g(e+1,"...",!1);c.push(m)}}return c}var i=f[0],j=f[1];if(j){var k=angular.isDefined(e.maxSize)?c.$parent.$eval(e.maxSize):b.maxSize,l=angular.isDefined(e.rotate)?c.$parent.$eval(e.rotate):b.rotate;c.boundaryLinks=angular.isDefined(e.boundaryLinks)?c.$parent.$eval(e.boundaryLinks):b.boundaryLinks,c.directionLinks=angular.isDefined(e.directionLinks)?c.$parent.$eval(e.directionLinks):b.directionLinks,i.init(j,b),e.maxSize&&c.$parent.$watch(a(e.maxSize),function(a){k=parseInt(a,10),i.render()});var m=i.render;i.render=function(){m(),c.page>0&&c.page<=c.totalPages&&(c.pages=h(c.page,c.totalPages))}}}}}]).constant("pagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("pager",["pagerConfig",function(a){return{restrict:"EA",scope:{totalItems:"=",previousText:"@",nextText:"@"},require:["pager","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pager.html",replace:!0,link:function(b,c,d,e){var f=e[0],g=e[1];g&&(b.align=angular.isDefined(d.align)?b.$parent.$eval(d.align):a.align,f.init(g,a))}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function a(a){var b=/[A-Z]/g,c="-";return a.replace(b,function(a,b){return(b?c:"")+a.toLowerCase()})}var b={placement:"top",animation:!0,popupDelay:0},c={mouseenter:"mouseleave",click:"click",focus:"blur"},d={};this.options=function(a){angular.extend(d,a)},this.setTriggers=function(a){angular.extend(c,a)},this.$get=["$window","$compile","$timeout","$parse","$document","$position","$interpolate",function(e,f,g,h,i,j,k){return function(e,l,m){function n(a){var b=a||o.trigger||m,d=c[b]||b;return{show:b,hide:d}}var o=angular.extend({},b,d),p=a(e),q=k.startSymbol(),r=k.endSymbol(),s="
';return{restrict:"EA",scope:!0,compile:function(){var a=f(s);return function(b,c,d){function f(){b.tt_isOpen?m():k()}function k(){(!y||b.$eval(d[l+"Enable"]))&&(b.tt_popupDelay?v||(v=g(p,b.tt_popupDelay,!1),v.then(function(a){a()})):p()())}function m(){b.$apply(function(){q()})}function p(){return v=null,u&&(g.cancel(u),u=null),b.tt_content?(r(),t.css({top:0,left:0,display:"block"}),w?i.find("body").append(t):c.after(t),z(),b.tt_isOpen=!0,b.$digest(),z):angular.noop}function q(){b.tt_isOpen=!1,g.cancel(v),v=null,b.tt_animation?u||(u=g(s,500)):s()}function r(){t&&s(),t=a(b,function(){}),b.$digest()}function s(){u=null,t&&(t.remove(),t=null)}var t,u,v,w=angular.isDefined(o.appendToBody)?o.appendToBody:!1,x=n(void 0),y=angular.isDefined(d[l+"Enable"]),z=function(){var a=j.positionElements(c,t,b.tt_placement,w);a.top+="px",a.left+="px",t.css(a)};b.tt_isOpen=!1,d.$observe(e,function(a){b.tt_content=a,!a&&b.tt_isOpen&&q()}),d.$observe(l+"Title",function(a){b.tt_title=a}),d.$observe(l+"Placement",function(a){b.tt_placement=angular.isDefined(a)?a:o.placement}),d.$observe(l+"PopupDelay",function(a){var c=parseInt(a,10);b.tt_popupDelay=isNaN(c)?o.popupDelay:c});var A=function(){c.unbind(x.show,k),c.unbind(x.hide,m)};d.$observe(l+"Trigger",function(a){A(),x=n(a),x.show===x.hide?c.bind(x.show,f):(c.bind(x.show,k),c.bind(x.hide,m))});var B=b.$eval(d[l+"Animation"]);b.tt_animation=angular.isDefined(B)?!!B:o.animation,d.$observe(l+"AppendToBody",function(a){w=angular.isDefined(a)?h(a)(b):w}),w&&b.$on("$locationChangeSuccess",function(){b.tt_isOpen&&q()}),b.$on("$destroy",function(){g.cancel(u),g.cancel(v),A(),s()})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function(a){return a("tooltip","tooltip","mouseenter")}]).directive("tooltipHtmlUnsafePopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-unsafe-popup.html"}}).directive("tooltipHtmlUnsafe",["$tooltip",function(a){return a("tooltipHtmlUnsafe","tooltip","mouseenter")}]),angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("popoverPopup",function(){return{restrict:"EA",replace:!0,scope:{title:"@",content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover.html"}}).directive("popover",["$tooltip",function(a){return a("popover","popover","click")}]),angular.module("ui.bootstrap.progressbar",[]).constant("progressConfig",{animate:!0,max:100}).controller("ProgressController",["$scope","$attrs","progressConfig",function(a,b,c){var d=this,e=angular.isDefined(b.animate)?a.$parent.$eval(b.animate):c.animate;this.bars=[],a.max=angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max,this.addBar=function(b,c){e||c.css({transition:"none"}),this.bars.push(b),b.$watch("value",function(c){b.percent=+(100*c/a.max).toFixed(2)}),b.$on("$destroy",function(){c=null,d.removeBar(b)})},this.removeBar=function(a){this.bars.splice(this.bars.indexOf(a),1)}}]).directive("progress",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",require:"progress",scope:{},templateUrl:"template/progressbar/progress.html"}}).directive("bar",function(){return{restrict:"EA",replace:!0,transclude:!0,require:"^progress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(a,b,c,d){d.addBar(a,b)}}}).directive("progressbar",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(a,b,c,d){d.addBar(a,angular.element(b.children()[0]))}}}),angular.module("ui.bootstrap.rating",[]).constant("ratingConfig",{max:5,stateOn:null,stateOff:null}).controller("RatingController",["$scope","$attrs","ratingConfig",function(a,b,c){var d={$setViewValue:angular.noop};this.init=function(e){d=e,d.$render=this.render,this.stateOn=angular.isDefined(b.stateOn)?a.$parent.$eval(b.stateOn):c.stateOn,this.stateOff=angular.isDefined(b.stateOff)?a.$parent.$eval(b.stateOff):c.stateOff;var f=angular.isDefined(b.ratingStates)?a.$parent.$eval(b.ratingStates):new Array(angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max);a.range=this.buildTemplateObjects(f)},this.buildTemplateObjects=function(a){for(var b=0,c=a.length;c>b;b++)a[b]=angular.extend({index:b},{stateOn:this.stateOn,stateOff:this.stateOff},a[b]);return a},a.rate=function(b){!a.readonly&&b>=0&&b<=a.range.length&&(d.$setViewValue(b),d.$render())},a.enter=function(b){a.readonly||(a.value=b),a.onHover({value:b})},a.reset=function(){a.value=d.$viewValue,a.onLeave()},a.onKeydown=function(b){/(37|38|39|40)/.test(b.which)&&(b.preventDefault(),b.stopPropagation(),a.rate(a.value+(38===b.which||39===b.which?1:-1)))},this.render=function(){a.value=d.$viewValue}}]).directive("rating",function(){return{restrict:"EA",require:["rating","ngModel"],scope:{readonly:"=?",onHover:"&",onLeave:"&"},controller:"RatingController",templateUrl:"template/rating/rating.html",replace:!0,link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f)}}}),angular.module("ui.bootstrap.tabs",[]).controller("TabsetController",["$scope",function(a){var b=this,c=b.tabs=a.tabs=[];b.select=function(a){angular.forEach(c,function(b){b.active&&b!==a&&(b.active=!1,b.onDeselect())}),a.active=!0,a.onSelect()},b.addTab=function(a){c.push(a),1===c.length?a.active=!0:a.active&&b.select(a)},b.removeTab=function(a){var d=c.indexOf(a);if(a.active&&c.length>1){var e=d==c.length-1?d-1:d+1;b.select(c[e])}c.splice(d,1)}}]).directive("tabset",function(){return{restrict:"EA",transclude:!0,replace:!0,scope:{type:"@"},controller:"TabsetController",templateUrl:"template/tabs/tabset.html",link:function(a,b,c){a.vertical=angular.isDefined(c.vertical)?a.$parent.$eval(c.vertical):!1,a.justified=angular.isDefined(c.justified)?a.$parent.$eval(c.justified):!1}}}).directive("tab",["$parse",function(a){return{require:"^tabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{active:"=?",heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},compile:function(b,c,d){return function(b,c,e,f){b.$watch("active",function(a){a&&f.select(b)}),b.disabled=!1,e.disabled&&b.$parent.$watch(a(e.disabled),function(a){b.disabled=!!a}),b.select=function(){b.disabled||(b.active=!0)},f.addTab(b),b.$on("$destroy",function(){f.removeTab(b)}),b.$transcludeFn=d}}}}]).directive("tabHeadingTransclude",[function(){return{restrict:"A",require:"^tab",link:function(a,b){a.$watch("headingElement",function(a){a&&(b.html(""),b.append(a))})}}}]).directive("tabContentTransclude",function(){function a(a){return a.tagName&&(a.hasAttribute("tab-heading")||a.hasAttribute("data-tab-heading")||"tab-heading"===a.tagName.toLowerCase()||"data-tab-heading"===a.tagName.toLowerCase())}return{restrict:"A",require:"^tabset",link:function(b,c,d){var e=b.$eval(d.tabContentTransclude);e.$transcludeFn(e.$parent,function(b){angular.forEach(b,function(b){a(b)?e.headingElement=b:c.append(b)})})}}}),angular.module("ui.bootstrap.timepicker",[]).constant("timepickerConfig",{hourStep:1,minuteStep:1,showMeridian:!0,meridians:null,readonlyInput:!1,mousewheel:!0}).controller("TimepickerController",["$scope","$attrs","$parse","$log","$locale","timepickerConfig",function(a,b,c,d,e,f){function g(){var b=parseInt(a.hours,10),c=a.showMeridian?b>0&&13>b:b>=0&&24>b;return c?(a.showMeridian&&(12===b&&(b=0),a.meridian===p[1]&&(b+=12)),b):void 0}function h(){var b=parseInt(a.minutes,10);return b>=0&&60>b?b:void 0}function i(a){return angular.isDefined(a)&&a.toString().length<2?"0"+a:a}function j(a){k(),o.$setViewValue(new Date(n)),l(a)}function k(){o.$setValidity("time",!0),a.invalidHours=!1,a.invalidMinutes=!1}function l(b){var c=n.getHours(),d=n.getMinutes();a.showMeridian&&(c=0===c||12===c?12:c%12),a.hours="h"===b?c:i(c),a.minutes="m"===b?d:i(d),a.meridian=n.getHours()<12?p[0]:p[1]}function m(a){var b=new Date(n.getTime()+6e4*a);n.setHours(b.getHours(),b.getMinutes()),j()}var n=new Date,o={$setViewValue:angular.noop},p=angular.isDefined(b.meridians)?a.$parent.$eval(b.meridians):f.meridians||e.DATETIME_FORMATS.AMPMS;this.init=function(c,d){o=c,o.$render=this.render;var e=d.eq(0),g=d.eq(1),h=angular.isDefined(b.mousewheel)?a.$parent.$eval(b.mousewheel):f.mousewheel;h&&this.setupMousewheelEvents(e,g),a.readonlyInput=angular.isDefined(b.readonlyInput)?a.$parent.$eval(b.readonlyInput):f.readonlyInput,this.setupInputEvents(e,g)};var q=f.hourStep;b.hourStep&&a.$parent.$watch(c(b.hourStep),function(a){q=parseInt(a,10)});var r=f.minuteStep;b.minuteStep&&a.$parent.$watch(c(b.minuteStep),function(a){r=parseInt(a,10)}),a.showMeridian=f.showMeridian,b.showMeridian&&a.$parent.$watch(c(b.showMeridian),function(b){if(a.showMeridian=!!b,o.$error.time){var c=g(),d=h();angular.isDefined(c)&&angular.isDefined(d)&&(n.setHours(c),j())}else l()}),this.setupMousewheelEvents=function(b,c){var d=function(a){a.originalEvent&&(a=a.originalEvent);var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0};b.bind("mousewheel wheel",function(b){a.$apply(d(b)?a.incrementHours():a.decrementHours()),b.preventDefault()}),c.bind("mousewheel wheel",function(b){a.$apply(d(b)?a.incrementMinutes():a.decrementMinutes()),b.preventDefault()})},this.setupInputEvents=function(b,c){if(a.readonlyInput)return a.updateHours=angular.noop,void(a.updateMinutes=angular.noop);var d=function(b,c){o.$setViewValue(null),o.$setValidity("time",!1),angular.isDefined(b)&&(a.invalidHours=b),angular.isDefined(c)&&(a.invalidMinutes=c)};a.updateHours=function(){var a=g();angular.isDefined(a)?(n.setHours(a),j("h")):d(!0)},b.bind("blur",function(){!a.invalidHours&&a.hours<10&&a.$apply(function(){a.hours=i(a.hours)})}),a.updateMinutes=function(){var a=h();angular.isDefined(a)?(n.setMinutes(a),j("m")):d(void 0,!0)},c.bind("blur",function(){!a.invalidMinutes&&a.minutes<10&&a.$apply(function(){a.minutes=i(a.minutes)})})},this.render=function(){var a=o.$modelValue?new Date(o.$modelValue):null;isNaN(a)?(o.$setValidity("time",!1),d.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(a&&(n=a),k(),l())},a.incrementHours=function(){m(60*q)},a.decrementHours=function(){m(60*-q)},a.incrementMinutes=function(){m(r)},a.decrementMinutes=function(){m(-r)},a.toggleMeridian=function(){m(720*(n.getHours()<12?1:-1))}}]).directive("timepicker",function(){return{restrict:"EA",require:["timepicker","?^ngModel"],controller:"TimepickerController",replace:!0,scope:{},templateUrl:"template/timepicker/timepicker.html",link:function(a,b,c,d){var e=d[0],f=d[1]; -f&&e.init(f,b.find("input"))}}}),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).factory("typeaheadParser",["$parse",function(a){var b=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/;return{parse:function(c){var d=c.match(b);if(!d)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+c+'".');return{itemName:d[3],source:a(d[4]),viewMapper:a(d[2]||d[1]),modelMapper:a(d[1])}}}}]).directive("typeahead",["$compile","$parse","$q","$timeout","$document","$position","typeaheadParser",function(a,b,c,d,e,f,g){var h=[9,13,27,38,40];return{require:"ngModel",link:function(i,j,k,l){var m,n=i.$eval(k.typeaheadMinLength)||1,o=i.$eval(k.typeaheadWaitMs)||0,p=i.$eval(k.typeaheadEditable)!==!1,q=b(k.typeaheadLoading).assign||angular.noop,r=b(k.typeaheadOnSelect),s=k.typeaheadInputFormatter?b(k.typeaheadInputFormatter):void 0,t=k.typeaheadAppendToBody?i.$eval(k.typeaheadAppendToBody):!1,u=b(k.ngModel).assign,v=g.parse(k.typeahead),w=i.$new();i.$on("$destroy",function(){w.$destroy()});var x="typeahead-"+w.$id+"-"+Math.floor(1e4*Math.random());j.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":x});var y=angular.element("
");y.attr({id:x,matches:"matches",active:"activeIdx",select:"select(activeIdx)",query:"query",position:"position"}),angular.isDefined(k.typeaheadTemplateUrl)&&y.attr("template-url",k.typeaheadTemplateUrl);var z=function(){w.matches=[],w.activeIdx=-1,j.attr("aria-expanded",!1)},A=function(a){return x+"-option-"+a};w.$watch("activeIdx",function(a){0>a?j.removeAttr("aria-activedescendant"):j.attr("aria-activedescendant",A(a))});var B=function(a){var b={$viewValue:a};q(i,!0),c.when(v.source(i,b)).then(function(c){var d=a===l.$viewValue;if(d&&m)if(c.length>0){w.activeIdx=0,w.matches.length=0;for(var e=0;e=n?o>0?(E(),D(a)):B(a):(q(i,!1),E(),z()),p?a:a?void l.$setValidity("editable",!1):(l.$setValidity("editable",!0),a)}),l.$formatters.push(function(a){var b,c,d={};return s?(d.$model=a,s(i,d)):(d[v.itemName]=a,b=v.viewMapper(i,d),d[v.itemName]=void 0,c=v.viewMapper(i,d),b!==c?b:a)}),w.select=function(a){var b,c,e={};e[v.itemName]=c=w.matches[a].model,b=v.modelMapper(i,e),u(i,b),l.$setValidity("editable",!0),r(i,{$item:c,$model:b,$label:v.viewMapper(i,e)}),z(),d(function(){j[0].focus()},0,!1)},j.bind("keydown",function(a){0!==w.matches.length&&-1!==h.indexOf(a.which)&&(a.preventDefault(),40===a.which?(w.activeIdx=(w.activeIdx+1)%w.matches.length,w.$digest()):38===a.which?(w.activeIdx=(w.activeIdx?w.activeIdx:w.matches.length)-1,w.$digest()):13===a.which||9===a.which?w.$apply(function(){w.select(w.activeIdx)}):27===a.which&&(a.stopPropagation(),z(),w.$digest()))}),j.bind("blur",function(){m=!1});var F=function(a){j[0]!==a.target&&(z(),w.$digest())};e.bind("click",F),i.$on("$destroy",function(){e.unbind("click",F)});var G=a(y)(w);t?e.find("body").append(G):j.after(G)}}}]).directive("typeaheadPopup",function(){return{restrict:"EA",scope:{matches:"=",query:"=",active:"=",position:"=",select:"&"},replace:!0,templateUrl:"template/typeahead/typeahead-popup.html",link:function(a,b,c){a.templateUrl=c.templateUrl,a.isOpen=function(){return a.matches.length>0},a.isActive=function(b){return a.active==b},a.selectActive=function(b){a.active=b},a.selectMatch=function(b){a.select({activeIdx:b})}}}}).directive("typeaheadMatch",["$http","$templateCache","$compile","$parse",function(a,b,c,d){return{restrict:"EA",scope:{index:"=",match:"=",query:"="},link:function(e,f,g){var h=d(g.templateUrl)(e.$parent)||"template/typeahead/typeahead-match.html";a.get(h,{cache:b}).success(function(a){f.replaceWith(c(a.trim())(e))})}}}]).filter("typeaheadHighlight",function(){function a(a){return a.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(b,c){return c?(""+b).replace(new RegExp(a(c),"gi"),"$&"):b}}),c("angular-bootstrap",["angular"],function(){}),angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.transition","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.bindHtml","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdown","ui.bootstrap.modal","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]),angular.module("ui.bootstrap.tpls",["template/accordion/accordion-group.html","template/accordion/accordion.html","template/alert/alert.html","template/carousel/carousel.html","template/carousel/slide.html","template/datepicker/datepicker.html","template/datepicker/day.html","template/datepicker/month.html","template/datepicker/popup.html","template/datepicker/year.html","template/modal/backdrop.html","template/modal/window.html","template/pagination/pager.html","template/pagination/pagination.html","template/tooltip/tooltip-html-unsafe-popup.html","template/tooltip/tooltip-popup.html","template/popover/popover.html","template/progressbar/bar.html","template/progressbar/progress.html","template/progressbar/progressbar.html","template/rating/rating.html","template/tabs/tab.html","template/tabs/tabset.html","template/timepicker/timepicker.html","template/typeahead/typeahead-match.html","template/typeahead/typeahead-popup.html"]),angular.module("ui.bootstrap.transition",[]).factory("$transition",["$q","$timeout","$rootScope",function(a,b,c){function d(a){for(var b in a)if(void 0!==f.style[b])return a[b]}var e=function(d,f,g){g=g||{};var h=a.defer(),i=e[g.animation?"animationEndEventName":"transitionEndEventName"],j=function(){c.$apply(function(){d.unbind(i,j),h.resolve(d)})};return i&&d.bind(i,j),b(function(){angular.isString(f)?d.addClass(f):angular.isFunction(f)?f(d):angular.isObject(f)&&d.css(f),i||h.resolve(d)}),h.promise.cancel=function(){i&&d.unbind(i,j),h.reject("Transition cancelled")},h.promise},f=document.createElement("trans"),g={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"},h={WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"};return e.transitionEndEventName=d(g),e.animationEndEventName=d(h),e}]),angular.module("ui.bootstrap.collapse",["ui.bootstrap.transition"]).directive("collapse",["$transition",function(a){return{link:function(b,c,d){function e(b){function d(){j===e&&(j=void 0)}var e=a(c,b);return j&&j.cancel(),j=e,e.then(d,d),e}function f(){k?(k=!1,g()):(c.removeClass("collapse").addClass("collapsing"),e({height:c[0].scrollHeight+"px"}).then(g))}function g(){c.removeClass("collapsing"),c.addClass("collapse in"),c.css({height:"auto"})}function h(){k?(k=!1,i(),c.css({height:0})):(c.css({height:c[0].scrollHeight+"px"}),c[0].offsetWidth,c.removeClass("collapse in").addClass("collapsing"),e({height:0}).then(i))}function i(){c.removeClass("collapsing"),c.addClass("collapse")}var j,k=!0;b.$watch(d.collapse,function(a){a?h():f()})}}}]),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("accordionConfig",{closeOthers:!0}).controller("AccordionController",["$scope","$attrs","accordionConfig",function(a,b,c){this.groups=[],this.closeOthers=function(d){var e=angular.isDefined(b.closeOthers)?a.$eval(b.closeOthers):c.closeOthers;e&&angular.forEach(this.groups,function(a){a!==d&&(a.isOpen=!1)})},this.addGroup=function(a){var b=this;this.groups.push(a),a.$on("$destroy",function(){b.removeGroup(a)})},this.removeGroup=function(a){var b=this.groups.indexOf(a);-1!==b&&this.groups.splice(b,1)}}]).directive("accordion",function(){return{restrict:"EA",controller:"AccordionController",transclude:!0,replace:!1,templateUrl:"template/accordion/accordion.html"}}).directive("accordionGroup",function(){return{require:"^accordion",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/accordion/accordion-group.html",scope:{heading:"@",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(a){this.heading=a}},link:function(a,b,c,d){d.addGroup(a),a.$watch("isOpen",function(b){b&&d.closeOthers(a)}),a.toggleOpen=function(){a.isDisabled||(a.isOpen=!a.isOpen)}}}}).directive("accordionHeading",function(){return{restrict:"EA",transclude:!0,template:"",replace:!0,require:"^accordionGroup",link:function(a,b,c,d,e){d.setHeading(e(a,function(){}))}}}).directive("accordionTransclude",function(){return{require:"^accordionGroup",link:function(a,b,c,d){a.$watch(function(){return d[c.accordionTransclude]},function(a){a&&(b.html(""),b.append(a))})}}}),angular.module("ui.bootstrap.alert",[]).controller("AlertController",["$scope","$attrs",function(a,b){a.closeable="close"in b}]).directive("alert",function(){return{restrict:"EA",controller:"AlertController",templateUrl:"template/alert/alert.html",transclude:!0,replace:!0,scope:{type:"@",close:"&"}}}),angular.module("ui.bootstrap.bindHtml",[]).directive("bindHtmlUnsafe",function(){return function(a,b,c){b.addClass("ng-binding").data("$binding",c.bindHtmlUnsafe),a.$watch(c.bindHtmlUnsafe,function(a){b.html(a||"")})}}),angular.module("ui.bootstrap.buttons",[]).constant("buttonConfig",{activeClass:"active",toggleEvent:"click"}).controller("ButtonsController",["buttonConfig",function(a){this.activeClass=a.activeClass||"active",this.toggleEvent=a.toggleEvent||"click"}]).directive("btnRadio",function(){return{require:["btnRadio","ngModel"],controller:"ButtonsController",link:function(a,b,c,d){var e=d[0],f=d[1];f.$render=function(){b.toggleClass(e.activeClass,angular.equals(f.$modelValue,a.$eval(c.btnRadio)))},b.bind(e.toggleEvent,function(){var d=b.hasClass(e.activeClass);(!d||angular.isDefined(c.uncheckable))&&a.$apply(function(){f.$setViewValue(d?null:a.$eval(c.btnRadio)),f.$render()})})}}}).directive("btnCheckbox",function(){return{require:["btnCheckbox","ngModel"],controller:"ButtonsController",link:function(a,b,c,d){function e(){return g(c.btnCheckboxTrue,!0)}function f(){return g(c.btnCheckboxFalse,!1)}function g(b,c){var d=a.$eval(b);return angular.isDefined(d)?d:c}var h=d[0],i=d[1];i.$render=function(){b.toggleClass(h.activeClass,angular.equals(i.$modelValue,e()))},b.bind(h.toggleEvent,function(){a.$apply(function(){i.$setViewValue(b.hasClass(h.activeClass)?f():e()),i.$render()})})}}}),angular.module("ui.bootstrap.carousel",["ui.bootstrap.transition"]).controller("CarouselController",["$scope","$timeout","$transition",function(a,b,c){function d(){e();var c=+a.interval;!isNaN(c)&&c>=0&&(g=b(f,c))}function e(){g&&(b.cancel(g),g=null)}function f(){h?(a.next(),d()):a.pause()}var g,h,i=this,j=i.slides=a.slides=[],k=-1;i.currentSlide=null;var l=!1;i.select=a.select=function(e,f){function g(){l||(i.currentSlide&&angular.isString(f)&&!a.noTransition&&e.$element?(e.$element.addClass(f),e.$element[0].offsetWidth,angular.forEach(j,function(a){angular.extend(a,{direction:"",entering:!1,leaving:!1,active:!1})}),angular.extend(e,{direction:f,active:!0,entering:!0}),angular.extend(i.currentSlide||{},{direction:f,leaving:!0}),a.$currentTransition=c(e.$element,{}),function(b,c){a.$currentTransition.then(function(){h(b,c)},function(){h(b,c)})}(e,i.currentSlide)):h(e,i.currentSlide),i.currentSlide=e,k=m,d())}function h(b,c){angular.extend(b,{direction:"",active:!0,leaving:!1,entering:!1}),angular.extend(c||{},{direction:"",active:!1,leaving:!1,entering:!1}),a.$currentTransition=null}var m=j.indexOf(e);void 0===f&&(f=m>k?"next":"prev"),e&&e!==i.currentSlide&&(a.$currentTransition?(a.$currentTransition.cancel(),b(g)):g())},a.$on("$destroy",function(){l=!0}),i.indexOfSlide=function(a){return j.indexOf(a)},a.next=function(){var b=(k+1)%j.length;return a.$currentTransition?void 0:i.select(j[b],"next")},a.prev=function(){var b=0>k-1?j.length-1:k-1;return a.$currentTransition?void 0:i.select(j[b],"prev")},a.isActive=function(a){return i.currentSlide===a},a.$watch("interval",d),a.$on("$destroy",e),a.play=function(){h||(h=!0,d())},a.pause=function(){a.noPause||(h=!1,e())},i.addSlide=function(b,c){b.$element=c,j.push(b),1===j.length||b.active?(i.select(j[j.length-1]),1==j.length&&a.play()):b.active=!1},i.removeSlide=function(a){var b=j.indexOf(a);j.splice(b,1),j.length>0&&a.active?i.select(b>=j.length?j[b-1]:j[b]):k>b&&k--}}]).directive("carousel",[function(){return{restrict:"EA",transclude:!0,replace:!0,controller:"CarouselController",require:"carousel",templateUrl:"template/carousel/carousel.html",scope:{interval:"=",noTransition:"=",noPause:"="}}}]).directive("slide",function(){return{require:"^carousel",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/carousel/slide.html",scope:{active:"=?"},link:function(a,b,c,d){d.addSlide(a,b),a.$on("$destroy",function(){d.removeSlide(a)}),a.$watch("active",function(b){b&&d.select(a)})}}}),angular.module("ui.bootstrap.dateparser",[]).service("dateParser",["$locale","orderByFilter",function(a,b){function c(a){var c=[],d=a.split("");return angular.forEach(e,function(b,e){var f=a.indexOf(e);if(f>-1){a=a.split(""),d[f]="("+b.regex+")",a[f]="$";for(var g=f+1,h=f+e.length;h>g;g++)d[g]="",a[g]="$";a=a.join(""),c.push({index:f,apply:b.apply})}}),{regex:new RegExp("^"+d.join("")+"$"),map:b(c,"index")}}function d(a,b,c){return 1===b&&c>28?29===c&&(a%4===0&&a%100!==0||a%400===0):3===b||5===b||8===b||10===b?31>c:!0}this.parsers={};var e={yyyy:{regex:"\\d{4}",apply:function(a){this.year=+a}},yy:{regex:"\\d{2}",apply:function(a){this.year=+a+2e3}},y:{regex:"\\d{1,4}",apply:function(a){this.year=+a}},MMMM:{regex:a.DATETIME_FORMATS.MONTH.join("|"),apply:function(b){this.month=a.DATETIME_FORMATS.MONTH.indexOf(b)}},MMM:{regex:a.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(b){this.month=a.DATETIME_FORMATS.SHORTMONTH.indexOf(b)}},MM:{regex:"0[1-9]|1[0-2]",apply:function(a){this.month=a-1}},M:{regex:"[1-9]|1[0-2]",apply:function(a){this.month=a-1}},dd:{regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},d:{regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},EEEE:{regex:a.DATETIME_FORMATS.DAY.join("|")},EEE:{regex:a.DATETIME_FORMATS.SHORTDAY.join("|")}};this.parse=function(b,e){if(!angular.isString(b)||!e)return b;e=a.DATETIME_FORMATS[e]||e,this.parsers[e]||(this.parsers[e]=c(e));var f=this.parsers[e],g=f.regex,h=f.map,i=b.match(g);if(i&&i.length){for(var j,k={year:1900,month:0,date:1,hours:0},l=1,m=i.length;m>l;l++){var n=h[l-1];n.apply&&n.apply.call(k,i[l])}return d(k.year,k.month,k.date)&&(j=new Date(k.year,k.month,k.date,k.hours)),j}}}]),angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function(a,b){function c(a,c){return a.currentStyle?a.currentStyle[c]:b.getComputedStyle?b.getComputedStyle(a)[c]:a.style[c]}function d(a){return"static"===(c(a,"position")||"static")}var e=function(b){for(var c=a[0],e=b.offsetParent||c;e&&e!==c&&d(e);)e=e.offsetParent;return e||c};return{position:function(b){var c=this.offset(b),d={top:0,left:0},f=e(b[0]);f!=a[0]&&(d=this.offset(angular.element(f)),d.top+=f.clientTop-f.scrollTop,d.left+=f.clientLeft-f.scrollLeft);var g=b[0].getBoundingClientRect();return{width:g.width||b.prop("offsetWidth"),height:g.height||b.prop("offsetHeight"),top:c.top-d.top,left:c.left-d.left}},offset:function(c){var d=c[0].getBoundingClientRect();return{width:d.width||c.prop("offsetWidth"),height:d.height||c.prop("offsetHeight"),top:d.top+(b.pageYOffset||a[0].documentElement.scrollTop),left:d.left+(b.pageXOffset||a[0].documentElement.scrollLeft)}},positionElements:function(a,b,c,d){var e,f,g,h,i=c.split("-"),j=i[0],k=i[1]||"center";e=d?this.offset(a):this.position(a),f=b.prop("offsetWidth"),g=b.prop("offsetHeight");var l={center:function(){return e.left+e.width/2-f/2},left:function(){return e.left},right:function(){return e.left+e.width}},m={center:function(){return e.top+e.height/2-g/2},top:function(){return e.top},bottom:function(){return e.top+e.height}};switch(j){case"right":h={top:m[k](),left:l[j]()};break;case"left":h={top:m[k](),left:e.left-f};break;case"bottom":h={top:m[j](),left:l[k]()};break;default:h={top:e.top-g,left:l[k]()}}return h}}}]),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.position"]).constant("datepickerConfig",{formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",datepickerMode:"day",minMode:"day",maxMode:"year",showWeeks:!0,startingDay:0,yearRange:20,minDate:null,maxDate:null}).controller("DatepickerController",["$scope","$attrs","$parse","$interpolate","$timeout","$log","dateFilter","datepickerConfig",function(a,b,c,d,e,f,g,h){var i=this,j={$setViewValue:angular.noop};this.modes=["day","month","year"],angular.forEach(["formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","minMode","maxMode","showWeeks","startingDay","yearRange"],function(c,e){i[c]=angular.isDefined(b[c])?8>e?d(b[c])(a.$parent):a.$parent.$eval(b[c]):h[c]}),angular.forEach(["minDate","maxDate"],function(d){b[d]?a.$parent.$watch(c(b[d]),function(a){i[d]=a?new Date(a):null,i.refreshView()}):i[d]=h[d]?new Date(h[d]):null}),a.datepickerMode=a.datepickerMode||h.datepickerMode,a.uniqueId="datepicker-"+a.$id+"-"+Math.floor(1e4*Math.random()),this.activeDate=angular.isDefined(b.initDate)?a.$parent.$eval(b.initDate):new Date,a.isActive=function(b){return 0===i.compare(b.date,i.activeDate)?(a.activeDateId=b.uid,!0):!1},this.init=function(a){j=a,j.$render=function(){i.render()}},this.render=function(){if(j.$modelValue){var a=new Date(j.$modelValue),b=!isNaN(a);b?this.activeDate=a:f.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.'),j.$setValidity("date",b)}this.refreshView()},this.refreshView=function(){if(this.element){this._refreshView();var a=j.$modelValue?new Date(j.$modelValue):null;j.$setValidity("date-disabled",!a||this.element&&!this.isDisabled(a))}},this.createDateObject=function(a,b){var c=j.$modelValue?new Date(j.$modelValue):null;return{date:a,label:g(a,b),selected:c&&0===this.compare(a,c),disabled:this.isDisabled(a),current:0===this.compare(a,new Date)}},this.isDisabled=function(c){return this.minDate&&this.compare(c,this.minDate)<0||this.maxDate&&this.compare(c,this.maxDate)>0||b.dateDisabled&&a.dateDisabled({date:c,mode:a.datepickerMode})},this.split=function(a,b){for(var c=[];a.length>0;)c.push(a.splice(0,b));return c},a.select=function(b){if(a.datepickerMode===i.minMode){var c=j.$modelValue?new Date(j.$modelValue):new Date(0,0,0,0,0,0,0);c.setFullYear(b.getFullYear(),b.getMonth(),b.getDate()),j.$setViewValue(c),j.$render()}else i.activeDate=b,a.datepickerMode=i.modes[i.modes.indexOf(a.datepickerMode)-1]},a.move=function(a){var b=i.activeDate.getFullYear()+a*(i.step.years||0),c=i.activeDate.getMonth()+a*(i.step.months||0);i.activeDate.setFullYear(b,c,1),i.refreshView()},a.toggleMode=function(b){b=b||1,a.datepickerMode===i.maxMode&&1===b||a.datepickerMode===i.minMode&&-1===b||(a.datepickerMode=i.modes[i.modes.indexOf(a.datepickerMode)+b])},a.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};var k=function(){e(function(){i.element[0].focus()},0,!1)};a.$on("datepicker.focus",k),a.keydown=function(b){var c=a.keys[b.which];if(c&&!b.shiftKey&&!b.altKey)if(b.preventDefault(),b.stopPropagation(),"enter"===c||"space"===c){if(i.isDisabled(i.activeDate))return;a.select(i.activeDate),k()}else!b.ctrlKey||"up"!==c&&"down"!==c?(i.handleKeyDown(c,b),i.refreshView()):(a.toggleMode("up"===c?1:-1),k())}}]).directive("datepicker",function(){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/datepicker.html",scope:{datepickerMode:"=?",dateDisabled:"&"},require:["datepicker","?^ngModel"],controller:"DatepickerController",link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f)}}}).directive("daypicker",["dateFilter",function(a){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/day.html",require:"^datepicker",link:function(b,c,d,e){function f(a,b){return 1!==b||a%4!==0||a%100===0&&a%400!==0?i[b]:29}function g(a,b){var c=new Array(b),d=new Date(a),e=0;for(d.setHours(12);b>e;)c[e++]=new Date(d),d.setDate(d.getDate()+1);return c}function h(a){var b=new Date(a);b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/864e5)/7)+1}b.showWeeks=e.showWeeks,e.step={months:1},e.element=c;var i=[31,28,31,30,31,30,31,31,30,31,30,31];e._refreshView=function(){var c=e.activeDate.getFullYear(),d=e.activeDate.getMonth(),f=new Date(c,d,1),i=e.startingDay-f.getDay(),j=i>0?7-i:-i,k=new Date(f);j>0&&k.setDate(-j+1);for(var l=g(k,42),m=0;42>m;m++)l[m]=angular.extend(e.createDateObject(l[m],e.formatDay),{secondary:l[m].getMonth()!==d,uid:b.uniqueId+"-"+m});b.labels=new Array(7);for(var n=0;7>n;n++)b.labels[n]={abbr:a(l[n].date,e.formatDayHeader),full:a(l[n].date,"EEEE")};if(b.title=a(e.activeDate,e.formatDayTitle),b.rows=e.split(l,7),b.showWeeks){b.weekNumbers=[];for(var o=h(b.rows[0][0].date),p=b.rows.length;b.weekNumbers.push(o++)f;f++)c[f]=angular.extend(e.createDateObject(new Date(d,f,1),e.formatMonth),{uid:b.uniqueId+"-"+f});b.title=a(e.activeDate,e.formatMonthTitle),b.rows=e.split(c,3)},e.compare=function(a,b){return new Date(a.getFullYear(),a.getMonth())-new Date(b.getFullYear(),b.getMonth())},e.handleKeyDown=function(a){var b=e.activeDate.getMonth();if("left"===a)b-=1;else if("up"===a)b-=3;else if("right"===a)b+=1;else if("down"===a)b+=3;else if("pageup"===a||"pagedown"===a){var c=e.activeDate.getFullYear()+("pageup"===a?-1:1);e.activeDate.setFullYear(c)}else"home"===a?b=0:"end"===a&&(b=11);e.activeDate.setMonth(b)},e.refreshView()}}}]).directive("yearpicker",["dateFilter",function(){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/year.html",require:"^datepicker",link:function(a,b,c,d){function e(a){return parseInt((a-1)/f,10)*f+1}var f=d.yearRange;d.step={years:f},d.element=b,d._refreshView=function(){for(var b=new Array(f),c=0,g=e(d.activeDate.getFullYear());f>c;c++)b[c]=angular.extend(d.createDateObject(new Date(g+c,0,1),d.formatYear),{uid:a.uniqueId+"-"+c});a.title=[b[0].label,b[f-1].label].join(" - "),a.rows=d.split(b,5)},d.compare=function(a,b){return a.getFullYear()-b.getFullYear()},d.handleKeyDown=function(a){var b=d.activeDate.getFullYear();"left"===a?b-=1:"up"===a?b-=5:"right"===a?b+=1:"down"===a?b+=5:"pageup"===a||"pagedown"===a?b+=("pageup"===a?-1:1)*d.step.years:"home"===a?b=e(d.activeDate.getFullYear()):"end"===a&&(b=e(d.activeDate.getFullYear())+f-1),d.activeDate.setFullYear(b)},d.refreshView()}}}]).constant("datepickerPopupConfig",{datepickerPopup:"yyyy-MM-dd",currentText:"Today",clearText:"Clear",closeText:"Done",closeOnDateSelection:!0,appendToBody:!1,showButtonBar:!0}).directive("datepickerPopup",["$compile","$parse","$document","$position","dateFilter","dateParser","datepickerPopupConfig",function(a,b,c,d,e,f,g){return{restrict:"EA",require:"ngModel",scope:{isOpen:"=?",currentText:"@",clearText:"@",closeText:"@",dateDisabled:"&"},link:function(h,i,j,k){function l(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}function m(a){if(a){if(angular.isDate(a)&&!isNaN(a))return k.$setValidity("date",!0),a;if(angular.isString(a)){var b=f.parse(a,n)||new Date(a);return isNaN(b)?void k.$setValidity("date",!1):(k.$setValidity("date",!0),b)}return void k.$setValidity("date",!1)}return k.$setValidity("date",!0),null}var n,o=angular.isDefined(j.closeOnDateSelection)?h.$parent.$eval(j.closeOnDateSelection):g.closeOnDateSelection,p=angular.isDefined(j.datepickerAppendToBody)?h.$parent.$eval(j.datepickerAppendToBody):g.appendToBody;h.showButtonBar=angular.isDefined(j.showButtonBar)?h.$parent.$eval(j.showButtonBar):g.showButtonBar,h.getText=function(a){return h[a+"Text"]||g[a+"Text"]},j.$observe("datepickerPopup",function(a){n=a||g.datepickerPopup,k.$render()});var q=angular.element("
");q.attr({"ng-model":"date","ng-change":"dateSelection()"});var r=angular.element(q.children()[0]);j.datepickerOptions&&angular.forEach(h.$parent.$eval(j.datepickerOptions),function(a,b){r.attr(l(b),a)}),h.watchData={},angular.forEach(["minDate","maxDate","datepickerMode"],function(a){if(j[a]){var c=b(j[a]);if(h.$parent.$watch(c,function(b){h.watchData[a]=b}),r.attr(l(a),"watchData."+a),"datepickerMode"===a){var d=c.assign;h.$watch("watchData."+a,function(a,b){a!==b&&d(h.$parent,a)})}}}),j.dateDisabled&&r.attr("date-disabled","dateDisabled({ date: date, mode: mode })"),k.$parsers.unshift(m),h.dateSelection=function(a){angular.isDefined(a)&&(h.date=a),k.$setViewValue(h.date),k.$render(),o&&(h.isOpen=!1,i[0].focus())},i.bind("input change keyup",function(){h.$apply(function(){h.date=k.$modelValue})}),k.$render=function(){var a=k.$viewValue?e(k.$viewValue,n):"";i.val(a),h.date=m(k.$modelValue)};var s=function(a){h.isOpen&&a.target!==i[0]&&h.$apply(function(){h.isOpen=!1})},t=function(a){h.keydown(a)};i.bind("keydown",t),h.keydown=function(a){27===a.which?(a.preventDefault(),a.stopPropagation(),h.close()):40!==a.which||h.isOpen||(h.isOpen=!0)},h.$watch("isOpen",function(a){a?(h.$broadcast("datepicker.focus"),h.position=p?d.offset(i):d.position(i),h.position.top=h.position.top+i.prop("offsetHeight"),c.bind("click",s)):c.unbind("click",s)}),h.select=function(a){if("today"===a){var b=new Date;angular.isDate(k.$modelValue)?(a=new Date(k.$modelValue),a.setFullYear(b.getFullYear(),b.getMonth(),b.getDate())):a=new Date(b.setHours(0,0,0,0))}h.dateSelection(a)},h.close=function(){h.isOpen=!1,i[0].focus()};var u=a(q)(h);q.remove(),p?c.find("body").append(u):i.after(u),h.$on("$destroy",function(){u.remove(),i.unbind("keydown",t),c.unbind("click",s)})}}}]).directive("datepickerPopupWrap",function(){return{restrict:"EA",replace:!0,transclude:!0,templateUrl:"template/datepicker/popup.html",link:function(a,b){b.bind("click",function(a){a.preventDefault(),a.stopPropagation()})}}}),angular.module("ui.bootstrap.dropdown",[]).constant("dropdownConfig",{openClass:"open"}).service("dropdownService",["$document",function(a){var b=null;this.open=function(e){b||(a.bind("click",c),a.bind("keydown",d)),b&&b!==e&&(b.isOpen=!1),b=e},this.close=function(e){b===e&&(b=null,a.unbind("click",c),a.unbind("keydown",d))};var c=function(a){var c=b.getToggleElement();a&&c&&c[0].contains(a.target)||b.$apply(function(){b.isOpen=!1})},d=function(a){27===a.which&&(b.focusToggleElement(),c())}}]).controller("DropdownController",["$scope","$attrs","$parse","dropdownConfig","dropdownService","$animate",function(a,b,c,d,e,f){var g,h=this,i=a.$new(),j=d.openClass,k=angular.noop,l=b.onToggle?c(b.onToggle):angular.noop;this.init=function(d){h.$element=d,b.isOpen&&(g=c(b.isOpen),k=g.assign,a.$watch(g,function(a){i.isOpen=!!a}))},this.toggle=function(a){return i.isOpen=arguments.length?!!a:!i.isOpen},this.isOpen=function(){return i.isOpen},i.getToggleElement=function(){return h.toggleElement},i.focusToggleElement=function(){h.toggleElement&&h.toggleElement[0].focus()},i.$watch("isOpen",function(b,c){f[b?"addClass":"removeClass"](h.$element,j),b?(i.focusToggleElement(),e.open(i)):e.close(i),k(a,b),angular.isDefined(b)&&b!==c&&l(a,{open:!!b})}),a.$on("$locationChangeSuccess",function(){i.isOpen=!1}),a.$on("$destroy",function(){i.$destroy()})}]).directive("dropdown",function(){return{restrict:"CA",controller:"DropdownController",link:function(a,b,c,d){d.init(b)}}}).directive("dropdownToggle",function(){return{restrict:"CA",require:"?^dropdown",link:function(a,b,c,d){if(d){d.toggleElement=b;var e=function(e){e.preventDefault(),b.hasClass("disabled")||c.disabled||a.$apply(function(){d.toggle()})};b.bind("click",e),b.attr({"aria-haspopup":!0,"aria-expanded":!1}),a.$watch(d.isOpen,function(a){b.attr("aria-expanded",!!a)}),a.$on("$destroy",function(){b.unbind("click",e)})}}}}),angular.module("ui.bootstrap.modal",["ui.bootstrap.transition"]).factory("$$stackedMap",function(){return{createNew:function(){var a=[];return{add:function(b,c){a.push({key:b,value:c})},get:function(b){for(var c=0;c0),i()})}function i(){if(k&&-1==g()){var a=l;j(k,l,150,function(){a.$destroy(),a=null}),k=void 0,l=void 0}}function j(c,d,e,f){function g(){g.done||(g.done=!0,c.remove(),f&&f())}d.animate=!1;var h=a.transitionEndEventName;if(h){var i=b(g,e);c.bind(h,function(){b.cancel(i),g(),d.$apply()})}else b(g)}var k,l,m="modal-open",n=f.createNew(),o={};return e.$watch(g,function(a){l&&(l.index=a)}),c.bind("keydown",function(a){var b;27===a.which&&(b=n.top(),b&&b.value.keyboard&&(a.preventDefault(),e.$apply(function(){o.dismiss(b.key,"escape key press")})))}),o.open=function(a,b){n.add(a,{deferred:b.deferred,modalScope:b.scope,backdrop:b.backdrop,keyboard:b.keyboard});var f=c.find("body").eq(0),h=g();if(h>=0&&!k){l=e.$new(!0),l.index=h;var i=angular.element("
"); -i.attr("backdrop-class",b.backdropClass),k=d(i)(l),f.append(k)}var j=angular.element("
");j.attr({"template-url":b.windowTemplateUrl,"window-class":b.windowClass,size:b.size,index:n.length()-1,animate:"animate"}).html(b.content);var o=d(j)(b.scope);n.top().value.modalDomEl=o,f.append(o),f.addClass(m)},o.close=function(a,b){var c=n.get(a);c&&(c.value.deferred.resolve(b),h(a))},o.dismiss=function(a,b){var c=n.get(a);c&&(c.value.deferred.reject(b),h(a))},o.dismissAll=function(a){for(var b=this.getTop();b;)this.dismiss(b.key,a),b=this.getTop()},o.getTop=function(){return n.top()},o}]).provider("$modal",function(){var a={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$modalStack",function(b,c,d,e,f,g,h){function i(a){return a.template?d.when(a.template):e.get(angular.isFunction(a.templateUrl)?a.templateUrl():a.templateUrl,{cache:f}).then(function(a){return a.data})}function j(a){var c=[];return angular.forEach(a,function(a){(angular.isFunction(a)||angular.isArray(a))&&c.push(d.when(b.invoke(a)))}),c}var k={};return k.open=function(b){var e=d.defer(),f=d.defer(),k={result:e.promise,opened:f.promise,close:function(a){h.close(k,a)},dismiss:function(a){h.dismiss(k,a)}};if(b=angular.extend({},a.options,b),b.resolve=b.resolve||{},!b.template&&!b.templateUrl)throw new Error("One of template or templateUrl options is required.");var l=d.all([i(b)].concat(j(b.resolve)));return l.then(function(a){var d=(b.scope||c).$new();d.$close=k.close,d.$dismiss=k.dismiss;var f,i={},j=1;b.controller&&(i.$scope=d,i.$modalInstance=k,angular.forEach(b.resolve,function(b,c){i[c]=a[j++]}),f=g(b.controller,i),b.controllerAs&&(d[b.controllerAs]=f)),h.open(k,{scope:d,deferred:e,content:a[0],backdrop:b.backdrop,keyboard:b.keyboard,backdropClass:b.backdropClass,windowClass:b.windowClass,windowTemplateUrl:b.windowTemplateUrl,size:b.size})},function(a){e.reject(a)}),l.then(function(){f.resolve(!0)},function(){f.reject(!1)}),k},k}]};return a}),angular.module("ui.bootstrap.pagination",[]).controller("PaginationController",["$scope","$attrs","$parse",function(a,b,c){var d=this,e={$setViewValue:angular.noop},f=b.numPages?c(b.numPages).assign:angular.noop;this.init=function(f,g){e=f,this.config=g,e.$render=function(){d.render()},b.itemsPerPage?a.$parent.$watch(c(b.itemsPerPage),function(b){d.itemsPerPage=parseInt(b,10),a.totalPages=d.calculateTotalPages()}):this.itemsPerPage=g.itemsPerPage},this.calculateTotalPages=function(){var b=this.itemsPerPage<1?1:Math.ceil(a.totalItems/this.itemsPerPage);return Math.max(b||0,1)},this.render=function(){a.page=parseInt(e.$viewValue,10)||1},a.selectPage=function(b){a.page!==b&&b>0&&b<=a.totalPages&&(e.$setViewValue(b),e.$render())},a.getText=function(b){return a[b+"Text"]||d.config[b+"Text"]},a.noPrevious=function(){return 1===a.page},a.noNext=function(){return a.page===a.totalPages},a.$watch("totalItems",function(){a.totalPages=d.calculateTotalPages()}),a.$watch("totalPages",function(b){f(a.$parent,b),a.page>b?a.selectPage(b):e.$render()})}]).constant("paginationConfig",{itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("pagination",["$parse","paginationConfig",function(a,b){return{restrict:"EA",scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@"},require:["pagination","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pagination.html",replace:!0,link:function(c,d,e,f){function g(a,b,c){return{number:a,text:b,active:c}}function h(a,b){var c=[],d=1,e=b,f=angular.isDefined(k)&&b>k;f&&(l?(d=Math.max(a-Math.floor(k/2),1),e=d+k-1,e>b&&(e=b,d=e-k+1)):(d=(Math.ceil(a/k)-1)*k+1,e=Math.min(d+k-1,b)));for(var h=d;e>=h;h++){var i=g(h,h,h===a);c.push(i)}if(f&&!l){if(d>1){var j=g(d-1,"...",!1);c.unshift(j)}if(b>e){var m=g(e+1,"...",!1);c.push(m)}}return c}var i=f[0],j=f[1];if(j){var k=angular.isDefined(e.maxSize)?c.$parent.$eval(e.maxSize):b.maxSize,l=angular.isDefined(e.rotate)?c.$parent.$eval(e.rotate):b.rotate;c.boundaryLinks=angular.isDefined(e.boundaryLinks)?c.$parent.$eval(e.boundaryLinks):b.boundaryLinks,c.directionLinks=angular.isDefined(e.directionLinks)?c.$parent.$eval(e.directionLinks):b.directionLinks,i.init(j,b),e.maxSize&&c.$parent.$watch(a(e.maxSize),function(a){k=parseInt(a,10),i.render()});var m=i.render;i.render=function(){m(),c.page>0&&c.page<=c.totalPages&&(c.pages=h(c.page,c.totalPages))}}}}}]).constant("pagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("pager",["pagerConfig",function(a){return{restrict:"EA",scope:{totalItems:"=",previousText:"@",nextText:"@"},require:["pager","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pager.html",replace:!0,link:function(b,c,d,e){var f=e[0],g=e[1];g&&(b.align=angular.isDefined(d.align)?b.$parent.$eval(d.align):a.align,f.init(g,a))}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function a(a){var b=/[A-Z]/g,c="-";return a.replace(b,function(a,b){return(b?c:"")+a.toLowerCase()})}var b={placement:"top",animation:!0,popupDelay:0},c={mouseenter:"mouseleave",click:"click",focus:"blur"},d={};this.options=function(a){angular.extend(d,a)},this.setTriggers=function(a){angular.extend(c,a)},this.$get=["$window","$compile","$timeout","$parse","$document","$position","$interpolate",function(e,f,g,h,i,j,k){return function(e,l,m){function n(a){var b=a||o.trigger||m,d=c[b]||b;return{show:b,hide:d}}var o=angular.extend({},b,d),p=a(e),q=k.startSymbol(),r=k.endSymbol(),s="
';return{restrict:"EA",scope:!0,compile:function(){var a=f(s);return function(b,c,d){function f(){b.tt_isOpen?m():k()}function k(){(!y||b.$eval(d[l+"Enable"]))&&(b.tt_popupDelay?v||(v=g(p,b.tt_popupDelay,!1),v.then(function(a){a()})):p()())}function m(){b.$apply(function(){q()})}function p(){return v=null,u&&(g.cancel(u),u=null),b.tt_content?(r(),t.css({top:0,left:0,display:"block"}),w?i.find("body").append(t):c.after(t),z(),b.tt_isOpen=!0,b.$digest(),z):angular.noop}function q(){b.tt_isOpen=!1,g.cancel(v),v=null,b.tt_animation?u||(u=g(s,500)):s()}function r(){t&&s(),t=a(b,function(){}),b.$digest()}function s(){u=null,t&&(t.remove(),t=null)}var t,u,v,w=angular.isDefined(o.appendToBody)?o.appendToBody:!1,x=n(void 0),y=angular.isDefined(d[l+"Enable"]),z=function(){var a=j.positionElements(c,t,b.tt_placement,w);a.top+="px",a.left+="px",t.css(a)};b.tt_isOpen=!1,d.$observe(e,function(a){b.tt_content=a,!a&&b.tt_isOpen&&q()}),d.$observe(l+"Title",function(a){b.tt_title=a}),d.$observe(l+"Placement",function(a){b.tt_placement=angular.isDefined(a)?a:o.placement}),d.$observe(l+"PopupDelay",function(a){var c=parseInt(a,10);b.tt_popupDelay=isNaN(c)?o.popupDelay:c});var A=function(){c.unbind(x.show,k),c.unbind(x.hide,m)};d.$observe(l+"Trigger",function(a){A(),x=n(a),x.show===x.hide?c.bind(x.show,f):(c.bind(x.show,k),c.bind(x.hide,m))});var B=b.$eval(d[l+"Animation"]);b.tt_animation=angular.isDefined(B)?!!B:o.animation,d.$observe(l+"AppendToBody",function(a){w=angular.isDefined(a)?h(a)(b):w}),w&&b.$on("$locationChangeSuccess",function(){b.tt_isOpen&&q()}),b.$on("$destroy",function(){g.cancel(u),g.cancel(v),A(),s()})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function(a){return a("tooltip","tooltip","mouseenter")}]).directive("tooltipHtmlUnsafePopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-unsafe-popup.html"}}).directive("tooltipHtmlUnsafe",["$tooltip",function(a){return a("tooltipHtmlUnsafe","tooltip","mouseenter")}]),angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("popoverPopup",function(){return{restrict:"EA",replace:!0,scope:{title:"@",content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover.html"}}).directive("popover",["$tooltip",function(a){return a("popover","popover","click")}]),angular.module("ui.bootstrap.progressbar",[]).constant("progressConfig",{animate:!0,max:100}).controller("ProgressController",["$scope","$attrs","progressConfig",function(a,b,c){var d=this,e=angular.isDefined(b.animate)?a.$parent.$eval(b.animate):c.animate;this.bars=[],a.max=angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max,this.addBar=function(b,c){e||c.css({transition:"none"}),this.bars.push(b),b.$watch("value",function(c){b.percent=+(100*c/a.max).toFixed(2)}),b.$on("$destroy",function(){c=null,d.removeBar(b)})},this.removeBar=function(a){this.bars.splice(this.bars.indexOf(a),1)}}]).directive("progress",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",require:"progress",scope:{},templateUrl:"template/progressbar/progress.html"}}).directive("bar",function(){return{restrict:"EA",replace:!0,transclude:!0,require:"^progress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(a,b,c,d){d.addBar(a,b)}}}).directive("progressbar",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(a,b,c,d){d.addBar(a,angular.element(b.children()[0]))}}}),angular.module("ui.bootstrap.rating",[]).constant("ratingConfig",{max:5,stateOn:null,stateOff:null}).controller("RatingController",["$scope","$attrs","ratingConfig",function(a,b,c){var d={$setViewValue:angular.noop};this.init=function(e){d=e,d.$render=this.render,this.stateOn=angular.isDefined(b.stateOn)?a.$parent.$eval(b.stateOn):c.stateOn,this.stateOff=angular.isDefined(b.stateOff)?a.$parent.$eval(b.stateOff):c.stateOff;var f=angular.isDefined(b.ratingStates)?a.$parent.$eval(b.ratingStates):new Array(angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max);a.range=this.buildTemplateObjects(f)},this.buildTemplateObjects=function(a){for(var b=0,c=a.length;c>b;b++)a[b]=angular.extend({index:b},{stateOn:this.stateOn,stateOff:this.stateOff},a[b]);return a},a.rate=function(b){!a.readonly&&b>=0&&b<=a.range.length&&(d.$setViewValue(b),d.$render())},a.enter=function(b){a.readonly||(a.value=b),a.onHover({value:b})},a.reset=function(){a.value=d.$viewValue,a.onLeave()},a.onKeydown=function(b){/(37|38|39|40)/.test(b.which)&&(b.preventDefault(),b.stopPropagation(),a.rate(a.value+(38===b.which||39===b.which?1:-1)))},this.render=function(){a.value=d.$viewValue}}]).directive("rating",function(){return{restrict:"EA",require:["rating","ngModel"],scope:{readonly:"=?",onHover:"&",onLeave:"&"},controller:"RatingController",templateUrl:"template/rating/rating.html",replace:!0,link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f)}}}),angular.module("ui.bootstrap.tabs",[]).controller("TabsetController",["$scope",function(a){var b=this,c=b.tabs=a.tabs=[];b.select=function(a){angular.forEach(c,function(b){b.active&&b!==a&&(b.active=!1,b.onDeselect())}),a.active=!0,a.onSelect()},b.addTab=function(a){c.push(a),1===c.length?a.active=!0:a.active&&b.select(a)},b.removeTab=function(a){var d=c.indexOf(a);if(a.active&&c.length>1){var e=d==c.length-1?d-1:d+1;b.select(c[e])}c.splice(d,1)}}]).directive("tabset",function(){return{restrict:"EA",transclude:!0,replace:!0,scope:{type:"@"},controller:"TabsetController",templateUrl:"template/tabs/tabset.html",link:function(a,b,c){a.vertical=angular.isDefined(c.vertical)?a.$parent.$eval(c.vertical):!1,a.justified=angular.isDefined(c.justified)?a.$parent.$eval(c.justified):!1}}}).directive("tab",["$parse",function(a){return{require:"^tabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{active:"=?",heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},compile:function(b,c,d){return function(b,c,e,f){b.$watch("active",function(a){a&&f.select(b)}),b.disabled=!1,e.disabled&&b.$parent.$watch(a(e.disabled),function(a){b.disabled=!!a}),b.select=function(){b.disabled||(b.active=!0)},f.addTab(b),b.$on("$destroy",function(){f.removeTab(b)}),b.$transcludeFn=d}}}}]).directive("tabHeadingTransclude",[function(){return{restrict:"A",require:"^tab",link:function(a,b){a.$watch("headingElement",function(a){a&&(b.html(""),b.append(a))})}}}]).directive("tabContentTransclude",function(){function a(a){return a.tagName&&(a.hasAttribute("tab-heading")||a.hasAttribute("data-tab-heading")||"tab-heading"===a.tagName.toLowerCase()||"data-tab-heading"===a.tagName.toLowerCase())}return{restrict:"A",require:"^tabset",link:function(b,c,d){var e=b.$eval(d.tabContentTransclude);e.$transcludeFn(e.$parent,function(b){angular.forEach(b,function(b){a(b)?e.headingElement=b:c.append(b)})})}}}),angular.module("ui.bootstrap.timepicker",[]).constant("timepickerConfig",{hourStep:1,minuteStep:1,showMeridian:!0,meridians:null,readonlyInput:!1,mousewheel:!0}).controller("TimepickerController",["$scope","$attrs","$parse","$log","$locale","timepickerConfig",function(a,b,c,d,e,f){function g(){var b=parseInt(a.hours,10),c=a.showMeridian?b>0&&13>b:b>=0&&24>b;return c?(a.showMeridian&&(12===b&&(b=0),a.meridian===p[1]&&(b+=12)),b):void 0}function h(){var b=parseInt(a.minutes,10);return b>=0&&60>b?b:void 0}function i(a){return angular.isDefined(a)&&a.toString().length<2?"0"+a:a}function j(a){k(),o.$setViewValue(new Date(n)),l(a)}function k(){o.$setValidity("time",!0),a.invalidHours=!1,a.invalidMinutes=!1}function l(b){var c=n.getHours(),d=n.getMinutes();a.showMeridian&&(c=0===c||12===c?12:c%12),a.hours="h"===b?c:i(c),a.minutes="m"===b?d:i(d),a.meridian=n.getHours()<12?p[0]:p[1]}function m(a){var b=new Date(n.getTime()+6e4*a);n.setHours(b.getHours(),b.getMinutes()),j()}var n=new Date,o={$setViewValue:angular.noop},p=angular.isDefined(b.meridians)?a.$parent.$eval(b.meridians):f.meridians||e.DATETIME_FORMATS.AMPMS;this.init=function(c,d){o=c,o.$render=this.render;var e=d.eq(0),g=d.eq(1),h=angular.isDefined(b.mousewheel)?a.$parent.$eval(b.mousewheel):f.mousewheel;h&&this.setupMousewheelEvents(e,g),a.readonlyInput=angular.isDefined(b.readonlyInput)?a.$parent.$eval(b.readonlyInput):f.readonlyInput,this.setupInputEvents(e,g)};var q=f.hourStep;b.hourStep&&a.$parent.$watch(c(b.hourStep),function(a){q=parseInt(a,10)});var r=f.minuteStep;b.minuteStep&&a.$parent.$watch(c(b.minuteStep),function(a){r=parseInt(a,10)}),a.showMeridian=f.showMeridian,b.showMeridian&&a.$parent.$watch(c(b.showMeridian),function(b){if(a.showMeridian=!!b,o.$error.time){var c=g(),d=h();angular.isDefined(c)&&angular.isDefined(d)&&(n.setHours(c),j())}else l()}),this.setupMousewheelEvents=function(b,c){var d=function(a){a.originalEvent&&(a=a.originalEvent);var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0};b.bind("mousewheel wheel",function(b){a.$apply(d(b)?a.incrementHours():a.decrementHours()),b.preventDefault()}),c.bind("mousewheel wheel",function(b){a.$apply(d(b)?a.incrementMinutes():a.decrementMinutes()),b.preventDefault()})},this.setupInputEvents=function(b,c){if(a.readonlyInput)return a.updateHours=angular.noop,void(a.updateMinutes=angular.noop);var d=function(b,c){o.$setViewValue(null),o.$setValidity("time",!1),angular.isDefined(b)&&(a.invalidHours=b),angular.isDefined(c)&&(a.invalidMinutes=c)};a.updateHours=function(){var a=g();angular.isDefined(a)?(n.setHours(a),j("h")):d(!0)},b.bind("blur",function(){!a.invalidHours&&a.hours<10&&a.$apply(function(){a.hours=i(a.hours)})}),a.updateMinutes=function(){var a=h();angular.isDefined(a)?(n.setMinutes(a),j("m")):d(void 0,!0)},c.bind("blur",function(){!a.invalidMinutes&&a.minutes<10&&a.$apply(function(){a.minutes=i(a.minutes)})})},this.render=function(){var a=o.$modelValue?new Date(o.$modelValue):null;isNaN(a)?(o.$setValidity("time",!1),d.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(a&&(n=a),k(),l())},a.incrementHours=function(){m(60*q)},a.decrementHours=function(){m(60*-q)},a.incrementMinutes=function(){m(r)},a.decrementMinutes=function(){m(-r)},a.toggleMeridian=function(){m(720*(n.getHours()<12?1:-1))}}]).directive("timepicker",function(){return{restrict:"EA",require:["timepicker","?^ngModel"],controller:"TimepickerController",replace:!0,scope:{},templateUrl:"template/timepicker/timepicker.html",link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f,b.find("input"))}}}),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).factory("typeaheadParser",["$parse",function(a){var b=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/;return{parse:function(c){var d=c.match(b);if(!d)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+c+'".');return{itemName:d[3],source:a(d[4]),viewMapper:a(d[2]||d[1]),modelMapper:a(d[1])}}}}]).directive("typeahead",["$compile","$parse","$q","$timeout","$document","$position","typeaheadParser",function(a,b,c,d,e,f,g){var h=[9,13,27,38,40];return{require:"ngModel",link:function(i,j,k,l){var m,n=i.$eval(k.typeaheadMinLength)||1,o=i.$eval(k.typeaheadWaitMs)||0,p=i.$eval(k.typeaheadEditable)!==!1,q=b(k.typeaheadLoading).assign||angular.noop,r=b(k.typeaheadOnSelect),s=k.typeaheadInputFormatter?b(k.typeaheadInputFormatter):void 0,t=k.typeaheadAppendToBody?i.$eval(k.typeaheadAppendToBody):!1,u=b(k.ngModel).assign,v=g.parse(k.typeahead),w=i.$new();i.$on("$destroy",function(){w.$destroy()});var x="typeahead-"+w.$id+"-"+Math.floor(1e4*Math.random());j.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":x});var y=angular.element("
");y.attr({id:x,matches:"matches",active:"activeIdx",select:"select(activeIdx)",query:"query",position:"position"}),angular.isDefined(k.typeaheadTemplateUrl)&&y.attr("template-url",k.typeaheadTemplateUrl);var z=function(){w.matches=[],w.activeIdx=-1,j.attr("aria-expanded",!1)},A=function(a){return x+"-option-"+a};w.$watch("activeIdx",function(a){0>a?j.removeAttr("aria-activedescendant"):j.attr("aria-activedescendant",A(a))});var B=function(a){var b={$viewValue:a};q(i,!0),c.when(v.source(i,b)).then(function(c){var d=a===l.$viewValue;if(d&&m)if(c.length>0){w.activeIdx=0,w.matches.length=0;for(var e=0;e=n?o>0?(E(),D(a)):B(a):(q(i,!1),E(),z()),p?a:a?void l.$setValidity("editable",!1):(l.$setValidity("editable",!0),a)}),l.$formatters.push(function(a){var b,c,d={};return s?(d.$model=a,s(i,d)):(d[v.itemName]=a,b=v.viewMapper(i,d),d[v.itemName]=void 0,c=v.viewMapper(i,d),b!==c?b:a)}),w.select=function(a){var b,c,e={};e[v.itemName]=c=w.matches[a].model,b=v.modelMapper(i,e),u(i,b),l.$setValidity("editable",!0),r(i,{$item:c,$model:b,$label:v.viewMapper(i,e)}),z(),d(function(){j[0].focus()},0,!1)},j.bind("keydown",function(a){0!==w.matches.length&&-1!==h.indexOf(a.which)&&(a.preventDefault(),40===a.which?(w.activeIdx=(w.activeIdx+1)%w.matches.length,w.$digest()):38===a.which?(w.activeIdx=(w.activeIdx?w.activeIdx:w.matches.length)-1,w.$digest()):13===a.which||9===a.which?w.$apply(function(){w.select(w.activeIdx)}):27===a.which&&(a.stopPropagation(),z(),w.$digest()))}),j.bind("blur",function(){m=!1});var F=function(a){j[0]!==a.target&&(z(),w.$digest())};e.bind("click",F),i.$on("$destroy",function(){e.unbind("click",F)});var G=a(y)(w);t?e.find("body").append(G):j.after(G)}}}]).directive("typeaheadPopup",function(){return{restrict:"EA",scope:{matches:"=",query:"=",active:"=",position:"=",select:"&"},replace:!0,templateUrl:"template/typeahead/typeahead-popup.html",link:function(a,b,c){a.templateUrl=c.templateUrl,a.isOpen=function(){return a.matches.length>0},a.isActive=function(b){return a.active==b},a.selectActive=function(b){a.active=b},a.selectMatch=function(b){a.select({activeIdx:b})}}}}).directive("typeaheadMatch",["$http","$templateCache","$compile","$parse",function(a,b,c,d){return{restrict:"EA",scope:{index:"=",match:"=",query:"="},link:function(e,f,g){var h=d(g.templateUrl)(e.$parent)||"template/typeahead/typeahead-match.html";a.get(h,{cache:b}).success(function(a){f.replaceWith(c(a.trim())(e))})}}}]).filter("typeaheadHighlight",function(){function a(a){return a.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(b,c){return c?(""+b).replace(new RegExp(a(c),"gi"),"$&"):b}}),angular.module("template/accordion/accordion-group.html",[]).run(["$templateCache",function(a){a.put("template/accordion/accordion-group.html",'
\n
\n

\n {{heading}}\n

\n
\n
\n
\n
\n
')}]),angular.module("template/accordion/accordion.html",[]).run(["$templateCache",function(a){a.put("template/accordion/accordion.html",'
')}]),angular.module("template/alert/alert.html",[]).run(["$templateCache",function(a){a.put("template/alert/alert.html",'\n')}]),angular.module("template/carousel/carousel.html",[]).run(["$templateCache",function(a){a.put("template/carousel/carousel.html",'\n')}]),angular.module("template/carousel/slide.html",[]).run(["$templateCache",function(a){a.put("template/carousel/slide.html","
\n")}]),angular.module("template/datepicker/datepicker.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/datepicker.html",'
\n \n \n \n
')}]),angular.module("template/datepicker/day.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/day.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
{{label.abbr}}
{{ weekNumbers[$index] }}\n \n
\n')}]),angular.module("template/datepicker/month.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/month.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n')}]),angular.module("template/datepicker/popup.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/popup.html",'\n')}]),angular.module("template/datepicker/year.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/year.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n
\n \n
\n')}]),angular.module("template/modal/backdrop.html",[]).run(["$templateCache",function(a){a.put("template/modal/backdrop.html",'\n')}]),angular.module("template/modal/window.html",[]).run(["$templateCache",function(a){a.put("template/modal/window.html",'')}]),angular.module("template/pagination/pager.html",[]).run(["$templateCache",function(a){a.put("template/pagination/pager.html",'')}]),angular.module("template/pagination/pagination.html",[]).run(["$templateCache",function(a){a.put("template/pagination/pagination.html",'')}]),angular.module("template/tooltip/tooltip-html-unsafe-popup.html",[]).run(["$templateCache",function(a){a.put("template/tooltip/tooltip-html-unsafe-popup.html",'
\n
\n
\n
\n')}]),angular.module("template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function(a){a.put("template/tooltip/tooltip-popup.html",'
\n
\n
\n
\n')}]),angular.module("template/popover/popover.html",[]).run(["$templateCache",function(a){a.put("template/popover/popover.html",'
\n
\n\n
\n

\n
\n
\n
\n') -}]),angular.module("template/progressbar/bar.html",[]).run(["$templateCache",function(a){a.put("template/progressbar/bar.html",'
')}]),angular.module("template/progressbar/progress.html",[]).run(["$templateCache",function(a){a.put("template/progressbar/progress.html",'
')}]),angular.module("template/progressbar/progressbar.html",[]).run(["$templateCache",function(a){a.put("template/progressbar/progressbar.html",'
\n
\n
')}]),angular.module("template/rating/rating.html",[]).run(["$templateCache",function(a){a.put("template/rating/rating.html",'\n \n ({{ $index < value ? \'*\' : \' \' }})\n \n')}]),angular.module("template/tabs/tab.html",[]).run(["$templateCache",function(a){a.put("template/tabs/tab.html",'
  • \n {{heading}}\n
  • \n')}]),angular.module("template/tabs/tabset.html",[]).run(["$templateCache",function(a){a.put("template/tabs/tabset.html",'
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),angular.module("template/timepicker/timepicker.html",[]).run(["$templateCache",function(a){a.put("template/timepicker/timepicker.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
     
    \n \n :\n \n
     
    \n')}]),angular.module("template/typeahead/typeahead-match.html",[]).run(["$templateCache",function(a){a.put("template/typeahead/typeahead-match.html",'')}]),angular.module("template/typeahead/typeahead-popup.html",[]).run(["$templateCache",function(a){a.put("template/typeahead/typeahead-popup.html",'\n')}]),c("angular-bootstrap-tpls",["angular","angular-bootstrap"],function(){}),!function(a,b){b["true"]=a,angular.module("textAngularSetup",[]).value("taOptions",{toolbar:[["h1","h2","h3","h4","h5","h6","p","pre","quote"],["bold","italics","underline","ul","ol","redo","undo","clear"],["justifyLeft","justifyCenter","justifyRight","indent","outdent"],["html","insertImage","insertLink","insertVideo"]],classes:{focussed:"focussed",toolbar:"btn-toolbar",toolbarGroup:"btn-group",toolbarButton:"btn btn-default",toolbarButtonActive:"active",disabled:"disabled",textEditor:"form-control",htmlEditor:"form-control"},setup:{textEditorSetup:function(){},htmlEditorSetup:function(){}},defaultFileDropHandler:function(a,b){var c=new FileReader;return"image"===a.type.substring(0,5)?(c.onload=function(){""!==c.result&&b("insertImage",c.result,!0)},c.readAsDataURL(a),!0):!1}}).value("taSelectableElements",["a","img"]).value("taCustomRenderers",[{selector:"img",customAttribute:"ta-insert-video",renderLogic:function(a){var b=angular.element(""),c=a.prop("attributes");angular.forEach(c,function(a){b.attr(a.name,a.value)}),b.attr("src",b.attr("ta-insert-video")),a.replaceWith(b)}}]).constant("taTranslations",{html:{buttontext:"Toggle HTML",tooltip:"Toggle html / Rich Text"},heading:{tooltip:"Heading "},p:{tooltip:"Paragraph"},pre:{tooltip:"Preformatted text"},ul:{tooltip:"Unordered List"},ol:{tooltip:"Ordered List"},quote:{tooltip:"Quote/unqoute selection or paragraph"},undo:{tooltip:"Undo"},redo:{tooltip:"Redo"},bold:{tooltip:"Bold"},italic:{tooltip:"Italic"},underline:{tooltip:"Underline"},justifyLeft:{tooltip:"Align text left"},justifyRight:{tooltip:"Align text right"},justifyCenter:{tooltip:"Center"},indent:{tooltip:"Increase indent"},outdent:{tooltip:"Decrease indent"},clear:{tooltip:"Clear formatting"},insertImage:{dialogPrompt:"Please enter an image URL to insert",tooltip:"Insert image",hotkey:"the - possibly language dependent hotkey ... for some future implementation"},insertVideo:{tooltip:"Insert video",dialogPrompt:"Please enter a youtube URL to embed"},insertLink:{tooltip:"Insert / edit link",dialogPrompt:"Please enter a URL to insert"}}).run(["taRegisterTool","$window","taTranslations","taSelection",function(a,b,c,d){a("html",{buttontext:c.html.buttontext,tooltiptext:c.html.tooltip,action:function(){this.$editor().switchView()},activeState:function(){return this.$editor().showHtml}});var e=function(a){return function(){return this.$editor().queryFormatBlockState(a)}},f=function(){return this.$editor().wrapSelection("formatBlock","<"+this.name.toUpperCase()+">")};angular.forEach(["h1","h2","h3","h4","h5","h6"],function(b){a(b.toLowerCase(),{buttontext:b.toUpperCase(),tooltiptext:c.heading.tooltip+b.charAt(1),action:f,activeState:e(b.toLowerCase())})}),a("p",{buttontext:"P",tooltiptext:c.p.tooltip,action:function(){return this.$editor().wrapSelection("formatBlock","

    ")},activeState:function(){return this.$editor().queryFormatBlockState("p")}}),a("pre",{buttontext:"pre",tooltiptext:c.pre.tooltip,action:function(){return this.$editor().wrapSelection("formatBlock","

    ")},activeState:function(){return this.$editor().queryFormatBlockState("pre")}}),a("ul",{iconclass:"fa fa-list-ul",tooltiptext:c.ul.tooltip,action:function(){return this.$editor().wrapSelection("insertUnorderedList",null)},activeState:function(){return this.$editor().queryCommandState("insertUnorderedList")}}),a("ol",{iconclass:"fa fa-list-ol",tooltiptext:c.ol.tooltip,action:function(){return this.$editor().wrapSelection("insertOrderedList",null)},activeState:function(){return this.$editor().queryCommandState("insertOrderedList")}}),a("quote",{iconclass:"fa fa-quote-right",tooltiptext:c.quote.tooltip,action:function(){return this.$editor().wrapSelection("formatBlock","
    ")},activeState:function(){return this.$editor().queryFormatBlockState("blockquote")}}),a("undo",{iconclass:"fa fa-undo",tooltiptext:c.undo.tooltip,action:function(){return this.$editor().wrapSelection("undo",null)}}),a("redo",{iconclass:"fa fa-repeat",tooltiptext:c.redo.tooltip,action:function(){return this.$editor().wrapSelection("redo",null)}}),a("bold",{iconclass:"fa fa-bold",tooltiptext:c.bold.tooltip,action:function(){return this.$editor().wrapSelection("bold",null)},activeState:function(){return this.$editor().queryCommandState("bold")},commandKeyCode:98}),a("justifyLeft",{iconclass:"fa fa-align-left",tooltiptext:c.justifyLeft.tooltip,action:function(){return this.$editor().wrapSelection("justifyLeft",null)},activeState:function(a){var b=!1;return a&&(b="left"===a.css("text-align")||"left"===a.attr("align")||"right"!==a.css("text-align")&&"center"!==a.css("text-align")&&!this.$editor().queryCommandState("justifyRight")&&!this.$editor().queryCommandState("justifyCenter")),b=b||this.$editor().queryCommandState("justifyLeft")}}),a("justifyRight",{iconclass:"fa fa-align-right",tooltiptext:c.justifyRight.tooltip,action:function(){return this.$editor().wrapSelection("justifyRight",null)},activeState:function(a){var b=!1;return a&&(b="right"===a.css("text-align")),b=b||this.$editor().queryCommandState("justifyRight")}}),a("justifyCenter",{iconclass:"fa fa-align-center",tooltiptext:c.justifyCenter.tooltip,action:function(){return this.$editor().wrapSelection("justifyCenter",null)},activeState:function(a){var b=!1;return a&&(b="center"===a.css("text-align")),b=b||this.$editor().queryCommandState("justifyCenter")}}),a("indent",{iconclass:"fa fa-indent",tooltiptext:c.indent.tooltip,action:function(){return this.$editor().wrapSelection("indent",null)},activeState:function(){return this.$editor().queryFormatBlockState("blockquote")}}),a("outdent",{iconclass:"fa fa-outdent",tooltiptext:c.outdent.tooltip,action:function(){return this.$editor().wrapSelection("outdent",null)},activeState:function(){return!1}}),a("italics",{iconclass:"fa fa-italic",tooltiptext:c.italic.tooltip,action:function(){return this.$editor().wrapSelection("italic",null)},activeState:function(){return this.$editor().queryCommandState("italic")},commandKeyCode:105}),a("underline",{iconclass:"fa fa-underline",tooltiptext:c.underline.tooltip,action:function(){return this.$editor().wrapSelection("underline",null)},activeState:function(){return this.$editor().queryCommandState("underline")},commandKeyCode:117}),a("clear",{iconclass:"fa fa-ban",tooltiptext:c.clear.tooltip,action:function(a,b){this.$editor().wrapSelection("removeFormat",null);var c=angular.element(d.getSelectionElement()),e=function(a){a=angular.element(a);var b=a;angular.forEach(a.children(),function(a){var c=angular.element("

    ");c.html(angular.element(a).html()),b.after(c),b=c}),a.remove()};angular.forEach(c.find("ul"),e),angular.forEach(c.find("ol"),e);var f=this.$editor(),g=function(a){a=angular.element(a),a[0]!==f.displayElements.text[0]&&a.removeAttr("class"),angular.forEach(a.children(),g)};angular.forEach(c,g),"li"!==c[0].tagName.toLowerCase()&&"ol"!==c[0].tagName.toLowerCase()&&"ul"!==c[0].tagName.toLowerCase()&&this.$editor().wrapSelection("formatBlock","

    "),b()}});var g=function(a,b,c){var d=function(){c.updateTaBindtaTextElement(),c.hidePopover()};a.preventDefault(),c.displayElements.popover.css("width","375px");var e=c.displayElements.popoverContainer;e.empty();var f=angular.element('

    '),g=angular.element('');g.on("click",function(a){a.preventDefault(),b.css({width:"100%",height:""}),d()});var h=angular.element('');h.on("click",function(a){a.preventDefault(),b.css({width:"50%",height:""}),d()});var i=angular.element('');i.on("click",function(a){a.preventDefault(),b.css({width:"25%",height:""}),d()});var j=angular.element('');j.on("click",function(a){a.preventDefault(),b.css({width:"",height:""}),d()}),f.append(g),f.append(h),f.append(i),f.append(j),e.append(f),f=angular.element('
    ');var k=angular.element('');k.on("click",function(a){a.preventDefault(),b.css("float","left"),d()});var l=angular.element('');l.on("click",function(a){a.preventDefault(),b.css("float","right"),d()});var m=angular.element('');m.on("click",function(a){a.preventDefault(),b.css("float",""),d()}),f.append(k),f.append(m),f.append(l),e.append(f),f=angular.element('
    ');var n=angular.element('');n.on("click",function(a){a.preventDefault(),b.remove(),d()}),f.append(n),e.append(f),c.showPopover(b),c.showResizeOverlay(b)};a("insertImage",{iconclass:"fa fa-picture-o",tooltiptext:c.insertImage.tooltip,action:function(){var a;return a=b.prompt(c.insertImage.dialogPrompt,"http://"),a&&""!==a&&"http://"!==a?this.$editor().wrapSelection("insertImage",a,!0):void 0},onElementSelect:{element:"img",action:g}}),a("insertVideo",{iconclass:"fa fa-youtube-play",tooltiptext:c.insertVideo.tooltip,action:function(){var a;if(a=b.prompt(c.insertVideo.dialogPrompt,"http://"),a&&""!==a&&"http://"!==a){var d=a.match(/(\?|&)v=[^&]*/);if(d.length>0){var e="http://www.youtube.com/embed/"+d[0].substring(3),f='';return this.$editor().wrapSelection("insertHTML",f,!0)}}},onElementSelect:{element:"img",onlyWithAttrs:["ta-insert-video"],action:g}}),a("insertLink",{tooltiptext:c.insertLink.tooltip,iconclass:"fa fa-link",action:function(){var a;return a=b.prompt(c.insertLink.dialogPrompt,"http://"),a&&""!==a&&"http://"!==a?this.$editor().wrapSelection("createLink",a,!0):void 0},activeState:function(a){return a?"A"===a[0].tagName:!1},onElementSelect:{element:"a",action:function(a,d,e){a.preventDefault(),e.displayElements.popover.css("width","435px");var f=e.displayElements.popoverContainer;f.empty(),f.css("line-height","28px");var g=angular.element(''+d.attr("href")+"");g.css({display:"inline-block","max-width":"200px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap","vertical-align":"middle"}),f.append(g);var h=angular.element('
    '),i=angular.element('');i.on("click",function(a){a.preventDefault();var f=b.prompt(c.insertLink.dialogPrompt,d.attr("href"));f&&""!==f&&"http://"!==f&&(d.attr("href",f),e.updateTaBindtaTextElement()),e.hidePopover()}),h.append(i);var j=angular.element('');j.on("click",function(a){a.preventDefault(),d.replaceWith(d.contents()),e.updateTaBindtaTextElement(),e.hidePopover()}),h.append(j);var k=angular.element('');"_blank"===d.attr("target")&&k.addClass("active"),k.on("click",function(a){a.preventDefault(),d.attr("target","_blank"===d.attr("target")?"":"_blank"),k.toggleClass("active"),e.updateTaBindtaTextElement()}),h.append(k),f.append(h),e.showPopover(d)}}})}]),function(){"Use Strict";function a(a){try{return 0!==angular.element(a).length}catch(b){return!1}}function b(a,c){var d=[],e=a.children();return e.length&&angular.forEach(e,function(a){d=d.concat(b(angular.element(a),c))}),void 0!==a.attr(c)&&d.push(a),d}function c(b,c){if(!b||""===b||n.hasOwnProperty(b))throw"textAngular Error: A unique name is required for a Tool Definition";if(c.display&&(""===c.display||!a(c.display))||!c.display&&!c.buttontext&&!c.iconclass)throw'textAngular Error: Tool Definition for "'+b+'" does not have a valid display/iconclass/buttontext value';n[b]=c}var d=!1;/AppleWebKit\/([\d.]+)/.exec(navigator.userAgent)&&(document.addEventListener("click",function(){var a=window.event.target;if(d&&null!==a){for(var b=!1,c=a;null!==c&&"html"!==c.tagName.toLowerCase()&&!b;)b="true"===c.contentEditable,c=c.parentNode;b||(document.getElementById("textAngular-editableFix-010203040506070809").setSelectionRange(0,0),a.focus())}d=!1},!1),angular.element(document).ready(function(){angular.element(document.body).append(angular.element(''))}));var e=function(){var a,b=-1,c=window.navigator.userAgent,d=c.indexOf("MSIE "),e=c.indexOf("Trident/");if(d>0)b=parseInt(c.substring(d+5,c.indexOf(".",d)),10);else if(e>0){var f=c.indexOf("rv:");b=parseInt(c.substring(f+3,c.indexOf(".",f)),10)}return b>-1?b:a}();"function"!=typeof String.prototype.trim&&(String.prototype.trim=function(){return this.replace(/^\s\s*/,"").replace(/\s\s*$/,"")});var f,g,h,i,j;if(e>8||void 0===e){var k=function(){var a=document.createElement("style");return/AppleWebKit\/([\d.]+)/.exec(navigator.userAgent)&&a.appendChild(document.createTextNode("")),document.head.insertBefore(a,document.head.firstChild),a.sheet}();f=function(){var a=document.createElement("style");return/AppleWebKit\/([\d.]+)/.exec(navigator.userAgent)&&a.appendChild(document.createTextNode("")),document.head.appendChild(a),a.sheet}(),g=function(a,b){i(f,a,b)},i=function(a,b,c){var d;return a.rules?d=Math.max(a.rules.length-1,0):a.cssRules&&(d=Math.max(a.cssRules.length-1,0)),a.insertRule?a.insertRule(b+"{"+c+"}",d):a.addRule(b,c,d),d},h=function(a){j(f,a)},j=function(a,b){a.removeRule?a.removeRule(b):a.deleteRule(b)},i(k,".ta-scroll-window.form-control","height: auto; min-height: 300px; overflow: auto; font-family: inherit; font-size: 100%; position: relative; padding: 0;"),i(k,".ta-root.focussed .ta-scroll-window.form-control","border-color: #66afe9; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);"),i(k,".ta-editor.ta-html","min-height: 300px; height: auto; overflow: auto; font-family: inherit; font-size: 100%;"),i(k,".ta-scroll-window > .ta-bind","height: auto; min-height: 300px; padding: 6px 12px;"),i(k,".ta-root .ta-resizer-handle-overlay","z-index: 100; position: absolute; display: none;"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-info","position: absolute; bottom: 16px; right: 16px; border: 1px solid black; background-color: #FFF; padding: 0 4px; opacity: 0.7;"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-background","position: absolute; bottom: 5px; right: 5px; left: 5px; top: 5px; border: 1px solid black; background-color: rgba(0, 0, 0, 0.2);"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-corner","width: 10px; height: 10px; position: absolute;"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-corner-tl","top: 0; left: 0; border-left: 1px solid black; border-top: 1px solid black;"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-corner-tr","top: 0; right: 0; border-right: 1px solid black; border-top: 1px solid black;"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-corner-bl","bottom: 0; left: 0; border-left: 1px solid black; border-bottom: 1px solid black;"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-corner-br","bottom: 0; right: 0; border: 1px solid black; cursor: se-resize; background-color: white;")}var l=!1,m=angular.module("textAngular",["ngSanitize","textAngularSetup"]),n={};m.constant("taRegisterTool",c),m.value("taTools",n),m.config([function(){angular.forEach(n,function(a,b){delete n[b]})}]),m.directive("textAngular",["$compile","$timeout","taOptions","taSelection","taExecCommand","textAngularManager","$window","$document","$animate","$log",function(a,b,c,d,e,f,g,h,i,j){return{require:"?ngModel",scope:{},restrict:"EA",link:function(k,l,m,n){var o,p,q,r,s,t,u,v,w,x=m.serial?m.serial:Math.floor(1e16*Math.random()),y=m.name?m.name:"textAngularEditor"+x,z=function(a,c,d){b(function(){var b=function(){a.off(c,b),d()};a.on(c,b)},100)};w=e(m.taDefaultWrap),angular.extend(k,angular.copy(c),{wrapSelection:function(a,b,c){w(a,!1,b),c&&k["reApplyOnSelectorHandlerstaTextElement"+x](),k.displayElements.text[0].focus()},showHtml:!1}),m.taFocussedClass&&(k.classes.focussed=m.taFocussedClass),m.taTextEditorClass&&(k.classes.textEditor=m.taTextEditorClass),m.taHtmlEditorClass&&(k.classes.htmlEditor=m.taHtmlEditorClass),m.taTextEditorSetup&&(k.setup.textEditorSetup=k.$parent.$eval(m.taTextEditorSetup)),m.taHtmlEditorSetup&&(k.setup.htmlEditorSetup=k.$parent.$eval(m.taHtmlEditorSetup)),k.fileDropHandler=m.taFileDrop?k.$parent.$eval(m.taFileDrop):k.defaultFileDropHandler,u=l[0].innerHTML,l[0].innerHTML="",k.displayElements={forminput:angular.element(""),html:angular.element(""),text:angular.element("
    "),scrollWindow:angular.element("
    "),popover:angular.element('
    '),popoverArrow:angular.element('
    '),popoverContainer:angular.element('
    '),resize:{overlay:angular.element('
    '),background:angular.element('
    '),anchors:[angular.element('
    '),angular.element('
    '),angular.element('
    '),angular.element('
    ')],info:angular.element('
    ')}},k.displayElements.popover.append(k.displayElements.popoverArrow),k.displayElements.popover.append(k.displayElements.popoverContainer),k.displayElements.scrollWindow.append(k.displayElements.popover),k.displayElements.popover.on("mousedown",function(a,b){return b&&angular.extend(a,b),a.preventDefault(),!1}),k.showPopover=function(a){k.displayElements.popover.css("display","block"),k.reflowPopover(a),i.addClass(k.displayElements.popover,"in"),z(l,"click keyup",function(){k.hidePopover()})},k.reflowPopover=function(a){k.displayElements.text[0].offsetHeight-51>a[0].offsetTop?(k.displayElements.popover.css("top",a[0].offsetTop+a[0].offsetHeight+"px"),k.displayElements.popover.removeClass("top").addClass("bottom")):(k.displayElements.popover.css("top",a[0].offsetTop-54+"px"),k.displayElements.popover.removeClass("bottom").addClass("top"));var b=k.displayElements.text[0].offsetWidth-k.displayElements.popover[0].offsetWidth,c=a[0].offsetLeft+a[0].offsetWidth/2-k.displayElements.popover[0].offsetWidth/2;k.displayElements.popover.css("left",Math.max(0,Math.min(b,c))+"px"),k.displayElements.popoverArrow.css("margin-left",Math.min(c,Math.max(0,c-b))-11+"px")},k.hidePopover=function(){i.removeClass(k.displayElements.popover,"in",function(){k.displayElements.popover.css("display",""),k.displayElements.popoverContainer.attr("style",""),k.displayElements.popoverContainer.attr("class","popover-content")})},k.displayElements.resize.overlay.append(k.displayElements.resize.background),angular.forEach(k.displayElements.resize.anchors,function(a){k.displayElements.resize.overlay.append(a)}),k.displayElements.resize.overlay.append(k.displayElements.resize.info),k.displayElements.scrollWindow.append(k.displayElements.resize.overlay),k.reflowResizeOverlay=function(a){a=angular.element(a)[0],k.displayElements.resize.overlay.css({display:"block",left:a.offsetLeft-5+"px",top:a.offsetTop-5+"px",width:a.offsetWidth+10+"px",height:a.offsetHeight+10+"px"}),k.displayElements.resize.info.text(a.offsetWidth+" x "+a.offsetHeight)},k.showResizeOverlay=function(a){var b=function(b){var c={width:parseInt(a.attr("width")),height:parseInt(a.attr("height")),x:b.clientX,y:b.clientY};void 0===c.width&&(c.width=a[0].offsetWidth),void 0===c.height&&(c.height=a[0].offsetHeight),k.hidePopover();var d=c.height/c.width,e=function(b){var e={x:Math.max(0,c.width+(b.clientX-c.x)),y:Math.max(0,c.height+(b.clientY-c.y))},f=function(a,b){a=angular.element(a),"img"===a[0].tagName.toLowerCase()&&(b.height&&(a.attr("height",b.height),delete b.height),b.width&&(a.attr("width",b.width),delete b.width)),a.css(b)};if(b.shiftKey){var g=e.y/e.x;f(a,{width:d>g?e.x:e.y/d,height:d>g?e.x*d:e.y})}else f(a,{width:e.x,height:e.y});k.reflowResizeOverlay(a)};h.find("body").on("mousemove",e),z(k.displayElements.resize.overlay,"mouseup",function(){h.find("body").off("mousemove",e),k.showPopover(a)}),b.stopPropagation(),b.preventDefault()};k.displayElements.resize.anchors[3].on("mousedown",b),k.reflowResizeOverlay(a),z(l,"click",function(){k.hideResizeOverlay()})},k.hideResizeOverlay=function(){k.displayElements.resize.overlay.css("display","")},k.setup.htmlEditorSetup(k.displayElements.html),k.setup.textEditorSetup(k.displayElements.text),k.displayElements.html.attr({id:"taHtmlElement"+x,"ng-show":"showHtml","ta-bind":"ta-bind","ng-model":"html"}),k.displayElements.text.attr({id:"taTextElement"+x,contentEditable:"true","ta-bind":"ta-bind","ng-model":"html"}),k.displayElements.scrollWindow.attr({"ng-hide":"showHtml"}),m.taDefaultWrap&&k.displayElements.text.attr("ta-default-wrap",m.taDefaultWrap),m.taUnsafeSanitizer&&(k.displayElements.text.attr("ta-unsafe-sanitizer",m.taUnsafeSanitizer),k.displayElements.html.attr("ta-unsafe-sanitizer",m.taUnsafeSanitizer)),k.displayElements.scrollWindow.append(k.displayElements.text),l.append(k.displayElements.scrollWindow),l.append(k.displayElements.html),k.displayElements.forminput.attr("name",y),l.append(k.displayElements.forminput),m.tabindex&&(l.removeAttr("tabindex"),k.displayElements.text.attr("tabindex",m.tabindex),k.displayElements.html.attr("tabindex",m.tabindex)),m.placeholder&&(k.displayElements.text.attr("placeholder",m.placeholder),k.displayElements.html.attr("placeholder",m.placeholder)),m.taDisabled&&(k.displayElements.text.attr("ta-readonly","disabled"),k.displayElements.html.attr("ta-readonly","disabled"),k.disabled=k.$parent.$eval(m.taDisabled),k.$parent.$watch(m.taDisabled,function(a){k.disabled=a,k.disabled?l.addClass(k.classes.disabled):l.removeClass(k.classes.disabled)})),a(k.displayElements.scrollWindow)(k),a(k.displayElements.html)(k),k.updateTaBindtaTextElement=k["updateTaBindtaTextElement"+x],k.updateTaBindtaHtmlElement=k["updateTaBindtaHtmlElement"+x],l.addClass("ta-root"),k.displayElements.scrollWindow.addClass("ta-text ta-editor "+k.classes.textEditor),k.displayElements.html.addClass("ta-html ta-editor "+k.classes.htmlEditor),k._actionRunning=!1;var A=!1;if(k.startAction=function(){return k._actionRunning=!0,g.rangy&&g.rangy.saveSelection?(A=g.rangy.saveSelection(),function(){A&&g.rangy.restoreSelection(A)}):void 0},k.endAction=function(){k._actionRunning=!1,A&&g.rangy.removeMarkers(A),A=!1,k.updateSelectedStyles(),k.showHtml||k["updateTaBindtaTextElement"+x]()},s=function(){l.addClass(k.classes.focussed),v.focus()},k.displayElements.html.on("focus",s),k.displayElements.text.on("focus",s),t=function(a){return k._actionRunning||h[0].activeElement===k.displayElements.html[0]||h[0].activeElement===k.displayElements.text[0]||(l.removeClass(k.classes.focussed),v.unfocus(),b(function(){l.triggerHandler("blur")},0)),a.preventDefault(),!1},k.displayElements.html.on("blur",t),k.displayElements.text.on("blur",t),k.queryFormatBlockState=function(a){return!k.showHtml&&a.toLowerCase()===h[0].queryCommandValue("formatBlock").toLowerCase()},k.queryCommandState=function(a){return k.showHtml?"":h[0].queryCommandState(a)},k.switchView=function(){k.showHtml=!k.showHtml,k.showHtml?b(function(){return k.displayElements.html[0].focus()},100):b(function(){return k.displayElements.text[0].focus()},100)},m.ngModel){var B=!0;n.$render=function(){if(B){B=!1;var a=k.$parent.$eval(m.ngModel);void 0!==a&&null!==a||!u||""===u||n.$setViewValue(u)}k.displayElements.forminput.val(n.$viewValue),k._elementSelectTriggered||h[0].activeElement===k.displayElements.html[0]||h[0].activeElement===k.displayElements.text[0]||(k.html=n.$viewValue||"")};var C=function(a){return m.required&&n.$setValidity("required",!(!a||""===a.trim())),a};n.$parsers.push(C),n.$formatters.push(C)}else k.displayElements.forminput.val(u),k.html=u;if(k.$watch("html",function(a,b){a!==b&&(m.ngModel&&n.$viewValue!==a&&n.$setViewValue(a),k.displayElements.forminput.val(a))}),m.taTargetToolbars)v=f.registerEditor(y,k,m.taTargetToolbars.split(","));else{var D=angular.element('
    ');m.taToolbar&&D.attr("ta-toolbar",m.taToolbar),m.taToolbarClass&&D.attr("ta-toolbar-class",m.taToolbarClass),m.taToolbarGroupClass&&D.attr("ta-toolbar-group-class",m.taToolbarGroupClass),m.taToolbarButtonClass&&D.attr("ta-toolbar-button-class",m.taToolbarButtonClass),m.taToolbarActiveButtonClass&&D.attr("ta-toolbar-active-button-class",m.taToolbarActiveButtonClass),m.taFocussedClass&&D.attr("ta-focussed-class",m.taFocussedClass),l.prepend(D),a(D)(k.$parent),v=f.registerEditor(y,k,["textAngularToolbar"+x])}k.$on("$destroy",function(){f.unregisterEditor(y)}),k.$on("ta-element-select",function(a,b){v.triggerElementSelect(a,b)}),k.$on("ta-drop-event",function(a,b,c,d){k.displayElements.text[0].focus(),d&&d.files&&d.files.length>0&&(angular.forEach(d.files,function(a){try{return k.fileDropHandler(a,k.wrapSelection)||k.fileDropHandler!==k.defaultFileDropHandler&&k.defaultFileDropHandler(a,k.wrapSelection)}catch(b){j.error(b)}}),c.preventDefault(),c.stopPropagation())}),k._bUpdateSelectedStyles=!1,k.updateSelectedStyles=function(){var a;void 0!==(a=d.getSelectionElement())&&a.parentNode!==k.displayElements.text[0]?v.updateSelectedStyles(angular.element(a)):v.updateSelectedStyles(),k._bUpdateSelectedStyles&&b(k.updateSelectedStyles,200)},o=function(){k._bUpdateSelectedStyles||(k._bUpdateSelectedStyles=!0,k.$apply(function(){k.updateSelectedStyles()}))},k.displayElements.html.on("keydown",o),k.displayElements.text.on("keydown",o),p=function(){k._bUpdateSelectedStyles=!1},k.displayElements.html.on("keyup",p),k.displayElements.text.on("keyup",p),q=function(a,b){b&&angular.extend(a,b),k.$apply(function(){return v.sendKeyCommand(a)?(k._bUpdateSelectedStyles||k.updateSelectedStyles(),a.preventDefault(),!1):void 0 -})},k.displayElements.html.on("keypress",q),k.displayElements.text.on("keypress",q),r=function(){k._bUpdateSelectedStyles=!1,k.$apply(function(){k.updateSelectedStyles()})},k.displayElements.html.on("mouseup",r),k.displayElements.text.on("mouseup",r)}}}]).factory("taBrowserTag",[function(){return function(a){return a?""===a?void 0===e?"div":8>=e?"P":"p":8>=e?a.toUpperCase():a:8>=e?"P":"p"}}]).factory("taExecCommand",["taSelection","taBrowserTag","$document",function(a,b,c){var d=/^(address|article|aside|audio|blockquote|canvas|dd|div|dl|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|noscript|ol|output|p|pre|section|table|tfoot|ul|video)$/gi,e=/^(ul|li|ol)$/gi,f=function(b,c){var d,e,f=b.find("li");for(e=f.length-1;e>=0;e--)d=angular.element("<"+c+">"+f[e].innerHTML+""),b.after(d);b.remove(),a.setSelectionToElementEnd(d[0])},g=function(b,c){var d=angular.element("<"+c+">"+b[0].innerHTML+"");b.after(d),b.remove(),a.setSelectionToElementEnd(d.find("li")[0])},h=function(c,d,e){for(var f="",g=0;g"+c[g].innerHTML+"";var h=angular.element("<"+e+">"+f+"");d.after(h),d.remove(),a.setSelectionToElementEnd(h.find("li")[0])};return function(i){return i=b(i),function(j,k,l){var m,n,o,p,q,r=angular.element("<"+i+">"),s=a.getSelectionElement(),t=angular.element(s);if(void 0!==s){var u=s.tagName.toLowerCase();if("insertorderedlist"===j.toLowerCase()||"insertunorderedlist"===j.toLowerCase()){var v=b("insertorderedlist"===j.toLowerCase()?"ol":"ul");if(u===v)return f(t,i);if("li"===u&&t.parent()[0].tagName.toLowerCase()===v&&1===t.parent().children().length)return f(t.parent(),i);if("li"===u&&t.parent()[0].tagName.toLowerCase()!==v&&1===t.parent().children().length)return g(t.parent(),v);if(u.match(d)&&!t.hasClass("ta-bind")){if("ol"===u||"ul"===u)return g(t,v);var w=!1;return angular.forEach(t.children(),function(a){a.tagName.match(d)&&(w=!0)}),w?h(t.children(),t,v):h([angular.element("
    "+s.innerHTML+"
    ")[0]],t,v)}if(u.match(d)){if(p=a.getOnlySelectedElements(),1===p.length&&("ol"===p[0].tagName.toLowerCase()||"ul"===p[0].tagName.toLowerCase()))return p[0].tagName.toLowerCase()===v?f(angular.element(p[0]),i):g(angular.element(p[0]),v);o="";var x=[];for(m=0;m"+y[0].innerHTML+"",x.unshift(y)}return n=angular.element("<"+v+">"+o+""),x.pop().replaceWith(n),angular.forEach(x,function(a){a.remove()}),void a.setSelectionToElementEnd(n[0])}}else if("formatblock"===j.toLowerCase()){var z=l.toLowerCase().replace(/[<>]/gi,"");for(n="li"===u?t.parent():t;!n[0].tagName.match(d);)n=n.parent(),u=n[0].tagName.toLowerCase();if(u===z){p=n.children();var A=!1;for(m=0;m"),r[0].innerHTML=D[m].outerHTML,D[m]=r[0]),C.parent()[0].insertBefore(D[m],C[0]);C.remove()}return void a.setSelectionToElementEnd(n[0])}}try{c[0].execCommand(j,k,l)}catch(E){}}}}]).directive("taBind",["taSanitize","$timeout","$window","$document","taFixChrome","taBrowserTag","taSelection","taSelectableElements","taApplyCustomRenderers","taOptions",function(a,b,c,f,i,j,k,m,n,o){return{require:"ngModel",scope:{},link:function(j,p,q,r){var s,t,u=void 0!==p.attr("contenteditable")&&p.attr("contenteditable"),v=u||"textarea"===p[0].tagName.toLowerCase()||"input"===p[0].tagName.toLowerCase(),w=!1,x=!1,y=q.taUnsafeSanitizer||o.disableSanitizer;void 0===q.taDefaultWrap&&(q.taDefaultWrap="p"),""===q.taDefaultWrap?(s="",t=void 0===e?"

    ":e>=11?"


    ":8>=e?"

     

    ":"

     

    "):(s=void 0===e||e>=11?"<"+q.taDefaultWrap+">
    ":8>=e?"<"+q.taDefaultWrap.toUpperCase()+">":"<"+q.taDefaultWrap+">",t=void 0===e||e>=11?"<"+q.taDefaultWrap+">
    ":8>=e?"<"+q.taDefaultWrap.toUpperCase()+"> ":"<"+q.taDefaultWrap+"> "),p.addClass("ta-bind");var z=function(){if(u)return p[0].innerHTML;if(v)return p.val();throw"textAngular Error: attempting to update non-editable taBind"},A=function(a){a||(a=z()),a===t?""!==r.$viewValue&&r.$setViewValue(""):r.$viewValue!==a&&r.$setViewValue(a)};if(j.$parent["updateTaBind"+(q.id||"")]=function(){w||A()},v)if(u){if(p.on("cut",function(a){w?a.preventDefault():b(function(){A()},0)}),p.on("paste",function(a,b){b&&angular.extend(a,b);var d;if(a.clipboardData||a.originalEvent&&a.originalEvent.clipboardData?d=(a.originalEvent||a).clipboardData.getData("text/plain"):c.clipboardData&&(d=c.clipboardData.getData("Text")),!d&&!w)return!0;if(a.preventDefault(),!w){var e=angular.element("
    ");if(e[0].innerHTML=d,d=e.text(),f[0].selection){var g=f[0].selection.createRange();g.pasteHTML(d)}else f[0].execCommand("insertText",!1,d);A()}}),p.on("keyup",function(a,b){if(b&&angular.extend(a,b),!w){if(""!==s&&13===a.keyCode&&!a.shiftKey){var c=k.getSelectionElement();if(c.tagName.toLowerCase()!==q.taDefaultWrap&&"li"!==c.tagName.toLowerCase()&&(""===c.innerHTML.trim()||"
    "===c.innerHTML.trim())){var d=angular.element(s);angular.element(c).replaceWith(d),k.setSelectionToElementStart(d[0])}}var e=z();""!==s&&""===e.trim()&&(p[0].innerHTML=s,k.setSelectionToElementStart(p.children()[0])),A(e)}}),p.on("blur",function(){x=!1,w||A(),r.$render()}),q.placeholder&&(e>8||void 0===e)){var B;if(!q.id)throw"textAngular Error: An unique ID is required for placeholders to work";B=g("#"+q.id+".placeholder-text:before",'content: "'+q.placeholder+'"'),j.$on("$destroy",function(){h(B)})}p.on("focus",function(){x=!0,r.$render()}),p.on("mousedown",function(a,b){b&&angular.extend(a,b),a.stopPropagation()})}else p.on("paste cut",function(){w||b(function(){r.$setViewValue(z())},0)}),p.on("change blur",function(){w||r.$setViewValue(z())});var C=function(b){return r.$oldViewValue=a(i(b),r.$oldViewValue,y)},D=function(a){return q.required&&r.$setValidity("required",!(!a||a.trim()===t||""===a.trim())),a};r.$parsers.push(C),r.$parsers.push(D),r.$formatters.push(C),r.$formatters.push(D);var E=function(a){return j.$emit("ta-element-select",this),a.preventDefault(),!1},F=function(a,c){if(c&&angular.extend(a,c),!l&&!w){l=!0;var d;d=a.originalEvent?a.originalEvent.dataTransfer:a.dataTransfer,j.$emit("ta-drop-event",this,a,d),b(function(){l=!1},100)}};j.$parent["reApplyOnSelectorHandlers"+(q.id||"")]=function(){w||angular.forEach(m,function(a){p.find(a).off("click",E).on("click",E)})};var G=function(a){p[0].innerHTML=a};r.$render=function(){var a=r.$viewValue||"";f[0].activeElement!==p[0]?u?(q.placeholder?""===a?(x?p.removeClass("placeholder-text"):p.addClass("placeholder-text"),G(s)):(p.removeClass("placeholder-text"),G(a)):G(""===a?s:a),w?p.off("drop",F):(angular.forEach(m,function(a){p.find(a).on("click",E)}),p.on("drop",F))):"textarea"!==p[0].tagName.toLowerCase()&&"input"!==p[0].tagName.toLowerCase()?G(n(a)):p.val(a):u&&p.removeClass("placeholder-text")},q.taReadonly&&(w=j.$parent.$eval(q.taReadonly),w?(p.addClass("ta-readonly"),("textarea"===p[0].tagName.toLowerCase()||"input"===p[0].tagName.toLowerCase())&&p.attr("disabled","disabled"),void 0!==p.attr("contenteditable")&&p.attr("contenteditable")&&p.removeAttr("contenteditable")):(p.removeClass("ta-readonly"),"textarea"===p[0].tagName.toLowerCase()||"input"===p[0].tagName.toLowerCase()?p.removeAttr("disabled"):u&&p.attr("contenteditable","true")),j.$parent.$watch(q.taReadonly,function(a,b){b!==a&&(a?(p.addClass("ta-readonly"),("textarea"===p[0].tagName.toLowerCase()||"input"===p[0].tagName.toLowerCase())&&p.attr("disabled","disabled"),void 0!==p.attr("contenteditable")&&p.attr("contenteditable")&&p.removeAttr("contenteditable"),angular.forEach(m,function(a){p.find(a).on("click",E)}),p.off("drop",F)):(p.removeClass("ta-readonly"),"textarea"===p[0].tagName.toLowerCase()||"input"===p[0].tagName.toLowerCase()?p.removeAttr("disabled"):u&&p.attr("contenteditable","true"),angular.forEach(m,function(a){p.find(a).off("click",E)}),p.on("drop",F)),w=a)})),u&&!w&&(angular.forEach(m,function(a){p.find(a).on("click",E)}),p.on("drop",F),p.on("blur",function(){/AppleWebKit\/([\d.]+)/.exec(navigator.userAgent)&&(d=!0)}))}}}]).factory("taApplyCustomRenderers",["taCustomRenderers",function(a){return function(c){var d=angular.element("
    ");return d[0].innerHTML=c,angular.forEach(a,function(a){var c=[];a.selector&&""!==a.selector?c=d.find(a.selector):a.customAttribute&&""!==a.customAttribute&&(c=b(d,a.customAttribute)),angular.forEach(c,function(b){b=angular.element(b),a.selector&&""!==a.selector&&a.customAttribute&&""!==a.customAttribute?void 0!==b.attr(a.customAttribute)&&a.renderLogic(b):a.renderLogic(b)})}),d[0].innerHTML}}]).directive("taMaxText",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){function e(a){var b=angular.element("
    ");b.html(a);var c=b.text().length;return f>=c?(d.$setValidity("taMaxText",!0),a):void d.$setValidity("taMaxText",!1)}var f=parseInt(a.$eval(c.taMaxText));if(isNaN(f))throw"Max text must be an integer";c.$observe("taMaxText",function(a){if(f=parseInt(a),isNaN(f))throw"Max text must be an integer";d.$dirty&&d.$setViewValue(d.$viewValue)}),d.$parsers.unshift(e)}}}).directive("taMinText",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){function e(a){var b=angular.element("
    ");b.html(a);var c=b.text().length;return!c||c>=f?(d.$setValidity("taMinText",!0),a):void d.$setValidity("taMinText",!1)}var f=parseInt(a.$eval(c.taMinText));if(isNaN(f))throw"Min text must be an integer";c.$observe("taMinText",function(a){if(f=parseInt(a),isNaN(f))throw"Min text must be an integer";d.$dirty&&d.$setViewValue(d.$viewValue)}),d.$parsers.unshift(e)}}}).factory("taFixChrome",function(){var a=function(a){for(var b=angular.element("
    "+a+"
    "),c=angular.element(b).find("span"),d=0;d0&&"BR"===e.next()[0].tagName&&e.next().remove(),e.replaceWith(e[0].innerHTML)))}var f=b[0].innerHTML.replace(/style="[^"]*?(line-height: 1.428571429;|color: inherit; line-height: 1.1;)[^"]*"/gi,"");return f!==b[0].innerHTML&&(b[0].innerHTML=f),b[0].innerHTML};return a}).factory("taSanitize",["$sanitize",function(a){return function(c,d,e){var f=angular.element("
    "+c+"
    ");angular.forEach(b(f,"align"),function(a){a.css("text-align",a.attr("align")),a.removeAttr("align")});var g;c=f[0].innerHTML;try{g=a(c),e&&(g=c)}catch(h){g=d||""}return g}}]).directive("textAngularToolbar",["$compile","textAngularManager","taOptions","taTools","taToolExecuteAction","$window",function(a,b,c,d,e,f){return{scope:{name:"@"},restrict:"EA",link:function(g,h,i){if(!g.name||""===g.name)throw"textAngular Error: A toolbar requires a name";angular.extend(g,angular.copy(c)),i.taToolbar&&(g.toolbar=g.$parent.$eval(i.taToolbar)),i.taToolbarClass&&(g.classes.toolbar=i.taToolbarClass),i.taToolbarGroupClass&&(g.classes.toolbarGroup=i.taToolbarGroupClass),i.taToolbarButtonClass&&(g.classes.toolbarButton=i.taToolbarButtonClass),i.taToolbarActiveButtonClass&&(g.classes.toolbarButtonActive=i.taToolbarActiveButtonClass),i.taFocussedClass&&(g.classes.focussed=i.taFocussedClass),g.disabled=!0,g.focussed=!1,g._$element=h,h[0].innerHTML="",h.addClass("ta-toolbar "+g.classes.toolbar),g.$watch("focussed",function(){g.focussed?h.addClass(g.classes.focussed):h.removeClass(g.classes.focussed)});var j=function(b,c){var d;if(d=angular.element(b&&b.display?b.display:"\n \n
    \n'}),c("ng-admin/Crud/component/directive/field/DateField",["require","angular","text!../../../view/field/date.html"],function(a){function b(){return{restrict:"E",template:c,controller:["$scope",function(a){a.isOpen=!1,a.toggleDatePicker=function(b){b.preventDefault(),b.stopPropagation(),a.isOpen=!a.isOpen}}]}}var c=(a("angular"),a("text!../../../view/field/date.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/boolean.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/BooleanField",["require","angular","text!../../../view/field/boolean.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/boolean.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/choice.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/ChoiceField",["require","angular","text!../../../view/field/choice.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/choice.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/choices.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/ChoicesField",["require","angular","text!../../../view/field/choices.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/choices.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/reference.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/ReferenceField",["require","angular","text!../../../view/field/reference.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/reference.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/referenceMany.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/ReferenceManyField",["require","angular","text!../../../view/field/referenceMany.html"],function(a){function b(){}function c(){return{restrict:"E",template:d,controller:b,controllerAs:"referenceManyField"}}var d=(a("angular"),a("text!../../../view/field/referenceMany.html"));return b.prototype.contains=function(a,b){if(!a)return!1;for(var c=0,d=a.length;d>c;c++)if(a[c]==b)return!0;return!1},c.$inject=[],c}),c("text!ng-admin/Crud/view/field/wysiwyg.html",[],function(){return'
    \n'}),c("ng-admin/Crud/component/directive/field/WysiwygField",["require","angular","text!../../../view/field/wysiwyg.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/wysiwyg.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/callback.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/CallbackField",["require","angular","text!../../../view/field/callback.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/field/callback.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/string.html",[],function(){return'
    \n \n {{ entity.getField(column.field.name()).value }}\n \n\n {{ entity.getField(column.field.name()).value }}\n
    \n'}),c("ng-admin/Crud/component/directive/column/StringColumn",["require","angular","text!../../../view/column/string.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/string.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/password.html",[],function(){return'
    \n \n xxx\n \n\n xxx\n
    \n'}),c("ng-admin/Crud/component/directive/column/PasswordColumn",["require","angular","text!../../../view/column/password.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/password.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/email.html",[],function(){return'
    \n \n {{ entity.getField(column.field.name()).value }}\n \n\n {{ entity.getField(column.field.name()).value }}\n
    \n'}),c("ng-admin/Crud/component/directive/column/EmailColumn",["require","angular","text!../../../view/column/email.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/email.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/text.html",[],function(){return'
    \n \n {{ entity.getField(column.field.name()).value }}\n \n\n {{ entity.getField(column.field.name()).value }}\n
    \n'}),c("ng-admin/Crud/component/directive/column/TextColumn",["require","angular","text!../../../view/column/text.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/text.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/number.html",[],function(){return'
    \n \n {{ entity.getField(column.field.name()).value }}\n \n\n {{ entity.getField(column.field.name()).value }}\n
    \n'}),c("ng-admin/Crud/component/directive/column/NumberColumn",["require","angular","text!../../../view/column/number.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/number.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/date.html",[],function(){return'
    \n \n {{ entity.getField(column.field.name()).value | date:column.field.format() }}\n \n\n {{ entity.getField(column.field.name()).value | date:column.field.format() }}\n
    \n'}),c("ng-admin/Crud/component/directive/column/DateColumn",["require","angular","text!../../../view/column/date.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/date.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/boolean.html",[],function(){return'
    \n \n \n \n\n \n
    \n'}),c("ng-admin/Crud/component/directive/column/BooleanColumn",["require","angular","text!../../../view/column/boolean.html"],function(a){function b(){return{restrict:"E",template:c,controller:["$scope",function(a){a.isOk=!!a.entity.getField(a.column.field.name()).value}]}}var c=(a("angular"),a("text!../../../view/column/boolean.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/choice.html",[],function(){return'
    \n \n {{ entity.getField(column.field.name()).value }}\n \n\n {{ entity.getField(column.field.name()).value }}\n
    \n'}),c("ng-admin/Crud/component/directive/column/ChoiceColumn",["require","angular","text!../../../view/column/choice.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/choice.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/choices.html",[],function(){return'
    \n \n \n {{ ref }}\n \n \n\n \n \n {{ ref }}\n \n \n
    \n'}),c("ng-admin/Crud/component/directive/column/ChoicesColumn",["require","angular","text!../../../view/column/choices.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/choices.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/reference.html",[],function(){return'
    \n \n {{ entity.getField(column.field.name()).getListValue() }}\n \n\n {{ entity.getField(column.field.name()).getListValue() }}\n
    \n'}),c("ng-admin/Crud/component/directive/column/ReferenceColumn",["require","angular","text!../../../view/column/reference.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/reference.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/referenceMany.html",[],function(){return'
    \n \n \n {{ ref }}\n \n \n\n \n \n {{ ref }}\n \n \n
    \n'}),c("ng-admin/Crud/component/directive/column/ReferenceManyColumn",["require","angular","text!../../../view/column/referenceMany.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/referenceMany.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/wysiwyg.html",[],function(){return'
    \n \n {{ entity.getField(column.field.name()).value }}\n \n\n {{ entity.getField(column.field.name()).value }}\n
    \n'}),c("ng-admin/Crud/component/directive/column/WysiwygColumn",["require","angular","text!../../../view/column/wysiwyg.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/wysiwyg.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/callback.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/column/CallbackColumn",["require","angular","text!../../../view/column/callback.html"],function(a){function b(){return{restrict:"E",template:c}}var c=(a("angular"),a("text!../../../view/column/callback.html"));return b.$inject=[],b}),c("text!ng-admin/Crud/view/datagrid.html",[],function(){return'\n \n \n \n \n \n\n \n \n \n \n \n
    \n \n \n\n {{ column.label }}\n \n
    \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n
    \n\n\n'}),c("ng-admin/Crud/component/controller/directive/DatagridController",[],function(){function a(a,b){this.$scope=a,this.$location=b;var c=this.$location.search();this.sortField="sortField"in c?c.sortField:"",this.sortDir="sortDir"in c?c.sortDir:"",this.retrieveColumns()}return a.prototype.retrieveColumns=function(){if(!this.$scope.columns){var a=[];angular.forEach(this.$scope.entityConfig.getFields(),function(b){b.list()&&a.push({field:b,label:b.label()})}),this.$scope.columns=a}},a.prototype.isSorting=function(a){return this.sortField===a.getSortName()},a.prototype.itemClass=function(a){return a%2===0?"even":"odd"},a.prototype.sort=function(a){var b="ASC",c=a.getSortName();this.sortField===c&&(b="ASC"===this.sortDir?"DESC":"ASC"),this.$location.search("sortField",c),this.$location.search("sortDir",b)},a.$inject=["$scope","$location"],a}),c("ng-admin/Crud/component/directive/Datagrid",["require","angular","text!../../view/datagrid.html","ng-admin/Crud/component/controller/directive/DatagridController"],function(a){function b(){return{restrict:"E",template:c,controllerAs:"datagrid",controller:d}}var c=(a("angular"),a("text!../../view/datagrid.html")),d=a("ng-admin/Crud/component/controller/directive/DatagridController");return b.$inject=[],b}),c("text!ng-admin/Crud/view/datagrid-pagination.html",[],function(){return'
    \n
    \n \n {{ pagination.offsetBegin }} - {{ pagination.offsetEnd }} on {{ pagination.totalItems }}\n \n \n
    \n
    \n'}),c("ng-admin/Crud/component/controller/directive/DatagridPaginationController",[],function(){function a(a,b,c,d,e){this.$scope=a,this.$location=b,this.loadingPage=!1,this.$anchorScroll=c,this.CrudManager=d,this.progress=e}return a.prototype.computePagination=function(){var a=this.$scope.entityConfig.perPage(),b=this.$location.search().page||1,c=this.$scope.totalItems;this.infinitePagination=this.$scope.hasPagination&&this.$scope.entityConfig.infinitePagination(),this.currentPage=b,this.offsetBegin=(b-1)*a+1,this.offsetEnd=Math.min(b*a,c),this.totalItems=c,this.nbPages=Math.ceil(c/(a||1))||1},a.prototype.range=function(a,b){for(var c=[],d=a;b>=d;d++)c.push(d);return c},a.prototype.nextPage=function(){var a=this.$scope.entityConfig;if(!this.loadingPage&&this.infinitePagination&&this.currentPage!==this.nbPages){var b=this,c=this.$location.search(),d="sortField"in c?c.sortField:"",e="sortDir"in c?c.sortDir:"";this.loadingPage=!0,this.currentPage++,b.progress.start(),this.CrudManager.getAll(a.name(),this.currentPage,null,!0,null,d,e).then(function(a){b.progress.done(),b.$scope.entities=b.$scope.entities.concat(a.entities),b.loadingPage=!1})}},a.prototype.setPage=function(a){0>=a||a>this.nbPages||(this.$location.search("page",a),this.$anchorScroll(0))},a.$inject=["$scope","$location","$anchorScroll","CrudManager","progress"],a}),c("ng-admin/Crud/component/directive/DatagridPagination",["require","angular","text!../../view/datagrid-pagination.html","ng-admin/Crud/component/controller/directive/DatagridPaginationController"],function(a){function b(a,b){return{restrict:"E",template:d,controllerAs:"pagination",controller:e,link:function(d,e,f,g){var h=f.offset||100,i=b[0].body;d.hasPagination=e.parent()[0].hasAttribute("with-pagination")?d.$eval(e.parent()[0].getAttribute("with-pagination")):!0,d.hasPagination&&g.computePagination(),c.element(a).bind("scroll",function(){i.offsetHeight-a.innerHeight-a.scrollY\n
  • \n Filters:\n
  • \n
  • \n None\n
  • \n
  • \n {{ label }}\n
  • \n\n'}),c("ng-admin/Crud/component/controller/directive/QuickFilterController",["require"],function(){function a(a,b){this.$scope=a,this.$location=b;var c=this.$location.search();this.quickFilters=this.$scope.entityConfig.getQuickFilterNames(),this.currentQuickFilter="quickFilter"in c?c.quickFilter:null,this.displayFilterQuery=this.$scope.entityConfig.filterQuery()!==!1}return a.prototype.filter=function(a){this.$location.search("quickFilter",a)},a.$inject=["$scope","$location"],a}),c("ng-admin/Crud/component/directive/QuickFilter",["require","angular","text!../../view/quick-filter.html","ng-admin/Crud/component/controller/directive/QuickFilterController"],function(a){function b(){return{restrict:"E",template:c,controllerAs:"quickFilter",controller:d}}var c=(a("angular"),a("text!../../view/quick-filter.html")),d=a("ng-admin/Crud/component/controller/directive/QuickFilterController");return b.$inject=[],b}),c("text!ng-admin/Crud/view/edit-attribute.html",[],function(){return'
    \n \n\n
    \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n
    \n\n
    \n
    \n

    {{ field.value }}

    \n
    \n
    \n
    \n' -}),c("ng-admin/Crud/run/cacheTemplate",["require","text!../view/edit-attribute.html"],function(a){function b(a){a.put("ng-admin/Crud/view/edit-attribute.html",c)}var c=a("text!../view/edit-attribute.html");return b.$inject=["$templateCache"],b}),c("text!ng-admin/Crud/view/list.html",[],function(){return'\n\n\n'}),c("text!ng-admin/Crud/view/create.html",[],function(){return'\n\n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n
    \n'}),c("text!ng-admin/Crud/view/edit.html",[],function(){return'\n\n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n Delete\n
    \n
    \n
    \n
    \n'}),c("text!ng-admin/Crud/view/delete.html",[],function(){return'\n\n
    \n

    Are you sure ?

    \n \n \n
    \n'}),c("ng-admin/Crud/config/routing",["require","text!../view/list.html","text!../view/create.html","text!../view/edit.html","text!../view/delete.html"],function(a){var b=a("text!../view/list.html"),c=a("text!../view/create.html"),d=a("text!../view/edit.html"),e=a("text!../view/delete.html"),f=function(a){a.state("list",{parent:"main",url:"/list/:entity?q&page&sortField&sortDir&quickFilter",params:{entity:{},q:null,page:1,quickFilter:null,sortField:null,sortDir:null},controller:"ListController",controllerAs:"listController",template:b,resolve:{data:["$stateParams","CrudManager","NgAdminConfiguration",function(a,b,c){var d=c(),e=a.entity,f=d.getEntity(e),g=a.page,h=a.q,i=a.sortField,j=a.sortDir,k=a.quickFilter,l=null;return k&&(l=f.getQuickFilterParams(k)),b.getAll(e,g,null,!0,h,i,j,l)}]}}),a.state("create",{parent:"main",url:"/create/:entity",controller:"FormController",controllerAs:"formController",template:c,resolve:{entity:["$stateParams","CrudManager",function(a,b){return b.getEditionFields(a.entity,"editable")}],referencedValues:["$stateParams","CrudManager",function(a,b){return b.getReferencedValues(a.entity)}]}}),a.state("edit",{parent:"main",url:"/edit/:entity/:id?sortField&sortDir",controller:"FormController",controllerAs:"formController",template:d,params:{entity:{},id:null,sortField:null,sortDir:null},resolve:{entity:["$stateParams","CrudManager",function(a,b){return b.getOne(a.entity,a.id)}],referencedValues:["$stateParams","CrudManager",function(a,b){return b.getReferencedValues(a.entity)}],referencedListValues:["$stateParams","entity","CrudManager",function(a,b,c){var d=a.sortField,e=a.sortDir;return c.getReferencedListValues(a.entity,b,d,e)}]}}),a.state("delete",{parent:"main",url:"/delete/:entity/:id",controller:"DeleteController",controllerAs:"deleteController",template:e,resolve:{params:["$stateParams",function(a){return a}]}})};return f.$inject=["$stateProvider"],f}),c("CrudModule",["require","angular","angular-ui-router","angular-sanitize","angular-bootstrap-tpls","textangular","ng-admin/Crud/component/controller/ListController","ng-admin/Crud/component/controller/FormController","ng-admin/Crud/component/controller/DeleteController","ng-admin/Crud/component/service/CrudManager","humane","nprogress","ng-admin/Crud/component/directive/Compile","ng-admin/Crud/component/directive/field/StringField","ng-admin/Crud/component/directive/field/PasswordField","ng-admin/Crud/component/directive/field/EmailField","ng-admin/Crud/component/directive/field/TextField","ng-admin/Crud/component/directive/field/NumberField","ng-admin/Crud/component/directive/field/DateField","ng-admin/Crud/component/directive/field/BooleanField","ng-admin/Crud/component/directive/field/ChoiceField","ng-admin/Crud/component/directive/field/ChoicesField","ng-admin/Crud/component/directive/field/ReferenceField","ng-admin/Crud/component/directive/field/ReferenceManyField","ng-admin/Crud/component/directive/field/WysiwygField","ng-admin/Crud/component/directive/field/CallbackField","ng-admin/Crud/component/directive/column/StringColumn","ng-admin/Crud/component/directive/column/PasswordColumn","ng-admin/Crud/component/directive/column/EmailColumn","ng-admin/Crud/component/directive/column/TextColumn","ng-admin/Crud/component/directive/column/NumberColumn","ng-admin/Crud/component/directive/column/DateColumn","ng-admin/Crud/component/directive/column/BooleanColumn","ng-admin/Crud/component/directive/column/ChoiceColumn","ng-admin/Crud/component/directive/column/ChoicesColumn","ng-admin/Crud/component/directive/column/ReferenceColumn","ng-admin/Crud/component/directive/column/ReferenceManyColumn","ng-admin/Crud/component/directive/column/WysiwygColumn","ng-admin/Crud/component/directive/column/CallbackColumn","ng-admin/Crud/component/directive/Datagrid","ng-admin/Crud/component/directive/DatagridPagination","ng-admin/Crud/component/directive/QuickFilter","ng-admin/Crud/run/cacheTemplate","ng-admin/Crud/config/routing"],function(a){var b=a("angular");a("angular-ui-router"),a("angular-sanitize"),a("angular-bootstrap-tpls"),a("textangular");var c=b.module("crud",["ui.router","ui.bootstrap","ngSanitize","textAngular"]);return c.controller("ListController",a("ng-admin/Crud/component/controller/ListController")),c.controller("FormController",a("ng-admin/Crud/component/controller/FormController")),c.controller("DeleteController",a("ng-admin/Crud/component/controller/DeleteController")),c.service("CrudManager",a("ng-admin/Crud/component/service/CrudManager")),c.factory("notification",function(){return a("humane")}),c.factory("progress",function(){return a("nprogress")}),c.directive("compile",a("ng-admin/Crud/component/directive/Compile")),c.directive("stringField",a("ng-admin/Crud/component/directive/field/StringField")),c.directive("passwordField",a("ng-admin/Crud/component/directive/field/PasswordField")),c.directive("emailField",a("ng-admin/Crud/component/directive/field/EmailField")),c.directive("textField",a("ng-admin/Crud/component/directive/field/TextField")),c.directive("numberField",a("ng-admin/Crud/component/directive/field/NumberField")),c.directive("dateField",a("ng-admin/Crud/component/directive/field/DateField")),c.directive("booleanField",a("ng-admin/Crud/component/directive/field/BooleanField")),c.directive("choiceField",a("ng-admin/Crud/component/directive/field/ChoiceField")),c.directive("choicesField",a("ng-admin/Crud/component/directive/field/ChoicesField")),c.directive("referenceField",a("ng-admin/Crud/component/directive/field/ReferenceField")),c.directive("referenceManyField",a("ng-admin/Crud/component/directive/field/ReferenceManyField")),c.directive("wysiwygField",a("ng-admin/Crud/component/directive/field/WysiwygField")),c.directive("callbackField",a("ng-admin/Crud/component/directive/field/CallbackField")),c.directive("stringColumn",a("ng-admin/Crud/component/directive/column/StringColumn")),c.directive("passwordColumn",a("ng-admin/Crud/component/directive/column/PasswordColumn")),c.directive("emailColumn",a("ng-admin/Crud/component/directive/column/EmailColumn")),c.directive("textColumn",a("ng-admin/Crud/component/directive/column/TextColumn")),c.directive("numberColumn",a("ng-admin/Crud/component/directive/column/NumberColumn")),c.directive("dateColumn",a("ng-admin/Crud/component/directive/column/DateColumn")),c.directive("booleanColumn",a("ng-admin/Crud/component/directive/column/BooleanColumn")),c.directive("choiceColumn",a("ng-admin/Crud/component/directive/column/ChoiceColumn")),c.directive("choicesColumn",a("ng-admin/Crud/component/directive/column/ChoicesColumn")),c.directive("referenceColumn",a("ng-admin/Crud/component/directive/column/ReferenceColumn")),c.directive("referenceManyColumn",a("ng-admin/Crud/component/directive/column/ReferenceManyColumn")),c.directive("wysiwygColumn",a("ng-admin/Crud/component/directive/column/WysiwygColumn")),c.directive("callbackColumn",a("ng-admin/Crud/component/directive/column/CallbackColumn")),c.directive("datagrid",a("ng-admin/Crud/component/directive/Datagrid")),c.directive("datagridPagination",a("ng-admin/Crud/component/directive/DatagridPagination")),c.directive("quickFilter",a("ng-admin/Crud/component/directive/QuickFilter")),c.run(a("ng-admin/Crud/run/cacheTemplate")),c.config(a("ng-admin/Crud/config/routing")),c.config(["$provide",function(a){a.decorator("dateParser",["$delegate",function(a){var c=a.parse;return a.parse=function(a,d){return b.isString(a)&&d?c.apply(this,arguments):a},a}])}]),c}),b.config({paths:{angular:"bower_components/angular/angular","angular-resource":"bower_components/angular-resource/angular-resource","angular-sanitize":"bower_components/angular-sanitize/angular-sanitize","angular-route":"bower_components/angular-route/angular-route","angular-ui-router":"bower_components/angular-ui-router/release/angular-ui-router",lodash:"bower_components/lodash/dist/lodash.min",text:"bower_components/requirejs-text/text","angular-bootstrap":"bower_components/angular-bootstrap/ui-bootstrap.min","angular-bootstrap-tpls":"bower_components/angular-bootstrap/ui-bootstrap-tpls.min",restangular:"bower_components/restangular/dist/restangular",humane:"bower_components/humane/humane",nprogress:"bower_components/nprogress/nprogress",textangular:"bower_components/textAngular/dist/textAngular.min",MainModule:"ng-admin/Main/MainModule",CrudModule:"ng-admin/Crud/CrudModule"},shim:{angular:{exports:"angular"},restangular:{deps:["angular","lodash"]},"angular-ui-router":{deps:["angular"]},"angular-bootstrap":{deps:["angular"]},"angular-bootstrap-tpls":{deps:["angular","angular-bootstrap"]},jquery:{exports:"$"},"angular-resource":{deps:["angular"]},"angular-sanitize":{deps:["angular"]},"angular-route":{deps:["angular"]},nprogress:{exports:"NProgress"}}}),c("ng-admin",["require","angular","MainModule","CrudModule"],function(a){var b=a("angular");a("MainModule"),a("CrudModule"),b.module("ng-admin",["main","crud"])}),b("ng-admin")}); +!function(a,b){"function"==typeof define&&define.amd?define(b):"object"==typeof exports?module.exports=b():a.ngAdmin=b()}(this,function(){var a,b,c;return function(d){function e(a,b){return u.call(a,b)}function f(a,b){var c,d,e,f,g,h,i,j,k,l,m,n=b&&b.split("/"),o=s.map,p=o&&o["*"]||{};if(a&&"."===a.charAt(0))if(b){for(n=n.slice(0,n.length-1),a=a.split("/"),g=a.length-1,s.nodeIdCompat&&w.test(a[g])&&(a[g]=a[g].replace(w,"")),a=n.concat(a),k=0;k0&&(a.splice(k-1,2),k-=2)}a=a.join("/")}else 0===a.indexOf("./")&&(a=a.substring(2));if((n||p)&&o){for(c=a.split("/"),k=c.length;k>0;k-=1){if(d=c.slice(0,k).join("/"),n)for(l=n.length;l>0;l-=1)if(e=o[n.slice(0,l).join("/")],e&&(e=e[d])){f=e,h=k;break}if(f)break;!i&&p&&p[d]&&(i=p[d],j=k)}!f&&i&&(f=i,h=j),f&&(c.splice(0,h,f),a=c.join("/"))}return a}function g(a,b){return function(){var c=v.call(arguments,0);return"string"!=typeof c[0]&&1===c.length&&c.push(null),n.apply(d,c.concat([a,b]))}}function h(a){return function(b){return f(b,a)}}function i(a){return function(b){q[a]=b}}function j(a){if(e(r,a)){var b=r[a];delete r[a],t[a]=!0,m.apply(d,b)}if(!e(q,a)&&!e(t,a))throw new Error("No "+a);return q[a]}function k(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function l(a){return function(){return s&&s.config&&s.config[a]||{}}}var m,n,o,p,q={},r={},s={},t={},u=Object.prototype.hasOwnProperty,v=[].slice,w=/\.js$/;o=function(a,b){var c,d=k(a),e=d[0];return a=d[1],e&&(e=f(e,b),c=j(e)),e?a=c&&c.normalize?c.normalize(a,h(b)):f(a,b):(a=f(a,b),d=k(a),e=d[0],a=d[1],e&&(c=j(e))),{f:e?e+"!"+a:a,n:a,pr:e,p:c}},p={require:function(a){return g(a)},exports:function(a){var b=q[a];return"undefined"!=typeof b?b:q[a]={}},module:function(a){return{id:a,uri:"",exports:q[a],config:l(a)}}},m=function(a,b,c,f){var h,k,l,m,n,s,u=[],v=typeof c;if(f=f||a,"undefined"===v||"function"===v){for(b=!b.length&&c.length?["require","exports","module"]:b,n=0;n>>0,d=Number(arguments[2])||0;for(d=0>d?Math.ceil(d):Math.floor(d),0>d&&(d+=c);c>d;d++)if(d in a&&a[d]===b)return d;return-1}function i(a,b,c,d){var e,i=f(c,d),j={},k=[];for(var l in i)if(i[l].params&&(e=g(i[l].params),e.length))for(var m in e)h(k,e[m])>=0||(k.push(e[m]),j[e[m]]=a[e[m]]);return J({},j,b)}function j(a,b,c){if(!c){c=[];for(var d in a)c.push(d)}for(var e=0;e "));if(q[b]=f,F(a))o.push(b,[function(){return d.get(a)}],i);else{var c=d.annotate(a);I(c,function(a){a!==b&&h.hasOwnProperty(a)&&l(h[a],a)}),o.push(b,a,c)}p.pop(),q[b]=g}}function m(a){return G(a)&&a.then&&a.$$promises}if(!G(h))throw new Error("'invocables' must be an object");var n=Object.keys(h||{}),o=[],p=[],q={};return I(h,l),h=p=q=null,function(f,g,h){function i(){--v||(w||e(u,g.$$values),s.$$values=u,s.$$promises=s.$$promises||!0,delete s.$$inheritedValues,r.resolve(u))}function l(a){s.$$failure=a,r.reject(a)}function p(a){var c={},d=b.isArray(arguments[1])?arguments[1]:arguments.slice(1);for(var e in a)-1==d.indexOf(e)&&(c[e]=a[e]);return c}function q(b,c,e){function g(a){k.reject(a),l(a)}function j(){if(!D(s.$$failure))try{k.resolve(d.invoke(c,h,u)),k.promise.then(function(a){u[b]=a,i()},g)}catch(a){g(a)}}var k=a.defer(),m=0;I(e,function(a){t.hasOwnProperty(a)&&!f.hasOwnProperty(a)&&(m++,t[a].then(function(b){u[a]=b,--m||j()},g))}),m||j(),t[b]=k.promise}if(m(f)&&h===c&&(h=g,g=f,f=null),f){if(!G(f))throw new Error("'locals' must be an object")}else f=j;if(g){if(!m(g))throw new Error("'parent' must be a promise returned by $resolve.resolve()")}else g=k;var r=a.defer(),s=r.promise,t=s.$$promises={},u=J({},f),v=1+o.length/3,w=!1;if(D(g.$$failure))return l(g.$$failure),s;g.$$inheritedValues&&e(u,p(g.$$inheritedValues,n)),J(t,g.$$promises),g.$$values?(w=e(u,p(g.$$values,n)),s.$$inheritedValues=p(g.$$values,n),i()):(g.$$inheritedValues&&(s.$$inheritedValues=p(g.$$inheritedValues,n)),g.then(i,l));for(var x=0,y=o.length;y>x;x+=3)f.hasOwnProperty(o[x])?i():q(o[x],o[x+1],o[x+2]);return s}},this.resolve=function(a,b,c,d){return this.study(a)(b,c,d)}}function m(a,b,c){this.fromConfig=function(a,b,c){return D(a.template)?this.fromString(a.template,b):D(a.templateUrl)?this.fromUrl(a.templateUrl,b):D(a.templateProvider)?this.fromProvider(a.templateProvider,b,c):null},this.fromString=function(a,b){return E(a)?a(b):a},this.fromUrl=function(c,d){return E(c)&&(c=c(d)),null==c?null:a.get(c,{cache:b,headers:{Accept:"text/html"}}).then(function(a){return a.data})},this.fromProvider=function(a,b,d){return c.invoke(a,null,d||{params:b})}}function n(a,d){function e(a){return D(a)?this.type.decode(a):p.$$getDefaultValue(this)}function f(b,c,d){if(!/^\w+(-+\w+)*$/.test(b))throw new Error("Invalid parameter name '"+b+"' in pattern '"+a+"'");if(n[b])throw new Error("Duplicate parameter name '"+b+"' in pattern '"+a+"'");n[b]=J({type:c||new o,$value:e},d)}function g(a,b,c){var d=a.replace(/[\\\[\]\^$*+?.()|{}]/g,"\\$&");if(!b)return d;var e=c?"?":"";return d+e+"("+b+")"+e}function h(a){if(!d.params||!d.params[a])return{};var b=d.params[a];return G(b)?b:{value:b}}d=b.isObject(d)?d:{};var i,j=/([:*])(\w+)|\{(\w+)(?:\:((?:[^{}\\]+|\\.|\{(?:[^{}\\]+|\\.)*\})+))?\}/g,k="^",l=0,m=this.segments=[],n=this.params={};this.source=a;for(var q,r,s,t,u;(i=j.exec(a))&&(q=i[2]||i[3],r=i[4]||("*"==i[1]?".*":"[^/]*"),s=a.substring(l,i.index),t=this.$types[r]||new o({pattern:new RegExp(r)}),u=h(q),!(s.indexOf("?")>=0));)k+=g(s,t.$subPattern(),D(u.value)),f(q,t,u),m.push(s),l=j.lastIndex;s=a.substring(l);var v=s.indexOf("?");if(v>=0){var w=this.sourceSearch=s.substring(v);s=s.substring(0,v),this.sourcePath=a.substring(0,l+v),I(w.substring(1).split(/[&?]/),function(a){f(a,null,h(a))})}else this.sourcePath=a,this.sourceSearch="";k+=g(s)+(d.strict===!1?"/?":"")+"$",m.push(s),this.regexp=new RegExp(k,d.caseInsensitive?"i":c),this.prefix=m[0]}function o(a){J(this,a)}function p(){function a(){return{strict:f,caseInsensitive:e}}function b(a){return E(a)||H(a)&&E(a[a.length-1])}function c(){I(h,function(a){if(n.prototype.$types[a.name])throw new Error("A type named '"+a.name+"' has already been defined.");var c=new o(b(a.def)?d.invoke(a.def):a.def);n.prototype.$types[a.name]=c})}L=this;var d,e=!1,f=!0,g=!0,h=[],i={"int":{decode:function(a){return parseInt(a,10)},is:function(a){return D(a)?this.decode(a.toString())===a:!1},pattern:/\d+/},bool:{encode:function(a){return a?1:0},decode:function(a){return 0===parseInt(a,10)?!1:!0},is:function(a){return a===!0||a===!1},pattern:/0|1/},string:{pattern:/[^\/]*/},date:{equals:function(a,b){return a.toISOString()===b.toISOString()},decode:function(a){return new Date(a)},encode:function(a){return[a.getFullYear(),("0"+(a.getMonth()+1)).slice(-2),("0"+a.getDate()).slice(-2)].join("-")},pattern:/[0-9]{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[1-2][0-9]|3[0-1])/}};p.$$getDefaultValue=function(a){if(!b(a.value))return a.value;if(!d)throw new Error("Injectable functions cannot be called at configuration time");return d.invoke(a.value)},this.caseInsensitive=function(a){e=a},this.strictMode=function(a){f=a},this.compile=function(b,c){return new n(b,J(a(),c))},this.isMatcher=function(a){if(!G(a))return!1;var b=!0;return I(n.prototype,function(c,d){E(c)&&(b=b&&D(a[d])&&E(a[d]))}),b},this.type=function(a,b){return D(b)?(h.push({name:a,def:b}),g||c(),this):n.prototype.$types[a]},this.$get=["$injector",function(a){return d=a,g=!1,n.prototype.$types={},c(),I(i,function(a,b){n.prototype.$types[b]||(n.prototype.$types[b]=new o(a))}),this}]}function q(a,d){function e(a){var b=/^\^((?:\\[^a-zA-Z0-9]|[^\\\[\]\^$*+?.()|{}]+)*)/.exec(a.source);return null!=b?b[1].replace(/\\(.)/g,"$1"):""}function f(a,b){return a.replace(/\$(\$|\d{1,2})/,function(a,c){return b["$"===c?0:Number(c)]})}function g(a,b,c){if(!c)return!1;var d=a.invoke(b,b,{$match:c});return D(d)?d:!0}function h(c,d,e,f){function g(a,b,c){return"/"===n?a:b?n.slice(0,-1)+a:c?n.slice(1)+a:a}function h(a){function b(a){var b=a(e,c);return b?(F(b)&&c.replace().url(b),!0):!1}if(!a||!a.defaultPrevented){var d,f=j.length;for(d=0;f>d;d++)if(b(j[d]))return;k&&b(k)}}function m(){return i=i||d.$on("$locationChangeSuccess",h)}var n=f.baseHref(),o=c.url();return l||m(),{sync:function(){h()},listen:function(){return m()},update:function(a){return a?void(o=c.url()):void(c.url()!==o&&(c.url(o),c.replace()))},push:function(a,b,d){c.url(a.format(b||{})),d&&d.replace&&c.replace()},href:function(d,e,f){if(!d.validates(e))return null;var h=a.html5Mode();b.isObject(h)&&(h=h.enabled);var i=d.format(e);if(f=f||{},h||null===i||(i="#"+a.hashPrefix()+i),i=g(i,h,f.absolute),!f.absolute||!i)return i;var j=!h&&i?"/":"",k=c.port();return k=80===k||443===k?"":":"+k,[c.protocol(),"://",c.host(),k,j,i].join("")}}}var i,j=[],k=null,l=!1;this.rule=function(a){if(!E(a))throw new Error("'rule' must be a function");return j.push(a),this},this.otherwise=function(a){if(F(a)){var b=a;a=function(){return b}}else if(!E(a))throw new Error("'rule' must be a function");return k=a,this},this.when=function(a,b){var c,h=F(b);if(F(a)&&(a=d.compile(a)),!h&&!E(b)&&!H(b))throw new Error("invalid 'handler' in when()");var i={matcher:function(a,b){return h&&(c=d.compile(b),b=["$match",function(a){return c.format(a)}]),J(function(c,d){return g(c,b,a.exec(d.path(),d.search()))},{prefix:F(a.prefix)?a.prefix:""})},regex:function(a,b){if(a.global||a.sticky)throw new Error("when() RegExp must not be global or sticky");return h&&(c=b,b=["$match",function(a){return f(c,a)}]),J(function(c,d){return g(c,b,a.exec(d.path()))},{prefix:e(a)})}},j={matcher:d.isMatcher(a),regex:a instanceof RegExp};for(var k in j)if(j[k])return this.rule(i[k](a,b));throw new Error("invalid 'what' in when()")},this.deferIntercept=function(a){a===c&&(a=!0),l=a},this.$get=h,h.$inject=["$location","$rootScope","$injector","$browser"]}function r(a,e){function f(a){return 0===a.indexOf(".")||0===a.indexOf("^")}function h(a,b){if(!a)return c;var d=F(a),e=d?a:a.name,g=f(e);if(g){if(!b)throw new Error("No reference point given for path '"+e+"'");b=h(b);for(var i=e.split("."),j=0,k=i.length,l=b;k>j;j++)if(""!==i[j]||0!==j){if("^"!==i[j])break;if(!l.parent)throw new Error("Path '"+e+"' not valid for state '"+b.name+"'");l=l.parent}else l=b;i=i.slice(j).join("."),e=l.name+(l.name&&i?".":"")+i}var m=v[e];return!m||!d&&(d||m!==a&&m.self!==a)?c:m}function l(a,b){w[a]||(w[a]=[]),w[a].push(b)}function m(b){b=d(b,{self:b,resolve:b.resolve||{},toString:function(){return this.name}});var c=b.name;if(!F(c)||c.indexOf("@")>=0)throw new Error("State must have a valid name");if(v.hasOwnProperty(c))throw new Error("State '"+c+"'' is already defined");var e=-1!==c.indexOf(".")?c.substring(0,c.lastIndexOf(".")):F(b.parent)?b.parent:"";if(e&&!v[e])return l(e,b.self);for(var f in y)E(y[f])&&(b[f]=y[f](b,y.$delegates[f]));if(v[c]=b,!b[x]&&b.url&&a.when(b.url,["$match","$stateParams",function(a,c){u.$current.navigable==b&&j(a,c)||u.transitionTo(b,a,{location:!1})}]),w[c])for(var g=0;g-1}function o(a){var b=a.split("."),c=u.$current.name.split(".");if("**"===b[0]&&(c=c.slice(c.indexOf(b[1])),c.unshift("**")),"**"===b[b.length-1]&&(c.splice(c.indexOf(b[b.length-2])+1,Number.MAX_VALUE),c.push("**")),b.length!=c.length)return!1;for(var d=0,e=b.length;e>d;d++)"*"===b[d]&&(c[d]="*");return c.join("")===b.join("")}function p(a,b){return F(a)&&!D(b)?y[a]:E(b)&&F(a)?(y[a]&&!y.$delegates[a]&&(y.$delegates[a]=y[a]),y[a]=b,this):this}function q(a,b){return G(a)?b=a:b.name=a,m(b),this}function r(a,e,f,l,m,p,q){function r(b,c,d,f){var g=a.$broadcast("$stateNotFound",b,c,d);if(g.defaultPrevented)return q.update(),A;if(!g.retry)return null;if(f.$retry)return q.update(),B;var h=u.transition=e.when(g.retry);return h.then(function(){return h!==u.transition?y:(b.options.$retry=!0,u.transitionTo(b.to,b.toParams,b.options))},function(){return A}),q.update(),h}function w(a,c,d,h,i){var j=d?c:k(g(a.params),c),n={$stateParams:j};i.resolve=m.resolve(a.resolve,n,i.resolve,a);var o=[i.resolve.then(function(a){i.globals=a})];return h&&o.push(h),I(a.views,function(c,d){var e=c.resolve&&c.resolve!==a.resolve?c.resolve:{};e.$template=[function(){return f.load(d,{view:c,locals:n,params:j})||""}],o.push(m.resolve(e,n,i.resolve,a).then(function(f){if(E(c.controllerProvider)||H(c.controllerProvider)){var g=b.extend({},e,n);f.$$controller=l.invoke(c.controllerProvider,null,g)}else f.$$controller=c.controller;f.$$state=a,f.$$controllerAs=c.controllerAs,i[d]=f}))}),e.all(o).then(function(){return i})}var y=e.reject(new Error("transition superseded")),z=e.reject(new Error("transition prevented")),A=e.reject(new Error("transition aborted")),B=e.reject(new Error("transition failed"));return t.locals={resolve:null,globals:{$stateParams:{}}},u={params:{},current:t.self,$current:t,transition:null},u.reload=function(){return u.transitionTo(u.current,p,{reload:!0,inherit:!1,notify:!1})},u.go=function(a,b,c){return u.transitionTo(a,b,J({inherit:!0,relative:u.$current},c))},u.transitionTo=function(b,c,f){c=c||{},f=J({location:!0,inherit:!1,relative:null,notify:!0,reload:!1,$retry:!1},f||{});var m,n=u.$current,o=u.params,v=n.path,A=h(b,f.relative);if(!D(A)){var B={to:b,toParams:c,options:f},C=r(B,n.self,o,f);if(C)return C;if(b=B.to,c=B.toParams,f=B.options,A=h(b,f.relative),!D(A)){if(!f.relative)throw new Error("No such state '"+b+"'");throw new Error("Could not resolve '"+b+"' from state '"+f.relative+"'")}}if(A[x])throw new Error("Cannot transition to abstract state '"+b+"'");f.inherit&&(c=i(p,c||{},u.$current,A)),b=A;var E=b.path,F=0,G=E[F],H=t.locals,I=[];if(!f.reload)for(;G&&G===v[F]&&j(c,o,G.ownParams);)H=I[F]=G.locals,F++,G=E[F];if(s(b,n,H,f))return b.self.reloadOnSearch!==!1&&q.update(),u.transition=null,e.when(u.current);if(c=k(g(b.params),c||{}),f.notify&&a.$broadcast("$stateChangeStart",b.self,c,n.self,o).defaultPrevented)return q.update(),z;for(var L=e.when(H),M=F;M=F;d--)g=v[d],g.self.onExit&&l.invoke(g.self.onExit,g.self,g.locals.globals),g.locals=null;for(d=F;d=0?e:e+"@"+(f?f.state.name:"")}function x(a,b){var c,d=a.match(/^\s*({[^}]*})\s*$/);if(d&&(a=b+"("+d[1]+")"),c=a.replace(/\n/g," ").match(/^([^(]+?)\s*(\((.*)\))?$/),!c||4!==c.length)throw new Error("Invalid state ref '"+a+"'");return{state:c[1],paramExpr:c[3]||null}}function y(a){var b=a.parent().inheritedData("$uiView");return b&&b.state&&b.state.name?b.state:void 0}function z(a,c){var d=["location","inherit","reload"];return{restrict:"A",require:["?^uiSrefActive","?^uiSrefActiveEq"],link:function(e,f,g,h){var i=x(g.uiSref,a.current.name),j=null,k=y(f)||a.$current,l=null,m="A"===f.prop("tagName"),n="FORM"===f[0].nodeName,o=n?"action":"href",p=!0,q={relative:k,inherit:!0},r=e.$eval(g.uiSrefOpts)||{};b.forEach(d,function(a){a in r&&(q[a]=r[a])});var s=function(c){if(c&&(j=b.copy(c)),p){l=a.href(i.state,j,q);var d=h[1]||h[0];return d&&d.$$setStateInfo(i.state,j),null===l?(p=!1,!1):void g.$set(o,l)}};i.paramExpr&&(e.$watch(i.paramExpr,function(a){a!==j&&s(a)},!0),j=b.copy(e.$eval(i.paramExpr))),s(),n||f.bind("click",function(b){var d=b.which||b.button;if(!(d>1||b.ctrlKey||b.metaKey||b.shiftKey||f.attr("target"))){var e=c(function(){a.go(i.state,j,q)});b.preventDefault();var g=m&&!l?1:0;b.preventDefault=function(){g--<=0&&c.cancel(e)}}})}}}function A(a,b,c){return{restrict:"A",controller:["$scope","$element","$attrs",function(d,e,f){function g(){h()?e.addClass(m):e.removeClass(m)}function h(){return"undefined"!=typeof f.uiSrefActiveEq?a.$current.self===k&&i():k&&a.includes(k.name)&&i()}function i(){return!l||j(l,b)}var k,l,m;m=c(f.uiSrefActiveEq||f.uiSrefActive||"",!1)(d),this.$$setStateInfo=function(b,c){k=a.get(b,y(e)),l=c,g()},d.$on("$stateChangeSuccess",g)}]}}function B(a){return function(b){return a.is(b)}}function C(a){return function(b){return a.includes(b)}}var D=b.isDefined,E=b.isFunction,F=b.isString,G=b.isObject,H=b.isArray,I=b.forEach,J=b.extend,K=b.copy;b.module("ui.router.util",["ng"]),b.module("ui.router.router",["ui.router.util"]),b.module("ui.router.state",["ui.router.router","ui.router.util"]),b.module("ui.router",["ui.router.state"]),b.module("ui.router.compat",["ui.router"]),l.$inject=["$q","$injector"],b.module("ui.router.util").service("$resolve",l),m.$inject=["$http","$templateCache","$injector"],b.module("ui.router.util").service("$templateFactory",m),n.prototype.concat=function(a,b){return new L.compile(this.sourcePath+a+this.sourceSearch,b)},n.prototype.toString=function(){return this.source},n.prototype.exec=function(a,b){var c=this.regexp.exec(a);if(!c)return null;b=b||{};var d,e,f,g=this.parameters(),h=g.length,i=this.segments.length-1,j={};if(i!==c.length-1)throw new Error("Unbalanced capture group in route '"+this.source+"'");for(d=0;i>d;d++)f=g[d],e=this.params[f],j[f]=e.$value(c[d+1]);for(;h>d;d++)f=g[d],e=this.params[f],j[f]=e.$value(b[f]);return j},n.prototype.parameters=function(a){return D(a)?this.params[a]||null:g(this.params)},n.prototype.validates=function(a){var b,c,d=!0,e=this;return I(a,function(a,f){e.params[f]&&(c=e.params[f],b=!a&&D(c.value),d=d&&(b||c.type.is(a)))}),d},n.prototype.format=function(a){var b=this.segments,c=this.parameters();if(!a)return b.join("").replace("//","/");var d,e,f,g,h,i,j=b.length-1,k=c.length,l=b[0];if(!this.validates(a))return null;for(d=0;j>d;d++)g=c[d],f=a[g],h=this.params[g],(D(f)||"/"!==b[d]||"/"!==b[d+1])&&(null!=f&&(l+=encodeURIComponent(h.type.encode(f))),l+=b[d+1]);for(;k>d;d++)g=c[d],f=a[g],null!=f&&(i=H(f),i&&(f=f.map(encodeURIComponent).join("&"+g+"=")),l+=(e?"&":"?")+g+"="+(i?f:encodeURIComponent(f)),e=!0);return l.replace("//","/")},n.prototype.$types={},o.prototype.is=function(){return!0},o.prototype.encode=function(a){return a},o.prototype.decode=function(a){return a},o.prototype.equals=function(a,b){return a==b},o.prototype.$subPattern=function(){var a=this.pattern.toString();return a.substr(1,a.length-2)},o.prototype.pattern=/.*/;var L;b.module("ui.router.util").provider("$urlMatcherFactory",p),q.$inject=["$locationProvider","$urlMatcherFactoryProvider"],b.module("ui.router.router").provider("$urlRouter",q),r.$inject=["$urlRouterProvider","$urlMatcherFactoryProvider"],b.module("ui.router.state").value("$stateParams",{}).provider("$state",r),s.$inject=[],b.module("ui.router.state").provider("$view",s),b.module("ui.router.state").provider("$uiViewScroll",t),u.$inject=["$state","$injector","$uiViewScroll","$interpolate"],v.$inject=["$compile","$controller","$state","$interpolate"],b.module("ui.router.state").directive("uiView",u),b.module("ui.router.state").directive("uiView",v),z.$inject=["$state","$timeout"],A.$inject=["$state","$stateParams","$interpolate"],b.module("ui.router.state").directive("uiSref",z).directive("uiSrefActive",A).directive("uiSrefActiveEq",A),B.$inject=["$state"],C.$inject=["$state"],b.module("ui.router.state").filter("isState",B).filter("includedByState",C)}(window,window.angular),c("angular-ui-router",["angular"],function(){}),function(){function a(a,b,c){c=(c||0)-1;for(var d=a?a.length:0;++ch||"undefined"==typeof g)return 1;if(h>g||"undefined"==typeof h)return-1}}return a.n-b.n}function g(a){var b=-1,c=a.length,e=a[0],f=a[c/2|0],g=a[c-1];if(e&&"object"==typeof e&&f&&"object"==typeof f&&g&&"object"==typeof g)return!1;for(e=j(),e["false"]=e["null"]=e["true"]=e.undefined=!1,f=j(),f.k=a,f.l=e,f.push=d;++bc?0:c);++d3&&"function"==typeof g[i-2])var j=bb(g[--i-1],g[i--],2);else i>2&&"function"==typeof g[i-1]&&(j=g[--i]);for(;++h=t&&f===a,j=[];if(i){var k=g(d);k?(f=b,d=k):i=!1}for(;++ef(d,k)&&j.push(k);return i&&l(d),j}function eb(a,b,c,d){d=(d||0)-1;for(var e=a?a.length:0,f=[];++d=t&&h===a,o=e||n?i():m;for(n&&(o=g(o),h=b);++fh(o,q))&&((e||n)&&o.push(q),m.push(p))}return n?(k(o.k),l(o)):e&&k(o),m}function jb(a){return function(b,c,e){var f={};c=X.createCallback(c,e,3),e=-1;var g=b?b.length:0;if("number"==typeof g)for(;++ec?Cc(0,g+c):c)||0,Jc(a)?h=-1f&&(f=h)}}else b=null==b&&xb(a)?e:X.createCallback(b,c,3),Db(a,function(a,c,e){c=b(a,c,e),c>d&&(d=c,f=a)});return f}function Hb(a,b,c,e){if(!a)return c;var f=3>arguments.length;b=X.createCallback(b,e,4);var g=-1,h=a.length;if("number"==typeof h)for(f&&(c=a[++g]);++garguments.length;return b=X.createCallback(b,d,4),Eb(a,function(a,d,f){c=e?(e=!1,a):b(c,a,d,f)}),c}function Jb(a){var b=-1,c=a?a.length:0,d=Zb("number"==typeof c?c:0);return Db(a,function(a){var c=hb(0,++b);d[b]=d[c],d[c]=a}),d}function Kb(a,b,c){var e;b=X.createCallback(b,c,3),c=-1;var f=a?a.length:0;if("number"==typeof f)for(;++cd?Cc(0,e+d):d||0}else if(d)return d=Ob(b,c),b[d]===c?d:-1;return a(b,c,d)}function Nb(a,b,c){if("number"!=typeof b&&null!=b){var d=0,e=-1,f=a?a.length:0;for(b=X.createCallback(b,c,3);++ee;)d=e+f>>>1,c(a[d])c?0:c);++b0?k=tc(e,c):(g&&nc(g),c=l,g=k=l=o,c&&(m=Uc(),h=a.apply(j,f),k||g||(f=j=null)))}var f,g,h,i,j,k,l,m=0,n=!1,p=!0;if(!ub(a))throw new gc;if(b=Cc(0,b)||0,!0===c)var q=!0,p=!1;else vb(c)&&(q=c.leading,n="maxWait"in c&&(Cc(b,c.maxWait)||0),p="trailing"in c?c.trailing:p);return function(){if(f=arguments,i=Uc(),j=this,l=p&&(k||!q),!1===n)var c=q&&!k;else{g||q||(m=i);var o=n-(i-m),r=0>=o;r?(g&&(g=nc(g)),m=i,h=a.apply(j,f)):g||(g=tc(d,o))}return r&&k?k=nc(k):k||b===n||(k=tc(e,b)),c&&(r=!0,h=a.apply(j,f)),!r||k||g||(f=j=null),h}}function Ub(a){return a}function Vb(a,b,c){var d=!0,e=b&&sb(b);b&&(c||e.length)||(null==c&&(c=b),f=Y,b=a,a=X,e=sb(b)),!1===c?d=!1:vb(c)&&"chain"in c&&(d=c.chain);var f=a,g=ub(f);Db(e,function(c){var e=a[c]=b[c];g&&(f.prototype[c]=function(){var b=this.__chain__,c=this.__wrapped__,g=[c];if(sc.apply(g,arguments),g=e.apply(a,g),d||b){if(c===g&&vb(g))return this;g=new f(g),g.__chain__=b}return g})})}function Wb(){}function Xb(a){return function(b){return b[a]}}function Yb(){return this.__wrapped__}c=c?_.defaults(W.Object(),c,_.pick(W,H)):W;var Zb=c.Array,$b=c.Boolean,_b=c.Date,ac=c.Function,bc=c.Math,cc=c.Number,dc=c.Object,ec=c.RegExp,fc=c.String,gc=c.TypeError,hc=[],ic=dc.prototype,jc=c._,kc=ic.toString,lc=ec("^"+fc(kc).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString| for [^\]]+/g,".*?")+"$"),mc=bc.ceil,nc=c.clearTimeout,oc=bc.floor,pc=ac.prototype.toString,qc=nb(qc=dc.getPrototypeOf)&&qc,rc=ic.hasOwnProperty,sc=hc.push,tc=c.setTimeout,uc=hc.splice,vc=hc.unshift,wc=function(){try{var a={},b=nb(b=dc.defineProperty)&&b,c=b(a,a,a)&&b}catch(d){}return c}(),xc=nb(xc=dc.create)&&xc,yc=nb(yc=Zb.isArray)&&yc,zc=c.isFinite,Ac=c.isNaN,Bc=nb(Bc=dc.keys)&&Bc,Cc=bc.max,Dc=bc.min,Ec=c.parseInt,Fc=bc.random,Gc={};Gc[J]=Zb,Gc[K]=$b,Gc[L]=_b,Gc[M]=ac,Gc[O]=dc,Gc[N]=cc,Gc[P]=ec,Gc[Q]=fc,Y.prototype=X.prototype;var Hc=X.support={};Hc.funcDecomp=!nb(c.a)&&F.test(n),Hc.funcNames="string"==typeof ac.name,X.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:C,variable:"",imports:{_:X}},xc||(ab=function(){function a(){}return function(b){if(vb(b)){a.prototype=b;var d=new a;a.prototype=null}return d||c.Object()}}());var Ic=wc?function(a,b){T.value=b,wc(a,"__bindData__",T)}:Wb,Jc=yc||function(a){return a&&"object"==typeof a&&"number"==typeof a.length&&kc.call(a)==J||!1},Kc=Bc?function(a){return vb(a)?Bc(a):[]}:V,Lc={"&":"&","<":"<",">":">",'"':""","'":"'"},Mc=tb(Lc),Nc=ec("("+Kc(Mc).join("|")+")","g"),Oc=ec("["+Kc(Lc).join("")+"]","g"),Pc=qc?function(a){if(!a||kc.call(a)!=O)return!1;var b=a.valueOf,c=nb(b)&&(c=qc(b))&&qc(c);return c?a==c||qc(a)==c:ob(a)}:ob,Qc=jb(function(a,b,c){rc.call(a,c)?a[c]++:a[c]=1}),Rc=jb(function(a,b,c){(rc.call(a,c)?a[c]:a[c]=[]).push(b)}),Sc=jb(function(a,b,c){a[c]=b}),Tc=Fb,Uc=nb(Uc=_b.now)&&Uc||function(){return(new _b).getTime()},Vc=8==Ec(v+"08")?Ec:function(a,b){return Ec(xb(a)?a.replace(D,""):a,b||0)};return X.after=function(a,b){if(!ub(b))throw new gc;return function(){return 1>--a?b.apply(this,arguments):void 0}},X.assign=u,X.at=function(a){for(var b=arguments,c=-1,d=eb(b,!0,!1,1),b=b[2]&&b[2][b[1]]===a?1:d.length,e=Zb(b);++c=t&&g(d?c[d]:m)))}var j=c[0],o=-1,p=j?j.length:0,q=[];a:for(;++o(r?b(r,n):h(m,n))){for(d=e,(r||m).push(n);--d;)if(r=f[d],0>(r?b(r,n):h(c[d],n)))continue a;q.push(n)}}for(;e--;)(r=f[e])&&l(r);return k(f),k(m),q},X.invert=tb,X.invoke=function(a,b){var c=m(arguments,2),d=-1,e="function"==typeof b,f=a?a.length:0,g=Zb("number"==typeof f?f:0);return Db(a,function(a){g[++d]=(e?b:a[b]).apply(a,c)}),g},X.keys=Kc,X.map=Fb,X.mapValues=function(a,b,c){var e={};return b=X.createCallback(b,c,3),d(a,function(a,c,d){e[c]=b(a,c,d)}),e},X.max=Gb,X.memoize=function(a,b){function c(){var d=c.cache,e=b?b.apply(this,arguments):s+arguments[0];return rc.call(d,e)?d[e]:d[e]=a.apply(this,arguments)}if(!ub(a))throw new gc;return c.cache={},c},X.merge=function(a){var b=arguments,c=2;if(!vb(a))return a;if("number"!=typeof b[2]&&(c=b.length),c>3&&"function"==typeof b[c-2])var d=bb(b[--c-1],b[c--],2);else c>2&&"function"==typeof b[c-1]&&(d=b[--c]);for(var b=m(arguments,1,c),e=-1,f=i(),g=i();++eh&&(f=h)}}else b=null==b&&xb(a)?e:X.createCallback(b,c,3),Db(a,function(a,c,e){c=b(a,c,e),d>c&&(d=c,f=a)});return f},X.omit=function(a,b,c){var d={};if("function"!=typeof b){var e=[];p(a,function(a,b){e.push(b)});for(var e=db(e,eb(arguments,!0,!1,1)),f=-1,g=e.length;++fc?Cc(0,d+c):Dc(c,d-1))+1);d--;)if(a[d]===b)return d;return-1},X.mixin=Vb,X.noConflict=function(){return c._=jc,this},X.noop=Wb,X.now=Uc,X.parseInt=Vc,X.random=function(a,b,c){var d=null==a,e=null==b;return null==c&&("boolean"==typeof a&&e?(c=a,a=1):e||"boolean"!=typeof b||(c=b,e=!0)),d&&e&&(b=1),a=+a||0,e?(b=a,a=0):b=+b||0,c||a%1||b%1?(c=Fc(),Dc(a+c*(b-a+parseFloat("1e-"+((c+"").length-1))),b)):hb(a,b)},X.reduce=Hb,X.reduceRight=Ib,X.result=function(a,b){if(a){var c=a[b];return ub(c)?a[b]():c}},X.runInContext=n,X.size=function(a){var b=a?a.length:0;return"number"==typeof b?b:Kc(a).length},X.some=Kb,X.sortedIndex=Ob,X.template=function(a,b,c){var d=X.templateSettings;a=fc(a||""),c=q({},c,d);var e,f=q({},c.imports,d.imports),d=Kc(f),f=yb(f),g=0,i=c.interpolate||E,j="__p+='",i=ec((c.escape||E).source+"|"+i.source+"|"+(i===C?z:E).source+"|"+(c.evaluate||E).source+"|$","g");a.replace(i,function(b,c,d,f,i,k){return d||(d=f),j+=a.slice(g,k).replace(G,h),c&&(j+="'+__e("+c+")+'"),i&&(e=!0,j+="';"+i+";\n__p+='"),d&&(j+="'+((__t=("+d+"))==null?'':__t)+'"),g=k+b.length,b}),j+="';",i=c=c.variable,i||(c="obj",j="with("+c+"){"+j+"}"),j=(e?j.replace(w,""):j).replace(x,"$1").replace(y,"$1;"),j="function("+c+"){"+(i?"":c+"||("+c+"={});")+"var __t,__p='',__e=_.escape"+(e?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+j+"return __p}";try{var k=ac(d,"return "+j).apply(o,f)}catch(l){throw l.source=j,l}return b?k(b):(k.source=j,k)},X.unescape=function(a){return null==a?"":fc(a).replace(Nc,pb)},X.uniqueId=function(a){var b=++r;return fc(null==a?"":a)+b},X.all=Ab,X.any=Kb,X.detect=Cb,X.findWhere=Cb,X.foldl=Hb,X.foldr=Ib,X.include=zb,X.inject=Hb,Vb(function(){var a={};return d(X,function(b,c){X.prototype[c]||(a[c]=b)}),a}(),!1),X.first=Lb,X.last=function(a,b,c){var d=0,e=a?a.length:0;if("number"!=typeof b&&null!=b){var f=e;for(b=X.createCallback(b,c,3);f--&&b(a[f],f,a);)d++}else if(d=b,null==d||c)return a?a[e-1]:o;return m(a,Cc(0,e-d))},X.sample=function(a,b,c){return a&&"number"!=typeof a.length&&(a=yb(a)),null==b||c?a?a[hb(0,a.length-1)]:o:(a=Jb(a),a.length=Dc(Cc(0,b),a.length),a)},X.take=Lb,X.head=Lb,d(X,function(a,b){var c="sample"!==b;X.prototype[b]||(X.prototype[b]=function(b,d){var e=this.__chain__,f=a(this.__wrapped__,b,d);return e||null!=b&&(!d||c&&"function"==typeof b)?new Y(f,e):f})}),X.VERSION="2.4.1",X.prototype.chain=function(){return this.__chain__=!0,this},X.prototype.toString=function(){return fc(this.__wrapped__)},X.prototype.value=Yb,X.prototype.valueOf=Yb,Db(["join","pop","shift"],function(a){var b=hc[a];X.prototype[a]=function(){var a=this.__chain__,c=b.apply(this.__wrapped__,arguments);return a?new Y(c,a):c}}),Db(["push","reverse","sort","unshift"],function(a){var b=hc[a];X.prototype[a]=function(){return b.apply(this.__wrapped__,arguments),this}}),Db(["concat","slice","splice"],function(a){var b=hc[a];X.prototype[a]=function(){return new Y(b.apply(this.__wrapped__,arguments),this.__chain__)}}),X}var o,p=[],q=[],r=0,s=+new Date+"",t=75,u=40,v=" \f \n\r\u2028\u2029 ᠎              ",w=/\b__p\+='';/g,x=/\b(__p\+=)''\+/g,y=/(__e\(.*?\)|\b__t\))\+'';/g,z=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,A=/\w*$/,B=/^\s*function[ \n\r\t]+\w/,C=/<%=([\s\S]+?)%>/g,D=RegExp("^["+v+"]*0+(?=.$)"),E=/($^)/,F=/\bthis\b/,G=/['\n\r\t\u2028\u2029\\]/g,H="Array Boolean Date Function Math Number Object RegExp String _ attachEvent clearTimeout isFinite isNaN parseInt setTimeout".split(" "),I="[object Arguments]",J="[object Array]",K="[object Boolean]",L="[object Date]",M="[object Function]",N="[object Number]",O="[object Object]",P="[object RegExp]",Q="[object String]",R={};R[M]=!1,R[I]=R[J]=R[K]=R[L]=R[N]=R[O]=R[P]=R[Q]=!0;var S={leading:!1,maxWait:0,trailing:!1},T={configurable:!1,enumerable:!1,value:null,writable:!1},U={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},V={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},W=U[typeof window]&&window||this,X=U[typeof exports]&&exports&&!exports.nodeType&&exports,Y=U[typeof module]&&module&&!module.nodeType&&module,Z=Y&&Y.exports===X&&X,$=U[typeof global]&&global;!$||$.global!==$&&$.window!==$||(W=$);var _=n();"function"==typeof c&&"object"==typeof c.amd&&c.amd?(W._=_,c("lodash",[],function(){return _})):X&&Y?Z?(Y.exports=_)._=_:X._=_:W._=_}.call(this),function(){var a=angular.module("restangular",[]);a.provider("Restangular",function(){var a={};a.init=function(a,b){function c(a,b,c,d){var e={};return _.each(_.keys(d),function(f){var g=d[f];g.params=_.extend({},g.params,a.defaultRequestParams[g.method.toLowerCase()]),_.isEmpty(g.params)&&delete g.params,e[f]=a.isSafe(g.method)?function(){return b(_.extend(g,{url:c}))}:function(a){return b(_.extend(g,{url:c,data:a}))}}),e}a.configuration=b;var d=["get","head","options","trace","getlist"];b.isSafe=function(a){return _.contains(d,a.toLowerCase())};var e=/^https?:\/\//i;b.isAbsoluteUrl=function(a){return _.isUndefined(b.absoluteUrl)||_.isNull(b.absoluteUrl)?a&&e.test(a):b.absoluteUrl},b.absoluteUrl=_.isUndefined(b.absoluteUrl)?!0:b.absoluteUrl,a.setSelfLinkAbsoluteUrl=function(a){b.absoluteUrl=a},b.baseUrl=_.isUndefined(b.baseUrl)?"":b.baseUrl,a.setBaseUrl=function(a){return b.baseUrl=/\/$/.test(a)?a.substring(0,a.length-1):a,this},b.extraFields=b.extraFields||[],a.setExtraFields=function(a){return b.extraFields=a,this},b.defaultHttpFields=b.defaultHttpFields||{},a.setDefaultHttpFields=function(a){return b.defaultHttpFields=a,this},b.withHttpValues=function(a,c){return _.defaults(c,a,b.defaultHttpFields)},b.encodeIds=_.isUndefined(b.encodeIds)?!0:b.encodeIds,a.setEncodeIds=function(a){b.encodeIds=a},b.defaultRequestParams=b.defaultRequestParams||{get:{},post:{},put:{},remove:{},common:{}},a.setDefaultRequestParams=function(a,c){var d=[],e=c||a;return _.isUndefined(c)?d.push("common"):_.isArray(a)?d=a:d.push(a),_.each(d,function(a){b.defaultRequestParams[a]=e}),this},a.requestParams=b.defaultRequestParams,b.defaultHeaders=b.defaultHeaders||{},a.setDefaultHeaders=function(c){return b.defaultHeaders=c,a.defaultHeaders=b.defaultHeaders,this},a.defaultHeaders=b.defaultHeaders,b.methodOverriders=b.methodOverriders||[],a.setMethodOverriders=function(a){var c=_.extend([],a);return b.isOverridenMethod("delete",c)&&c.push("remove"),b.methodOverriders=c,this},b.jsonp=_.isUndefined(b.jsonp)?!1:b.jsonp,a.setJsonp=function(a){b.jsonp=a},b.isOverridenMethod=function(a,c){var d=c||b.methodOverriders;return!_.isUndefined(_.find(d,function(b){return b.toLowerCase()===a.toLowerCase()}))},b.urlCreator=b.urlCreator||"path",a.setUrlCreator=function(a){if(!_.has(b.urlCreatorFactory,a))throw new Error("URL Path selected isn't valid");return b.urlCreator=a,this},b.restangularFields=b.restangularFields||{id:"id",route:"route",parentResource:"parentResource",restangularCollection:"restangularCollection",cannonicalId:"__cannonicalId",etag:"restangularEtag",selfLink:"href",get:"get",getList:"getList",put:"put",post:"post",remove:"remove",head:"head",trace:"trace",options:"options",patch:"patch",getRestangularUrl:"getRestangularUrl",getRequestedUrl:"getRequestedUrl",putElement:"putElement",addRestangularMethod:"addRestangularMethod",getParentList:"getParentList",clone:"clone",ids:"ids",httpConfig:"_$httpConfig",reqParams:"reqParams",one:"one",all:"all",several:"several",oneUrl:"oneUrl",allUrl:"allUrl",customPUT:"customPUT",customPOST:"customPOST",customDELETE:"customDELETE",customGET:"customGET",customGETLIST:"customGETLIST",customOperation:"customOperation",doPUT:"doPUT",doPOST:"doPOST",doDELETE:"doDELETE",doGET:"doGET",doGETLIST:"doGETLIST",fromServer:"fromServer",withConfig:"withConfig",withHttpConfig:"withHttpConfig",singleOne:"singleOne",plain:"plain",save:"save"},a.setRestangularFields=function(a){return b.restangularFields=_.extend(b.restangularFields,a),this},b.isRestangularized=function(a){return!!a[b.restangularFields.one]||!!a[b.restangularFields.all]},b.setFieldToElem=function(a,b,c){var d=a.split("."),e=b;return _.each(_.initial(d),function(a){e[a]={},e=e[a]}),e[_.last(d)]=c,this},b.getFieldFromElem=function(a,b){var c=a.split("."),d=b;return _.each(c,function(a){d&&(d=d[a])}),angular.copy(d)},b.setIdToElem=function(a,c){return b.setFieldToElem(b.restangularFields.id,a,c),this},b.getIdFromElem=function(a){return b.getFieldFromElem(b.restangularFields.id,a)},b.isValidId=function(a){return""!==a&&!_.isUndefined(a)&&!_.isNull(a)},b.setUrlToElem=function(a,c){return b.setFieldToElem(b.restangularFields.selfLink,a,c),this},b.getUrlFromElem=function(a){return b.getFieldFromElem(b.restangularFields.selfLink,a)},b.useCannonicalId=_.isUndefined(b.useCannonicalId)?!1:b.useCannonicalId,a.setUseCannonicalId=function(a){return b.useCannonicalId=a,this},b.getCannonicalIdFromElem=function(a){var c=a[b.restangularFields.cannonicalId],d=b.isValidId(c)?c:b.getIdFromElem(a);return d},b.responseInterceptors=b.responseInterceptors||[],b.defaultResponseInterceptor=function(a){return a},b.responseExtractor=function(a,c,d,e,f,g){var h=angular.copy(b.responseInterceptors);h.push(b.defaultResponseInterceptor);var i=a;return _.each(h,function(a){i=a(i,c,d,e,f,g)}),i},a.addResponseInterceptor=function(a){return b.responseInterceptors.push(a),this},a.setResponseInterceptor=a.addResponseInterceptor,a.setResponseExtractor=a.addResponseInterceptor,b.requestInterceptors=b.requestInterceptors||[],b.defaultInterceptor=function(a,b,c,d,e,f,g){return{element:a,headers:e,params:f,httpConfig:g}},b.fullRequestInterceptor=function(a,c,d,e,f,g,h){var i=angular.copy(b.requestInterceptors),j=b.defaultInterceptor(a,c,d,e,f,g,h);return _.reduce(i,function(a,b){return _.extend(a,b(a.element,c,d,e,a.headers,a.params,a.httpConfig))},j)},a.addRequestInterceptor=function(a){return b.requestInterceptors.push(function(b,c,d,e,f,g,h){return{headers:f,params:g,element:a(b,c,d,e),httpConfig:h}}),this},a.setRequestInterceptor=a.addRequestInterceptor,a.addFullRequestInterceptor=function(a){return b.requestInterceptors.push(a),this},a.setFullRequestInterceptor=a.addFullRequestInterceptor,b.errorInterceptor=b.errorInterceptor||function(){},a.setErrorInterceptor=function(a){return b.errorInterceptor=a,this},b.onBeforeElemRestangularized=b.onBeforeElemRestangularized||function(a){return a},a.setOnBeforeElemRestangularized=function(a){return b.onBeforeElemRestangularized=a,this},b.onElemRestangularized=b.onElemRestangularized||function(a){return a},a.setOnElemRestangularized=function(a){return b.onElemRestangularized=a,this},b.shouldSaveParent=b.shouldSaveParent||function(){return!0},a.setParentless=function(a){return _.isArray(a)?b.shouldSaveParent=function(b){return!_.contains(a,b)}:_.isBoolean(a)&&(b.shouldSaveParent=function(){return!a}),this},b.suffix=_.isUndefined(b.suffix)?null:b.suffix,a.setRequestSuffix=function(a){return b.suffix=a,this},b.transformers=b.transformers||{},a.addElementTransformer=function(c,d,e){var f=null,g=null;2===arguments.length?g=d:(g=e,f=d);var h=b.transformers[c];return h||(h=b.transformers[c]=[]),h.push(function(a,b){return _.isNull(f)||a==f?g(b):b}),a},a.extendCollection=function(b,c){return a.addElementTransformer(b,!0,c)},a.extendModel=function(b,c){return a.addElementTransformer(b,!1,c)},b.transformElem=function(a,c,d,e,f){if(!f&&!b.transformLocalElements&&!a[b.restangularFields.fromServer])return a;var g=b.transformers[d],h=a;return g&&_.each(g,function(a){h=a(c,h)}),b.onElemRestangularized(h,c,d,e)},b.transformLocalElements=_.isUndefined(b.transformLocalElements)?!1:b.transformLocalElements,a.setTransformOnlyServerElements=function(a){b.transformLocalElements=!a},b.fullResponse=_.isUndefined(b.fullResponse)?!1:b.fullResponse,a.setFullResponse=function(a){return b.fullResponse=a,this},b.urlCreatorFactory={};var f=function(){};f.prototype.setConfig=function(a){return this.config=a,this},f.prototype.parentsArray=function(a){for(var b=[];a;)b.push(a),a=a[this.config.restangularFields.parentResource];return b.reverse()},f.prototype.resource=function(a,d,e,f,g,h,i,j){var k=_.defaults(g||{},this.config.defaultRequestParams.common),l=_.defaults(f||{},this.config.defaultHeaders);i&&(b.isSafe(j)?l["If-None-Match"]=i:l["If-Match"]=i);var m=this.base(a);if(h){var n="";/\/$/.test(m)||(n+="/"),n+=h,m+=n}return this.config.suffix&&-1===m.indexOf(this.config.suffix,m.length-this.config.suffix.length)&&!this.config.getUrlFromElem(a)&&(m+=this.config.suffix),a[this.config.restangularFields.httpConfig]=void 0,c(this.config,d,m,{getList:this.config.withHttpValues(e,{method:"GET",params:k,headers:l}),get:this.config.withHttpValues(e,{method:"GET",params:k,headers:l}),jsonp:this.config.withHttpValues(e,{method:"jsonp",params:k,headers:l}),put:this.config.withHttpValues(e,{method:"PUT",params:k,headers:l}),post:this.config.withHttpValues(e,{method:"POST",params:k,headers:l}),remove:this.config.withHttpValues(e,{method:"DELETE",params:k,headers:l}),head:this.config.withHttpValues(e,{method:"HEAD",params:k,headers:l}),trace:this.config.withHttpValues(e,{method:"TRACE",params:k,headers:l}),options:this.config.withHttpValues(e,{method:"OPTIONS",params:k,headers:l}),patch:this.config.withHttpValues(e,{method:"PATCH",params:k,headers:l})})};var g=function(){};g.prototype=new f,g.prototype.base=function(a){var c=this;return _.reduce(this.parentsArray(a),function(a,d){var e,f=c.config.getUrlFromElem(d);if(f){if(c.config.isAbsoluteUrl(f))return f;e=f}else if(e=d[c.config.restangularFields.route],d[c.config.restangularFields.restangularCollection]){var g=d[c.config.restangularFields.ids];g&&(e+="/"+g.join(","))}else{var h;h=c.config.useCannonicalId?c.config.getCannonicalIdFromElem(d):c.config.getIdFromElem(d),b.isValidId(h)&&!d.singleOne&&(e+="/"+(c.config.encodeIds?encodeURIComponent(h):h))}return a.replace(/\/$/,"")+"/"+e},this.config.baseUrl)},g.prototype.fetchUrl=function(a,b){var c=this.base(a);return b&&(c+="/"+b),c},g.prototype.fetchRequestedUrl=function(a,c){function d(a){var b=[];for(var c in a)a.hasOwnProperty(c)&&b.push(c);return b.sort()}function e(a,b,c){for(var e=d(a),f=0;f2?b[2]:null},a.prototype.displayList=function(a){this.$location.search("q",null),this.$location.search("page",1),this.$location.search("sortField",null),this.$location.search("sortOrder",null),this.$location.search("quickFilters",null),this.$location.path("/list/"+a.name())},a.prototype.isActive=function(a){return this.currentEntity===a.name()},a.prototype.destroy=function(){this.$scope=void 0,this.$location=void 0},a.$inject=["$scope","$location","NgAdminConfiguration"],a}),c("ng-admin/Main/component/service/PanelBuilder",[],function(){function a(a,b,c,d){this.$q=a,this.$filter=b,this.ListViewRepository=c,this.Configuration=d()}return a.prototype.getPanelsData=function(){var a,b,c=this.Configuration.getViewsOfType("DashboardView"),d=[],e=this;c=this.$filter("orderElement")(c);for(b in c)a=c[b],d.push(e.ListViewRepository.getAll(a));return this.$q.all(d)},a.$inject=["$q","$filter","ListViewRepository","NgAdminConfiguration"],a}),c("ng-admin/Main/component/service/Validator",[],function(){function a(){}return a.prototype.validate=function(a,b){var c,d,e,f=a.getFields();for(e in f)d=f[e],c=d.validation(),"function"==typeof c.validator&&c.validator(b.values[d.name()])},a.$inject=[],a}),c("ng-admin/Main/component/service/config/Configurable",[],function(){function a(a,b){var c;for(c in b)!function(b){a[b]=function(a){return arguments.length?(this.config[b]=a,this):this.config[b]}}(c)}return a}),c("ng-admin/Main/component/service/config/Application",["require","angular","ng-admin/Main/component/service/config/Configurable"],function(a){function b(a){this.entities={},this.config=c.copy(e),this.config.title=a||this.config.title}var c=a("angular"),d=a("ng-admin/Main/component/service/config/Configurable"),e={title:"Angular admin",baseApiUrl:"http://localhost:3000/"};return b.prototype.addEntity=function(a){return null===a.order()&&a.order(Object.keys(this.entities).length),this.entities[a.name()]=a,this},b.prototype.hasEntity=function(a){return a in this.entities},b.prototype.getEntity=function(a){return this.entities[a]},b.prototype.getEntities=function(){return this.entities},b.prototype.getEntityNames=function(){return Object.keys(this.entities)},b.prototype.getViewsOfType=function(a){var b,c,d,e=[];for(d in this.entities)c=this.entities[d],b=c.getViewsOfType(a),e=e.concat(b);return e},b.prototype.getViewByEntityAndType=function(a,b){var c=this.getEntity(a);return c.getOneViewOfType(b)},d(b.prototype,e),b}),c("ng-admin/lib/utils",[],function(){function a(a,b){var c=new Function;c.prototype=b.prototype,a.prototype=new c,a.prototype.constructor=a}function b(a){var b=a.charAt(0).toUpperCase();return a=b+a.substr(1),a.replace(/-(.)/g,function(a,b){return b.toUpperCase()})}return{inherits:a,camelCase:b}}),c("ng-admin/Main/component/service/config/Field",["require","angular","ng-admin/Main/component/service/config/Configurable","ng-admin/lib/utils"],function(a){function b(){return""}function c(a){this.config=d.copy(h),this.config.name=a||Math.random().toString(36).substring(7),this.config.label=f.camelCase(this.config.name),this.config.isEditLink="id"===a,this.entity=null,this.view=null,this.maps=[]}var d=a("angular"),e=a("ng-admin/Main/component/service/config/Configurable"),f=a("ng-admin/lib/utils"),g=["number","string","text","wysiwyg","email","date","boolean","choice","choices","password","template"],h={name:"myField",type:"string",label:"My field",editable:!0,displayed:!0,order:null,identifier:!1,format:"yyyy-MM-dd",template:b,isEditLink:!1,list:!0,dashboard:!0,validation:{required:!1,maxlength:!1},choices:[],defaultValue:null,cssClasses:[]};return e(c.prototype,h),c.prototype.type=function(a){if(0===arguments.length)return this.config.type;if(-1===g.indexOf(a))throw new Error('Type should be one of : "'+g.join('", "')+'" but "'+a+'" was given.');return this.config.type=a,this},c.prototype.map=function(a){return this.maps.push(a),this},c.prototype.getMappedValue=function(a){for(var b in this.maps)a=this.maps[b](a);return a},c.prototype.getCssClasses=function(){var a="form-control";return this.config.cssClasses&&(a+=" "+this.config.cssClasses.join(" ")),a},c.prototype.setView=function(a){return this.view=a,this},c.prototype.getView=function(){return this.view},c.prototype.getSortName=function(){return this.view.name()+"."+this.name()},c.prototype.getTemplateValue=function(a){return"function"==typeof this.config.template?this.config.template(a):this.config.template},c.prototype.getEntity=function(){return null===this.entity&&(this.entity=this.view.getEntity()),this.entity},c.prototype.clone=function(){return{prototype:c.prototype,__proto__:this.__proto__,config:d.copy(this.config),entity:null,view:null}},c}),c("ng-admin/Main/component/service/config/Entity",["require","angular","ng-admin/lib/utils","ng-admin/Main/component/service/config/Configurable","ng-admin/Main/component/service/config/Field"],function(a){function b(a){this.views={},this.values={},this.mappedFields={},this.config=c.copy(g),this.config.name=a||"entity",this.config.label=d.camelCase(this.config.name),this.identifierField=new f("id")}var c=a("angular"),d=a("ng-admin/lib/utils"),e=a("ng-admin/Main/component/service/config/Configurable"),f=a("ng-admin/Main/component/service/config/Field"),g={name:"entity",label:"My entity",order:null};return e(b.prototype,g),b.prototype.getViews=function(){return this.views},b.prototype.getValue=function(a){return void 0!==this.values[a]?this.values[a]:null},b.prototype.setValue=function(a,b){return this.values[a]=b,this},b.prototype.getViewsOfType=function(a){var b,c,d=[];for(c in this.views)b=this.views[c],b.type===a&&d.push(b);return d},b.prototype.getOneViewOfType=function(a){var b=this.getViewsOfType(a);return b.length?b[0]:null},b.prototype.identifier=function(a){return 0===arguments.length?this.identifierField:(this.identifierField=a,this)},b.prototype.getView=function(a){return this.views[a]},b.prototype.addView=function(a){return a.setEntity(this),this.views[a.name()]=a,this},b.prototype.addMappedField=function(a){return this.mappedFields[a.name()]=a,this},b.prototype.getMappedFields=function(){return this.mappedFields},b.prototype.getMappedValue=function(a){return this.values[a]},b}),c("ng-admin/Main/component/service/config/Entry",[],function(){function a(){this.values={},this.listValues={},this.identifierValue=null,this.entityName=null}return a}),c("ng-admin/Main/component/service/config/view/View",["require","angular","ng-admin/Main/component/service/config/Entry","ng-admin/Main/component/service/config/Configurable"],function(a){function b(a,b){var c=a;return"function"==typeof c&&(c=c(b)),c}function c(){return null}function d(){return null}function e(){return{}}function f(a){this.fields={},this.actions={},this.entity=null,this.config=g.copy(j),this.config.name=a||this.config.name}var g=a("angular"),h=a("ng-admin/Main/component/service/config/Entry"),i=a("ng-admin/Main/component/service/config/Configurable"),j={name:"myView",label:"My view",order:null,title:c,description:d,extraParams:null,interceptor:null,headers:e};return f.prototype.setEntity=function(a){return this.entity=a,this},f.prototype.getEntity=function(){return this.entity},f.prototype.addField=function(a){return null===a.order()&&a.order(Object.keys(this.fields).length),a.setView(this),this.fields[a.name()]=a,this},f.prototype.getFieldsOfType=function(a){var b,c,d={};for(c in this.fields)b=this.fields[c],b.type()===a&&(d[c]=b);return d},f.prototype.getFields=function(){return this.fields},f.prototype.getDisplayedFields=function(){var a,b,c={};for(b in this.fields)a=this.fields[b],a.displayed()&&(c[b]=a);return c},f.prototype.getField=function(a){return this.fields[a]},f.prototype.addAction=function(a){return null===a.order()&&a.order(Object.keys(this.actions).length),this.actions[a.name()]=a,this},f.prototype.getActions=function(){return this.actions},f.prototype.getTitle=function(){return b(this.config.title,this)},f.prototype.getDescription=function(){return b(this.config.description,this)},f.prototype.getReferences=function(){var a,b=this.getFieldsOfType("Reference"),c=this.getFieldsOfType("ReferenceMany");for(a in c)b[a]=c[a];return b},f.prototype.getReferencedLists=function(){return this.getFieldsOfType("ReferencedList")},f.prototype.getExtraParams=function(){var a={};return this.config.extraParams&&(a="function"==typeof this.config.extraParams?this.config.extraParams():this.config.extraParams),a},f.prototype.getHeaders=function(){var a=this.headers();return"function"==typeof a?a(this):a},f.prototype.identifier=function(){var a,b,c;for(a in this.fields)if(c=this.fields[a],c.identifier()){b=c;break}return b||(b=this.entity.identifierField),0===arguments.length?b:this},f.prototype.mapEntries=function(a){var b,c,d=[];for(b=0,c=a.length;c>b;b++)d.push(this.mapEntry(a[b]));return d},f.prototype.mapEntry=function(a){var b,c,d=this.getFields(),e=this.getEntity().getMappedFields(),f=new h,g=this.getEntity(),i=this.identifier();f.entityName=g.name();for(b in d)c=d[b],c.name()in a&&(f.values[b]=c.getMappedValue(a[c.name()]));i&&(f.identifierValue=a[i.name()]);for(b in e)c=e[b],f.values[b]=a[c.name()];return f},f.prototype.removeFields=function(){return this.fields={},this},f.prototype.processFieldsDefaultValue=function(a){var b,c,d=this.getFields();for(c in d)b=d[c],a.values[b.name()]=b.defaultValue();return this},i(f.prototype,j),f}),c("ng-admin/Main/component/service/config/view/ListView",["require","angular","ng-admin/Main/component/service/config/view/View","ng-admin/Main/component/service/config/Configurable","ng-admin/lib/utils"],function(a){function b(a,b){return{params:{_sort:a,_sortDir:b},headers:{}}}function c(a,b){return{page:a,per_page:b}}function d(a){return{q:a}}function e(a){return a}function f(a){return!a.headers&&a.data.length?a.data.length:a.headers("X-Total-Count")||a.data.length}function g(){this.quickFilters={},i.apply(this,arguments),this.config=h.extend(this.config,h.copy(l)),this.type="ListView"}var h=a("angular"),i=a("ng-admin/Main/component/service/config/view/View"),j=a("ng-admin/Main/component/service/config/Configurable"),k=a("ng-admin/lib/utils"),l={perPage:30,pagination:c,filterQuery:d,filterParams:e,infinitePagination:!1,totalItems:f,sortParams:b,headers:{}};return k.inherits(g,i),j(g.prototype,l),g.prototype.addQuickFilter=function(a,b){return this.quickFilters[a]=b,this},g.prototype.getQuickFilterNames=function(){return Object.keys(this.quickFilters)},g.prototype.getQuickFilterParams=function(a){var b=this.quickFilters[a];return"function"==typeof b&&(b=b()),b},g.prototype.getSortParams=function(a,b){return"function"==typeof this.config.sortParams?this.config.sortParams(a,b):this.config.sortParams},g.prototype.getAllParams=function(a,b,c){var d=this.getExtraParams(),e=this.pagination(),f=this.perPage();if(e&&(d=h.extend(d,e(a,f))),b&&"params"in b&&(d=h.extend(d,b.params)),c&&c.length){var g=this.filterQuery();d=h.extend(d,g(c))}return d},g.prototype.getAllHeaders=function(a){var b=this.getHeaders();return a&&a.headers&&(b=h.extend(b,a.headers)),b},g.prototype.getMappedValue=function(a){if(!a.length)return[];var b,c,d,e,f=this.getFields();for(c=0,d=a.length;d>c;c++)for(e in f)b=f[e],a[c].values[e]=b.getMappedValue(a[c].values[e]);return a},g}),c("ng-admin/Main/component/service/config/Reference",["require","angular","ng-admin/Main/component/service/config/Configurable","ng-admin/Main/component/service/config/view/ListView","ng-admin/Main/component/service/config/Field","ng-admin/lib/utils"],function(a){function b(a){f.apply(this,arguments),this.referencedValue=null,this.entries={},this.config.name=a||"reference",this.config.type="Reference",this.referencedView=new e,this.referencedViewConfigured=!1}var c=a("angular"),d=a("ng-admin/Main/component/service/config/Configurable"),e=a("ng-admin/Main/component/service/config/view/ListView"),f=a("ng-admin/Main/component/service/config/Field"),g=a("ng-admin/lib/utils"),h={name:"myReference",type:"reference",label:"My reference",targetEntity:null,targetField:null,isEditLink:!0,validation:{required:!1}};return g.inherits(b,f),d(b.prototype,h),b.prototype.getChoices=function(){var a,b,c,d={},e=this.targetEntity(),f=this.targetField().name(),g=e.identifier().name();for(b=0,c=this.entries.length;c>b;b++)a=this.entries[b],d[a[g]]=a[f];return d},b.prototype.targetEntity=function(a){return 0===arguments.length?this.config.targetEntity:(this.config.targetEntity=a,this.referencedView.setEntity(a),this)},b.prototype.targetField=function(a){return 0===arguments.length?this.config.targetField:(this.config.targetField=a,this.referencedView.removeFields().addField(a),this)},b.prototype.getReferencedView=function(){if(!this.referencedViewConfigured){var a=this.targetEntity().getOneViewOfType("ListView");a&&(this.referencedView.config=c.copy(a.config),this.referencedView.config.pagination=!1),this.referencedViewConfigured=!0}return this.referencedView},b.prototype.getEntries=function(){return this.entries},b.prototype.setEntries=function(a){return this.entries=a,this},b.prototype.getListValue=function(){return this.referencedValue},b}),c("ng-admin/Main/component/service/config/ReferencedList",["require","ng-admin/Main/component/service/config/Configurable","ng-admin/Main/component/service/config/Reference","ng-admin/lib/utils"],function(a){function b(a){d.apply(this,arguments),this.config.name=a||"reference",this.config.type="ReferencedList",this.entries=[]}var c=a("ng-admin/Main/component/service/config/Configurable"),d=a("ng-admin/Main/component/service/config/Reference"),e=a("ng-admin/lib/utils"),f={name:"myReference",type:"ReferencedList",label:"My list",edition:"editable",list:!1,order:null,targetReferenceField:null,targetFields:[],isEditLink:!1,validation:{required:!1}};return e.inherits(b,d),c(b.prototype,f),b.prototype.targetFields=function(a){if(0===arguments.length)return this.config.targetFields;var b;this.referencedView.removeFields();for(b in a)this.referencedView.addField(a[b]);return this.config.targetFields=a,this},b.prototype.getGridColumns=function(){var a,b,c,d=[];for(b=0,c=this.config.targetFields.length;c>b;b++)a=this.config.targetFields[b],a.displayed()&&d.push({field:a,label:a.label()});return d},b.prototype.filterEntries=function(a){var b,c,d,e=[],f=this.targetReferenceField();for(c=0,d=this.entries.length;d>c;c++)b=this.entries[c],b.values[f]==a&&e.push(b);return this.entries=e,this},b.prototype.getEntries=function(){return this.entries},b.prototype.setEntries=function(a){return this.entries=a,this},b.prototype.clear=function(){return this},b}),c("ng-admin/Main/component/service/config/ReferenceMany",["require","ng-admin/Main/component/service/config/Configurable","ng-admin/Main/component/service/config/Reference","ng-admin/lib/utils"],function(a){function b(a){d.apply(this,arguments),this.config.name=a||"reference-many",this.config.type="ReferenceMany"}var c=a("ng-admin/Main/component/service/config/Configurable"),d=a("ng-admin/Main/component/service/config/Reference"),e=a("ng-admin/lib/utils"),f={name:"myReference",label:"My references"};return e.inherits(b,d),c(b.prototype,f),b}),c("ng-admin/Main/component/service/config/Action",["require","angular","ng-admin/Main/component/service/config/Configurable"],function(a){function b(a){this.config=c.copy(e),this.config.name=a||"myAction"}var c=a("angular"),d=a("ng-admin/Main/component/service/config/Configurable"),e={name:"myAction",label:"My action",order:null,redirect:null,action:null};return d(b.prototype,e),b}),c("ng-admin/Main/component/service/config/view/DashboardView",["require","angular","ng-admin/Main/component/service/config/view/ListView","ng-admin/lib/utils"],function(a){function b(){c.apply(this,arguments),this.type="DashboardView"}var c=(a("angular"),a("ng-admin/Main/component/service/config/view/ListView")),d=a("ng-admin/lib/utils");return d.inherits(b,c),b.prototype.limit=function(a){return this.perPage(a)},b}),c("ng-admin/Main/component/service/config/view/CreateView",["require","angular","ng-admin/Main/component/service/config/view/View","ng-admin/lib/utils"],function(a){function b(){c.apply(this,arguments),this.type="CreateView",this.config.title=function(a){return"Create "+a.getEntity().name()}}var c=(a("angular"),a("ng-admin/Main/component/service/config/view/View")),d=a("ng-admin/lib/utils");return d.inherits(b,c),b.prototype.getFormName=function(){return"createForm"},b.prototype.getAttributeClass=function(a){return a?"has-success":""},b.prototype.showAttributeSuccess=function(){return!0},b}),c("ng-admin/Main/component/service/config/view/EditView",["require","angular","ng-admin/Main/component/service/config/view/View","ng-admin/lib/utils"],function(a){function b(){c.apply(this,arguments),this.type="EditView",this.config.title=function(a){return"Edit "+a.getEntity().name()}}var c=(a("angular"),a("ng-admin/Main/component/service/config/view/View")),d=a("ng-admin/lib/utils");return d.inherits(b,c),b.prototype.getFormName=function(){return"editForm"},b.prototype.getAttributeClass=function(a){return void 0===a?"":a?"":"has-error"},b.prototype.showAttributeSuccess=function(){return!1},b}),c("ng-admin/Main/component/service/config/view/DeleteView",["require","angular","ng-admin/Main/component/service/config/view/View","ng-admin/lib/utils"],function(a){function b(){this.quickFilters={},c.apply(this,arguments),this.type="DeleteView"}var c=(a("angular"),a("ng-admin/Main/component/service/config/view/View")),d=a("ng-admin/lib/utils");return d.inherits(b,c),b}),c("ng-admin/Main/component/provider/NgAdminConfiguration",[],function(){function a(){this.config=null}return a.prototype.configure=function(a){this.config=a},a.prototype.$get=function(){var a=this;return function(){return a.config}},a.$inject=[],a}),c("ng-admin/Main/component/filter/OrderElement",[],function(){function a(){return function(a){var b,c=[];for(b in a)c.push(a[b]);return c.sort(function(a,b){return a.order()-b.order()}),c}}return a.$inject=[],a}),c("text",["module"],function(a){var c,d,e,f,g,h=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"],i=/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,j=/]*>\s*([\s\S]+)\s*<\/body>/im,k="undefined"!=typeof location&&location.href,l=k&&location.protocol&&location.protocol.replace(/\:/,""),m=k&&location.hostname,n=k&&(location.port||void 0),o={},p=a.config&&a.config()||{};return c={version:"2.0.12",strip:function(a){if(a){a=a.replace(i,"");var b=a.match(j);b&&(a=b[1])}else a="";return a},jsEscape:function(a){return a.replace(/(['\\])/g,"\\$1").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r").replace(/[\u2028]/g,"\\u2028").replace(/[\u2029]/g,"\\u2029")},createXhr:p.createXhr||function(){var a,b,c;if("undefined"!=typeof XMLHttpRequest)return new XMLHttpRequest;if("undefined"!=typeof ActiveXObject)for(b=0;3>b;b+=1){c=h[b];try{a=new ActiveXObject(c)}catch(d){}if(a){h=[c];break}}return a},parseName:function(a){var b,c,d,e=!1,f=a.indexOf("."),g=0===a.indexOf("./")||0===a.indexOf("../");return-1!==f&&(!g||f>1)?(b=a.substring(0,f),c=a.substring(f+1,a.length)):b=a,d=c||b,f=d.indexOf("!"),-1!==f&&(e="strip"===d.substring(f+1),d=d.substring(0,f),c?c=d:b=d),{moduleName:b,ext:c,strip:e}},xdRegExp:/^((\w+)\:)?\/\/([^\/\\]+)/,useXhr:function(a,b,d,e){var f,g,h,i=c.xdRegExp.exec(a);return i?(f=i[2],g=i[3],g=g.split(":"),h=g[1],g=g[0],!(f&&f!==b||g&&g.toLowerCase()!==d.toLowerCase()||(h||g)&&h!==e)):!0},finishLoad:function(a,b,d,e){d=b?c.strip(d):d,p.isBuild&&(o[a]=d),e(d)},load:function(a,b,d,e){if(e&&e.isBuild&&!e.inlineText)return void d();p.isBuild=e&&e.isBuild;var f=c.parseName(a),g=f.moduleName+(f.ext?"."+f.ext:""),h=b.toUrl(g),i=p.useXhr||c.useXhr;return 0===h.indexOf("empty:")?void d():void(!k||i(h,l,m,n)?c.get(h,function(b){c.finishLoad(a,f.strip,b,d)},function(a){d.error&&d.error(a)}):b([g],function(a){c.finishLoad(f.moduleName+"."+f.ext,f.strip,a,d)}))},write:function(a,b,d){if(o.hasOwnProperty(b)){var e=c.jsEscape(o[b]);d.asModule(a+"!"+b,"define(function () { return '"+e+"';});\n")}},writeFile:function(a,b,d,e,f){var g=c.parseName(b),h=g.ext?"."+g.ext:"",i=g.moduleName+h,j=d.toUrl(g.moduleName+h)+".js";c.load(i,d,function(){var b=function(a){return e(j,a)};b.asModule=function(a,b){return e.asModule(a,j,b)},c.write(a,i,b,f)},f)}},"node"===p.env||!p.env&&"undefined"!=typeof process&&process.versions&&process.versions.node&&!process.versions["node-webkit"]?(d=b.nodeRequire("fs"),c.get=function(a,b,c){try{var e=d.readFileSync(a,"utf8");0===e.indexOf("")&&(e=e.substring(1)),b(e)}catch(f){c&&c(f)}}):"xhr"===p.env||!p.env&&c.createXhr()?c.get=function(a,b,d,e){var f,g=c.createXhr();if(g.open("GET",a,!0),e)for(f in e)e.hasOwnProperty(f)&&g.setRequestHeader(f.toLowerCase(),e[f]);p.onXhr&&p.onXhr(g,a),g.onreadystatechange=function(){var c,e;4===g.readyState&&(c=g.status||0,c>399&&600>c?(e=new Error(a+" HTTP status: "+c),e.xhr=g,d&&d(e)):b(g.responseText),p.onXhrComplete&&p.onXhrComplete(g,a))},g.send(null)}:"rhino"===p.env||!p.env&&"undefined"!=typeof Packages&&"undefined"!=typeof java?c.get=function(a,b){var c,d,e="utf-8",f=new java.io.File(a),g=java.lang.System.getProperty("line.separator"),h=new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(f),e)),i="";try{for(c=new java.lang.StringBuffer,d=h.readLine(),d&&d.length()&&65279===d.charAt(0)&&(d=d.substring(1)),null!==d&&c.append(d);null!==(d=h.readLine());)c.append(g),c.append(d);i=String(c.toString())}finally{h.close()}b(i)}:("xpconnect"===p.env||!p.env&&"undefined"!=typeof Components&&Components.classes&&Components.interfaces)&&(e=Components.classes,f=Components.interfaces,Components.utils["import"]("resource://gre/modules/FileUtils.jsm"),g="@mozilla.org/windows-registry-key;1"in e,c.get=function(a,b){var c,d,h,i={};g&&(a=a.replace(/\//g,"\\")),h=new FileUtils.File(a);try{c=e["@mozilla.org/network/file-input-stream;1"].createInstance(f.nsIFileInputStream),c.init(h,1,0,!1),d=e["@mozilla.org/intl/converter-input-stream;1"].createInstance(f.nsIConverterInputStream),d.init(c,"utf-8",c.available(),f.nsIConverterInputStream.DEFAULT_REPLACEMENT_CHARACTER),d.readString(c.available(),i),d.close(),c.close(),b(i.value)}catch(j){throw new Error((h&&h.path||"")+": "+j)}}),c}),c("text!ng-admin/Main/view/dashboard-panel.html",[],function(){return'
    \n {{ panel.label }}\n
    \n\n\n'}),c("ng-admin/Main/component/directive/DashboardPanel",["require","text!../../view/dashboard-panel.html"],function(a){function b(){return{restrict:"E",template:c} +}var c=a("text!../../view/dashboard-panel.html");return b.$inject=[],b}),c("text!ng-admin/Main/view/menu.html",[],function(){return'\n'}),c("ng-admin/Main/component/directive/Menu",["require","text!../../view/menu.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../view/menu.html");return b.$inject=[],b}),c("ng-admin/Main/config/http",[],function(){function a(a){a.useApplyAsync(!0)}return a.$inject=["$httpProvider"],a}),c("text!ng-admin/Main/view/layout.html",[],function(){return'
    \n \n\n \n\n
    \n
    \n
    \n
    \n
    \n'}),c("text!ng-admin/Main/view/dashboard.html",[],function(){return'
    \n
    \n

    Dashboard

    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n'}),c("ng-admin/Main/config/routing",["require","text!../view/layout.html","text!../view/dashboard.html"],function(a){function b(a,b){a.state("main",{"abstract":!0,controller:"AppController",controllerAs:"appController",template:c}),a.state("dashboard",{parent:"main",url:"/dashboard",controller:"DashboardController",controllerAs:"dashboardController",template:d}),b.otherwise("/dashboard")}var c=a("text!../view/layout.html"),d=a("text!../view/dashboard.html");return b.$inject=["$stateProvider","$urlRouterProvider"],b}),c("ng-admin/Main/run/Loader",[],function(){function a(a,b,c){a.$on("$stateChangeStart",function(){c.start(),b.scrollTo(0,0)}),a.$on("$stateChangeSuccess",c.done.bind(c))}return a.$inject=["$rootScope","$window","progression"],a}),c("MainModule",["require","angular","angular-ui-router","restangular","ng-admin/Main/component/controller/AppController","ng-admin/Main/component/controller/DashboardController","ng-admin/Main/component/controller/SidebarController","ng-admin/Main/component/service/PanelBuilder","ng-admin/Main/component/service/Validator","ng-admin/Main/component/service/config/Application","ng-admin/Main/component/service/config/Entity","ng-admin/Main/component/service/config/Field","ng-admin/Main/component/service/config/Reference","ng-admin/Main/component/service/config/ReferencedList","ng-admin/Main/component/service/config/ReferenceMany","ng-admin/Main/component/service/config/Action","ng-admin/Main/component/service/config/view/DashboardView","ng-admin/Main/component/service/config/view/ListView","ng-admin/Main/component/service/config/view/CreateView","ng-admin/Main/component/service/config/view/EditView","ng-admin/Main/component/service/config/view/DeleteView","ng-admin/Main/component/provider/NgAdminConfiguration","ng-admin/Main/component/filter/OrderElement","ng-admin/Main/component/directive/DashboardPanel","ng-admin/Main/component/directive/Menu","ng-admin/Main/config/http","ng-admin/Main/config/routing","ng-admin/Main/run/Loader"],function(a){var b=a("angular");a("angular-ui-router"),a("restangular");var c=b.module("main",["ui.router","restangular"]);return c.controller("AppController",a("ng-admin/Main/component/controller/AppController")),c.controller("DashboardController",a("ng-admin/Main/component/controller/DashboardController")),c.controller("SidebarController",a("ng-admin/Main/component/controller/SidebarController")),c.service("PanelBuilder",a("ng-admin/Main/component/service/PanelBuilder")),c.service("Validator",a("ng-admin/Main/component/service/Validator")),c.constant("Application",a("ng-admin/Main/component/service/config/Application")),c.constant("Entity",a("ng-admin/Main/component/service/config/Entity")),c.constant("Field",a("ng-admin/Main/component/service/config/Field")),c.constant("Reference",a("ng-admin/Main/component/service/config/Reference")),c.constant("ReferencedList",a("ng-admin/Main/component/service/config/ReferencedList")),c.constant("ReferenceMany",a("ng-admin/Main/component/service/config/ReferenceMany")),c.constant("Action",a("ng-admin/Main/component/service/config/Action")),c.constant("DashboardView",a("ng-admin/Main/component/service/config/view/DashboardView")),c.constant("ListView",a("ng-admin/Main/component/service/config/view/ListView")),c.constant("CreateView",a("ng-admin/Main/component/service/config/view/CreateView")),c.constant("EditView",a("ng-admin/Main/component/service/config/view/EditView")),c.constant("DeleteView",a("ng-admin/Main/component/service/config/view/DeleteView")),c.provider("NgAdminConfiguration",a("ng-admin/Main/component/provider/NgAdminConfiguration")),c.filter("orderElement",a("ng-admin/Main/component/filter/OrderElement")),c.directive("dashboardPanel",a("ng-admin/Main/component/directive/DashboardPanel")),c.directive("menu",a("ng-admin/Main/component/directive/Menu")),c.config(a("ng-admin/Main/config/http")),c.config(a("ng-admin/Main/config/routing")),c.run(a("ng-admin/Main/run/Loader")),c}),function(a,b){function c(){this.$get=["$$sanitizeUri",function(a){return function(b){var c=[];return f(b,i(c,function(b,c){return!/^unsafe/.test(a(b,c))})),c.join("")}}]}function d(a){var c=[],d=i(c,b.noop);return d.chars(a),c.join("")}function e(a){var b,c={},d=a.split(",");for(b=0;b=0&&t[f]!=d;f--);if(f>=0){for(e=t.length-1;e>=f;e--)c.end&&c.end(t[e]);t.length=f}}"string"!=typeof a&&(a=null===a||"undefined"==typeof a?"":""+a);var f,h,i,s,t=[],v=a;for(t.last=function(){return t[t.length-1]};a;){if(s="",h=!0,t.last()&&A[t.last()]?(a=a.replace(new RegExp("(.*)<\\s*\\/\\s*"+t.last()+"[^>]*>","i"),function(a,b){return b=b.replace(p,"$1").replace(r,"$1"),c.chars&&c.chars(g(b)),""}),e("",t.last())):(0===a.indexOf("",f)===f&&(c.comment&&c.comment(a.substring(4,f)),a=a.substring(f+3),h=!1)):q.test(a)?(i=a.match(q),i&&(a=a.replace(i[0],""),h=!1)):o.test(a)?(i=a.match(l),i&&(a=a.substring(i[0].length),i[0].replace(l,e),h=!1)):n.test(a)&&(i=a.match(k),i?(i[4]&&(a=a.substring(i[0].length),i[0].replace(k,d)),h=!1):(s+="<",a=a.substring(1))),h&&(f=a.indexOf("<"),s+=0>f?a:a.substring(0,f),a=0>f?"":a.substring(f),c.chars&&c.chars(g(s)))),a==v)throw j("badparse","The sanitizer was unable to parse the following block of html: {0}",a);v=a}e()}function g(a){if(!a)return"";var b=F.exec(a),c=b[1],d=b[3],e=b[2];return e&&(E.innerHTML=e.replace(//g,">")}function i(a,c){var d=!1,e=b.bind(a,a.push);return{start:function(a,f,g){a=b.lowercase(a),!d&&A[a]&&(d=a),d||B[a]!==!0||(e("<"),e(a),b.forEach(f,function(d,f){var g=b.lowercase(f),i="img"===a&&"src"===g||"background"===g;D[g]!==!0||C[g]===!0&&!c(d,i)||(e(" "),e(f),e('="'),e(h(d)),e('"'))}),e(g?"/>":">"))},end:function(a){a=b.lowercase(a),d||B[a]!==!0||(e("")),a==d&&(d=!1)},chars:function(a){d||e(h(a))}}}var j=b.$$minErr("$sanitize"),k=/^<((?:[a-zA-Z])[\w:-]*)((?:\s+[\w:-]+(?:\s*=\s*(?:(?:"[^"]*")|(?:'[^']*')|[^>\s]+))?)*)\s*(\/?)\s*(>?)/,l=/^<\/\s*([\w:-]+)[^>]*>/,m=/([\w:-]+)(?:\s*=\s*(?:(?:"((?:[^"])*)")|(?:'((?:[^'])*)')|([^>\s]+)))?/g,n=/^/g,q=/]*?)>/i,r=//g,s=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,t=/([^\#-~| |!])/g,u=e("area,br,col,hr,img,wbr"),v=e("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),w=e("rp,rt"),x=b.extend({},w,v),y=b.extend({},v,e("address,article,aside,blockquote,caption,center,del,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,map,menu,nav,ol,pre,script,section,table,ul")),z=b.extend({},w,e("a,abbr,acronym,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,q,ruby,rp,rt,s,samp,small,span,strike,strong,sub,sup,time,tt,u,var")),A=e("script,style"),B=b.extend({},u,y,z,x),C=e("background,cite,href,longdesc,src,usemap"),D=b.extend({},C,e("abbr,align,alt,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,coords,dir,face,headers,height,hreflang,hspace,ismap,lang,language,nohref,nowrap,rel,rev,rows,rowspan,rules,scope,scrolling,shape,size,span,start,summary,target,title,type,valign,value,vspace,width")),E=document.createElement("pre"),F=/^(\s*)([\s\S]*?)(\s*)$/;b.module("ngSanitize",[]).provider("$sanitize",c),b.module("ngSanitize").filter("linky",["$sanitize",function(a){var c=/((ftp|https?):\/\/|(mailto:)?[A-Za-z0-9._%+-]+@)\S*[^\s.;,(){}<>"]/,e=/^mailto:/;return function(f,g){function h(a){a&&n.push(d(a))}function i(a,c){n.push("'),h(c),n.push("")}if(!f)return f;for(var j,k,l,m=f,n=[];j=m.match(c);)k=j[0],j[2]==j[3]&&(k="mailto:"+k),l=j.index,h(m.substr(0,l)),i(k,j[0].replace(e,"")),m=m.substring(l+j[0].length);return h(m),a(n.join(""))}}])}(window,window.angular),c("angular-sanitize",function(){}),angular.module("ui.bootstrap",["ui.bootstrap.transition","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.bindHtml","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdown","ui.bootstrap.modal","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]),angular.module("ui.bootstrap.transition",[]).factory("$transition",["$q","$timeout","$rootScope",function(a,b,c){function d(a){for(var b in a)if(void 0!==f.style[b])return a[b]}var e=function(d,f,g){g=g||{};var h=a.defer(),i=e[g.animation?"animationEndEventName":"transitionEndEventName"],j=function(){c.$apply(function(){d.unbind(i,j),h.resolve(d)})};return i&&d.bind(i,j),b(function(){angular.isString(f)?d.addClass(f):angular.isFunction(f)?f(d):angular.isObject(f)&&d.css(f),i||h.resolve(d)}),h.promise.cancel=function(){i&&d.unbind(i,j),h.reject("Transition cancelled")},h.promise},f=document.createElement("trans"),g={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"},h={WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"};return e.transitionEndEventName=d(g),e.animationEndEventName=d(h),e}]),angular.module("ui.bootstrap.collapse",["ui.bootstrap.transition"]).directive("collapse",["$transition",function(a){return{link:function(b,c,d){function e(b){function d(){j===e&&(j=void 0)}var e=a(c,b);return j&&j.cancel(),j=e,e.then(d,d),e}function f(){k?(k=!1,g()):(c.removeClass("collapse").addClass("collapsing"),e({height:c[0].scrollHeight+"px"}).then(g))}function g(){c.removeClass("collapsing"),c.addClass("collapse in"),c.css({height:"auto"})}function h(){k?(k=!1,i(),c.css({height:0})):(c.css({height:c[0].scrollHeight+"px"}),c[0].offsetWidth,c.removeClass("collapse in").addClass("collapsing"),e({height:0}).then(i))}function i(){c.removeClass("collapsing"),c.addClass("collapse")}var j,k=!0;b.$watch(d.collapse,function(a){a?h():f()})}}}]),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("accordionConfig",{closeOthers:!0}).controller("AccordionController",["$scope","$attrs","accordionConfig",function(a,b,c){this.groups=[],this.closeOthers=function(d){var e=angular.isDefined(b.closeOthers)?a.$eval(b.closeOthers):c.closeOthers;e&&angular.forEach(this.groups,function(a){a!==d&&(a.isOpen=!1)})},this.addGroup=function(a){var b=this;this.groups.push(a),a.$on("$destroy",function(){b.removeGroup(a)})},this.removeGroup=function(a){var b=this.groups.indexOf(a);-1!==b&&this.groups.splice(b,1)}}]).directive("accordion",function(){return{restrict:"EA",controller:"AccordionController",transclude:!0,replace:!1,templateUrl:"template/accordion/accordion.html"}}).directive("accordionGroup",function(){return{require:"^accordion",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/accordion/accordion-group.html",scope:{heading:"@",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(a){this.heading=a}},link:function(a,b,c,d){d.addGroup(a),a.$watch("isOpen",function(b){b&&d.closeOthers(a)}),a.toggleOpen=function(){a.isDisabled||(a.isOpen=!a.isOpen)}}}}).directive("accordionHeading",function(){return{restrict:"EA",transclude:!0,template:"",replace:!0,require:"^accordionGroup",link:function(a,b,c,d,e){d.setHeading(e(a,function(){}))}}}).directive("accordionTransclude",function(){return{require:"^accordionGroup",link:function(a,b,c,d){a.$watch(function(){return d[c.accordionTransclude]},function(a){a&&(b.html(""),b.append(a))})}}}),angular.module("ui.bootstrap.alert",[]).controller("AlertController",["$scope","$attrs",function(a,b){a.closeable="close"in b}]).directive("alert",function(){return{restrict:"EA",controller:"AlertController",templateUrl:"template/alert/alert.html",transclude:!0,replace:!0,scope:{type:"@",close:"&"}}}),angular.module("ui.bootstrap.bindHtml",[]).directive("bindHtmlUnsafe",function(){return function(a,b,c){b.addClass("ng-binding").data("$binding",c.bindHtmlUnsafe),a.$watch(c.bindHtmlUnsafe,function(a){b.html(a||"")})}}),angular.module("ui.bootstrap.buttons",[]).constant("buttonConfig",{activeClass:"active",toggleEvent:"click"}).controller("ButtonsController",["buttonConfig",function(a){this.activeClass=a.activeClass||"active",this.toggleEvent=a.toggleEvent||"click"}]).directive("btnRadio",function(){return{require:["btnRadio","ngModel"],controller:"ButtonsController",link:function(a,b,c,d){var e=d[0],f=d[1];f.$render=function(){b.toggleClass(e.activeClass,angular.equals(f.$modelValue,a.$eval(c.btnRadio)))},b.bind(e.toggleEvent,function(){var d=b.hasClass(e.activeClass);(!d||angular.isDefined(c.uncheckable))&&a.$apply(function(){f.$setViewValue(d?null:a.$eval(c.btnRadio)),f.$render()})})}}}).directive("btnCheckbox",function(){return{require:["btnCheckbox","ngModel"],controller:"ButtonsController",link:function(a,b,c,d){function e(){return g(c.btnCheckboxTrue,!0)}function f(){return g(c.btnCheckboxFalse,!1)}function g(b,c){var d=a.$eval(b);return angular.isDefined(d)?d:c}var h=d[0],i=d[1];i.$render=function(){b.toggleClass(h.activeClass,angular.equals(i.$modelValue,e()))},b.bind(h.toggleEvent,function(){a.$apply(function(){i.$setViewValue(b.hasClass(h.activeClass)?f():e()),i.$render()})})}}}),angular.module("ui.bootstrap.carousel",["ui.bootstrap.transition"]).controller("CarouselController",["$scope","$timeout","$transition",function(a,b,c){function d(){e();var c=+a.interval;!isNaN(c)&&c>=0&&(g=b(f,c))}function e(){g&&(b.cancel(g),g=null)}function f(){h?(a.next(),d()):a.pause()}var g,h,i=this,j=i.slides=a.slides=[],k=-1;i.currentSlide=null;var l=!1;i.select=a.select=function(e,f){function g(){l||(i.currentSlide&&angular.isString(f)&&!a.noTransition&&e.$element?(e.$element.addClass(f),e.$element[0].offsetWidth,angular.forEach(j,function(a){angular.extend(a,{direction:"",entering:!1,leaving:!1,active:!1})}),angular.extend(e,{direction:f,active:!0,entering:!0}),angular.extend(i.currentSlide||{},{direction:f,leaving:!0}),a.$currentTransition=c(e.$element,{}),function(b,c){a.$currentTransition.then(function(){h(b,c)},function(){h(b,c)})}(e,i.currentSlide)):h(e,i.currentSlide),i.currentSlide=e,k=m,d())}function h(b,c){angular.extend(b,{direction:"",active:!0,leaving:!1,entering:!1}),angular.extend(c||{},{direction:"",active:!1,leaving:!1,entering:!1}),a.$currentTransition=null}var m=j.indexOf(e);void 0===f&&(f=m>k?"next":"prev"),e&&e!==i.currentSlide&&(a.$currentTransition?(a.$currentTransition.cancel(),b(g)):g())},a.$on("$destroy",function(){l=!0}),i.indexOfSlide=function(a){return j.indexOf(a)},a.next=function(){var b=(k+1)%j.length;return a.$currentTransition?void 0:i.select(j[b],"next")},a.prev=function(){var b=0>k-1?j.length-1:k-1;return a.$currentTransition?void 0:i.select(j[b],"prev")},a.isActive=function(a){return i.currentSlide===a},a.$watch("interval",d),a.$on("$destroy",e),a.play=function(){h||(h=!0,d())},a.pause=function(){a.noPause||(h=!1,e())},i.addSlide=function(b,c){b.$element=c,j.push(b),1===j.length||b.active?(i.select(j[j.length-1]),1==j.length&&a.play()):b.active=!1},i.removeSlide=function(a){var b=j.indexOf(a);j.splice(b,1),j.length>0&&a.active?i.select(b>=j.length?j[b-1]:j[b]):k>b&&k--}}]).directive("carousel",[function(){return{restrict:"EA",transclude:!0,replace:!0,controller:"CarouselController",require:"carousel",templateUrl:"template/carousel/carousel.html",scope:{interval:"=",noTransition:"=",noPause:"="}}}]).directive("slide",function(){return{require:"^carousel",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/carousel/slide.html",scope:{active:"=?"},link:function(a,b,c,d){d.addSlide(a,b),a.$on("$destroy",function(){d.removeSlide(a)}),a.$watch("active",function(b){b&&d.select(a)})}}}),angular.module("ui.bootstrap.dateparser",[]).service("dateParser",["$locale","orderByFilter",function(a,b){function c(a){var c=[],d=a.split("");return angular.forEach(e,function(b,e){var f=a.indexOf(e);if(f>-1){a=a.split(""),d[f]="("+b.regex+")",a[f]="$";for(var g=f+1,h=f+e.length;h>g;g++)d[g]="",a[g]="$";a=a.join(""),c.push({index:f,apply:b.apply})}}),{regex:new RegExp("^"+d.join("")+"$"),map:b(c,"index")}}function d(a,b,c){return 1===b&&c>28?29===c&&(a%4===0&&a%100!==0||a%400===0):3===b||5===b||8===b||10===b?31>c:!0}this.parsers={};var e={yyyy:{regex:"\\d{4}",apply:function(a){this.year=+a}},yy:{regex:"\\d{2}",apply:function(a){this.year=+a+2e3}},y:{regex:"\\d{1,4}",apply:function(a){this.year=+a}},MMMM:{regex:a.DATETIME_FORMATS.MONTH.join("|"),apply:function(b){this.month=a.DATETIME_FORMATS.MONTH.indexOf(b)}},MMM:{regex:a.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(b){this.month=a.DATETIME_FORMATS.SHORTMONTH.indexOf(b)}},MM:{regex:"0[1-9]|1[0-2]",apply:function(a){this.month=a-1}},M:{regex:"[1-9]|1[0-2]",apply:function(a){this.month=a-1}},dd:{regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},d:{regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},EEEE:{regex:a.DATETIME_FORMATS.DAY.join("|")},EEE:{regex:a.DATETIME_FORMATS.SHORTDAY.join("|")}};this.parse=function(b,e){if(!angular.isString(b)||!e)return b;e=a.DATETIME_FORMATS[e]||e,this.parsers[e]||(this.parsers[e]=c(e));var f=this.parsers[e],g=f.regex,h=f.map,i=b.match(g);if(i&&i.length){for(var j,k={year:1900,month:0,date:1,hours:0},l=1,m=i.length;m>l;l++){var n=h[l-1];n.apply&&n.apply.call(k,i[l])}return d(k.year,k.month,k.date)&&(j=new Date(k.year,k.month,k.date,k.hours)),j}}}]),angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function(a,b){function c(a,c){return a.currentStyle?a.currentStyle[c]:b.getComputedStyle?b.getComputedStyle(a)[c]:a.style[c]}function d(a){return"static"===(c(a,"position")||"static")}var e=function(b){for(var c=a[0],e=b.offsetParent||c;e&&e!==c&&d(e);)e=e.offsetParent;return e||c};return{position:function(b){var c=this.offset(b),d={top:0,left:0},f=e(b[0]);f!=a[0]&&(d=this.offset(angular.element(f)),d.top+=f.clientTop-f.scrollTop,d.left+=f.clientLeft-f.scrollLeft);var g=b[0].getBoundingClientRect();return{width:g.width||b.prop("offsetWidth"),height:g.height||b.prop("offsetHeight"),top:c.top-d.top,left:c.left-d.left}},offset:function(c){var d=c[0].getBoundingClientRect();return{width:d.width||c.prop("offsetWidth"),height:d.height||c.prop("offsetHeight"),top:d.top+(b.pageYOffset||a[0].documentElement.scrollTop),left:d.left+(b.pageXOffset||a[0].documentElement.scrollLeft)}},positionElements:function(a,b,c,d){var e,f,g,h,i=c.split("-"),j=i[0],k=i[1]||"center";e=d?this.offset(a):this.position(a),f=b.prop("offsetWidth"),g=b.prop("offsetHeight");var l={center:function(){return e.left+e.width/2-f/2},left:function(){return e.left},right:function(){return e.left+e.width}},m={center:function(){return e.top+e.height/2-g/2},top:function(){return e.top},bottom:function(){return e.top+e.height}};switch(j){case"right":h={top:m[k](),left:l[j]()};break;case"left":h={top:m[k](),left:e.left-f};break;case"bottom":h={top:m[j](),left:l[k]()};break;default:h={top:e.top-g,left:l[k]()}}return h}}}]),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.position"]).constant("datepickerConfig",{formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",datepickerMode:"day",minMode:"day",maxMode:"year",showWeeks:!0,startingDay:0,yearRange:20,minDate:null,maxDate:null}).controller("DatepickerController",["$scope","$attrs","$parse","$interpolate","$timeout","$log","dateFilter","datepickerConfig",function(a,b,c,d,e,f,g,h){var i=this,j={$setViewValue:angular.noop};this.modes=["day","month","year"],angular.forEach(["formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","minMode","maxMode","showWeeks","startingDay","yearRange"],function(c,e){i[c]=angular.isDefined(b[c])?8>e?d(b[c])(a.$parent):a.$parent.$eval(b[c]):h[c]}),angular.forEach(["minDate","maxDate"],function(d){b[d]?a.$parent.$watch(c(b[d]),function(a){i[d]=a?new Date(a):null,i.refreshView()}):i[d]=h[d]?new Date(h[d]):null}),a.datepickerMode=a.datepickerMode||h.datepickerMode,a.uniqueId="datepicker-"+a.$id+"-"+Math.floor(1e4*Math.random()),this.activeDate=angular.isDefined(b.initDate)?a.$parent.$eval(b.initDate):new Date,a.isActive=function(b){return 0===i.compare(b.date,i.activeDate)?(a.activeDateId=b.uid,!0):!1},this.init=function(a){j=a,j.$render=function(){i.render()}},this.render=function(){if(j.$modelValue){var a=new Date(j.$modelValue),b=!isNaN(a);b?this.activeDate=a:f.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.'),j.$setValidity("date",b)}this.refreshView()},this.refreshView=function(){if(this.element){this._refreshView();var a=j.$modelValue?new Date(j.$modelValue):null;j.$setValidity("date-disabled",!a||this.element&&!this.isDisabled(a))}},this.createDateObject=function(a,b){var c=j.$modelValue?new Date(j.$modelValue):null;return{date:a,label:g(a,b),selected:c&&0===this.compare(a,c),disabled:this.isDisabled(a),current:0===this.compare(a,new Date)}},this.isDisabled=function(c){return this.minDate&&this.compare(c,this.minDate)<0||this.maxDate&&this.compare(c,this.maxDate)>0||b.dateDisabled&&a.dateDisabled({date:c,mode:a.datepickerMode})},this.split=function(a,b){for(var c=[];a.length>0;)c.push(a.splice(0,b));return c},a.select=function(b){if(a.datepickerMode===i.minMode){var c=j.$modelValue?new Date(j.$modelValue):new Date(0,0,0,0,0,0,0);c.setFullYear(b.getFullYear(),b.getMonth(),b.getDate()),j.$setViewValue(c),j.$render()}else i.activeDate=b,a.datepickerMode=i.modes[i.modes.indexOf(a.datepickerMode)-1]},a.move=function(a){var b=i.activeDate.getFullYear()+a*(i.step.years||0),c=i.activeDate.getMonth()+a*(i.step.months||0);i.activeDate.setFullYear(b,c,1),i.refreshView()},a.toggleMode=function(b){b=b||1,a.datepickerMode===i.maxMode&&1===b||a.datepickerMode===i.minMode&&-1===b||(a.datepickerMode=i.modes[i.modes.indexOf(a.datepickerMode)+b])},a.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};var k=function(){e(function(){i.element[0].focus()},0,!1)};a.$on("datepicker.focus",k),a.keydown=function(b){var c=a.keys[b.which];if(c&&!b.shiftKey&&!b.altKey)if(b.preventDefault(),b.stopPropagation(),"enter"===c||"space"===c){if(i.isDisabled(i.activeDate))return;a.select(i.activeDate),k()}else!b.ctrlKey||"up"!==c&&"down"!==c?(i.handleKeyDown(c,b),i.refreshView()):(a.toggleMode("up"===c?1:-1),k())}}]).directive("datepicker",function(){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/datepicker.html",scope:{datepickerMode:"=?",dateDisabled:"&"},require:["datepicker","?^ngModel"],controller:"DatepickerController",link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f)}}}).directive("daypicker",["dateFilter",function(a){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/day.html",require:"^datepicker",link:function(b,c,d,e){function f(a,b){return 1!==b||a%4!==0||a%100===0&&a%400!==0?i[b]:29}function g(a,b){var c=new Array(b),d=new Date(a),e=0;for(d.setHours(12);b>e;)c[e++]=new Date(d),d.setDate(d.getDate()+1);return c}function h(a){var b=new Date(a);b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/864e5)/7)+1}b.showWeeks=e.showWeeks,e.step={months:1},e.element=c;var i=[31,28,31,30,31,30,31,31,30,31,30,31];e._refreshView=function(){var c=e.activeDate.getFullYear(),d=e.activeDate.getMonth(),f=new Date(c,d,1),i=e.startingDay-f.getDay(),j=i>0?7-i:-i,k=new Date(f);j>0&&k.setDate(-j+1);for(var l=g(k,42),m=0;42>m;m++)l[m]=angular.extend(e.createDateObject(l[m],e.formatDay),{secondary:l[m].getMonth()!==d,uid:b.uniqueId+"-"+m});b.labels=new Array(7);for(var n=0;7>n;n++)b.labels[n]={abbr:a(l[n].date,e.formatDayHeader),full:a(l[n].date,"EEEE")};if(b.title=a(e.activeDate,e.formatDayTitle),b.rows=e.split(l,7),b.showWeeks){b.weekNumbers=[];for(var o=h(b.rows[0][0].date),p=b.rows.length;b.weekNumbers.push(o++)f;f++)c[f]=angular.extend(e.createDateObject(new Date(d,f,1),e.formatMonth),{uid:b.uniqueId+"-"+f});b.title=a(e.activeDate,e.formatMonthTitle),b.rows=e.split(c,3)},e.compare=function(a,b){return new Date(a.getFullYear(),a.getMonth())-new Date(b.getFullYear(),b.getMonth())},e.handleKeyDown=function(a){var b=e.activeDate.getMonth();if("left"===a)b-=1;else if("up"===a)b-=3;else if("right"===a)b+=1;else if("down"===a)b+=3;else if("pageup"===a||"pagedown"===a){var c=e.activeDate.getFullYear()+("pageup"===a?-1:1);e.activeDate.setFullYear(c)}else"home"===a?b=0:"end"===a&&(b=11);e.activeDate.setMonth(b)},e.refreshView()}}}]).directive("yearpicker",["dateFilter",function(){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/year.html",require:"^datepicker",link:function(a,b,c,d){function e(a){return parseInt((a-1)/f,10)*f+1}var f=d.yearRange;d.step={years:f},d.element=b,d._refreshView=function(){for(var b=new Array(f),c=0,g=e(d.activeDate.getFullYear());f>c;c++)b[c]=angular.extend(d.createDateObject(new Date(g+c,0,1),d.formatYear),{uid:a.uniqueId+"-"+c});a.title=[b[0].label,b[f-1].label].join(" - "),a.rows=d.split(b,5)},d.compare=function(a,b){return a.getFullYear()-b.getFullYear()},d.handleKeyDown=function(a){var b=d.activeDate.getFullYear();"left"===a?b-=1:"up"===a?b-=5:"right"===a?b+=1:"down"===a?b+=5:"pageup"===a||"pagedown"===a?b+=("pageup"===a?-1:1)*d.step.years:"home"===a?b=e(d.activeDate.getFullYear()):"end"===a&&(b=e(d.activeDate.getFullYear())+f-1),d.activeDate.setFullYear(b)},d.refreshView()}}}]).constant("datepickerPopupConfig",{datepickerPopup:"yyyy-MM-dd",currentText:"Today",clearText:"Clear",closeText:"Done",closeOnDateSelection:!0,appendToBody:!1,showButtonBar:!0}).directive("datepickerPopup",["$compile","$parse","$document","$position","dateFilter","dateParser","datepickerPopupConfig",function(a,b,c,d,e,f,g){return{restrict:"EA",require:"ngModel",scope:{isOpen:"=?",currentText:"@",clearText:"@",closeText:"@",dateDisabled:"&"},link:function(h,i,j,k){function l(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}function m(a){if(a){if(angular.isDate(a)&&!isNaN(a))return k.$setValidity("date",!0),a;if(angular.isString(a)){var b=f.parse(a,n)||new Date(a);return isNaN(b)?void k.$setValidity("date",!1):(k.$setValidity("date",!0),b)}return void k.$setValidity("date",!1)}return k.$setValidity("date",!0),null}var n,o=angular.isDefined(j.closeOnDateSelection)?h.$parent.$eval(j.closeOnDateSelection):g.closeOnDateSelection,p=angular.isDefined(j.datepickerAppendToBody)?h.$parent.$eval(j.datepickerAppendToBody):g.appendToBody;h.showButtonBar=angular.isDefined(j.showButtonBar)?h.$parent.$eval(j.showButtonBar):g.showButtonBar,h.getText=function(a){return h[a+"Text"]||g[a+"Text"]},j.$observe("datepickerPopup",function(a){n=a||g.datepickerPopup,k.$render()});var q=angular.element("
    ");q.attr({"ng-model":"date","ng-change":"dateSelection()"});var r=angular.element(q.children()[0]);j.datepickerOptions&&angular.forEach(h.$parent.$eval(j.datepickerOptions),function(a,b){r.attr(l(b),a)}),h.watchData={},angular.forEach(["minDate","maxDate","datepickerMode"],function(a){if(j[a]){var c=b(j[a]);if(h.$parent.$watch(c,function(b){h.watchData[a]=b}),r.attr(l(a),"watchData."+a),"datepickerMode"===a){var d=c.assign;h.$watch("watchData."+a,function(a,b){a!==b&&d(h.$parent,a)})}}}),j.dateDisabled&&r.attr("date-disabled","dateDisabled({ date: date, mode: mode })"),k.$parsers.unshift(m),h.dateSelection=function(a){angular.isDefined(a)&&(h.date=a),k.$setViewValue(h.date),k.$render(),o&&(h.isOpen=!1,i[0].focus())},i.bind("input change keyup",function(){h.$apply(function(){h.date=k.$modelValue})}),k.$render=function(){var a=k.$viewValue?e(k.$viewValue,n):"";i.val(a),h.date=m(k.$modelValue)};var s=function(a){h.isOpen&&a.target!==i[0]&&h.$apply(function(){h.isOpen=!1})},t=function(a){h.keydown(a)};i.bind("keydown",t),h.keydown=function(a){27===a.which?(a.preventDefault(),a.stopPropagation(),h.close()):40!==a.which||h.isOpen||(h.isOpen=!0)},h.$watch("isOpen",function(a){a?(h.$broadcast("datepicker.focus"),h.position=p?d.offset(i):d.position(i),h.position.top=h.position.top+i.prop("offsetHeight"),c.bind("click",s)):c.unbind("click",s)}),h.select=function(a){if("today"===a){var b=new Date;angular.isDate(k.$modelValue)?(a=new Date(k.$modelValue),a.setFullYear(b.getFullYear(),b.getMonth(),b.getDate())):a=new Date(b.setHours(0,0,0,0))}h.dateSelection(a) +},h.close=function(){h.isOpen=!1,i[0].focus()};var u=a(q)(h);q.remove(),p?c.find("body").append(u):i.after(u),h.$on("$destroy",function(){u.remove(),i.unbind("keydown",t),c.unbind("click",s)})}}}]).directive("datepickerPopupWrap",function(){return{restrict:"EA",replace:!0,transclude:!0,templateUrl:"template/datepicker/popup.html",link:function(a,b){b.bind("click",function(a){a.preventDefault(),a.stopPropagation()})}}}),angular.module("ui.bootstrap.dropdown",[]).constant("dropdownConfig",{openClass:"open"}).service("dropdownService",["$document",function(a){var b=null;this.open=function(e){b||(a.bind("click",c),a.bind("keydown",d)),b&&b!==e&&(b.isOpen=!1),b=e},this.close=function(e){b===e&&(b=null,a.unbind("click",c),a.unbind("keydown",d))};var c=function(a){var c=b.getToggleElement();a&&c&&c[0].contains(a.target)||b.$apply(function(){b.isOpen=!1})},d=function(a){27===a.which&&(b.focusToggleElement(),c())}}]).controller("DropdownController",["$scope","$attrs","$parse","dropdownConfig","dropdownService","$animate",function(a,b,c,d,e,f){var g,h=this,i=a.$new(),j=d.openClass,k=angular.noop,l=b.onToggle?c(b.onToggle):angular.noop;this.init=function(d){h.$element=d,b.isOpen&&(g=c(b.isOpen),k=g.assign,a.$watch(g,function(a){i.isOpen=!!a}))},this.toggle=function(a){return i.isOpen=arguments.length?!!a:!i.isOpen},this.isOpen=function(){return i.isOpen},i.getToggleElement=function(){return h.toggleElement},i.focusToggleElement=function(){h.toggleElement&&h.toggleElement[0].focus()},i.$watch("isOpen",function(b,c){f[b?"addClass":"removeClass"](h.$element,j),b?(i.focusToggleElement(),e.open(i)):e.close(i),k(a,b),angular.isDefined(b)&&b!==c&&l(a,{open:!!b})}),a.$on("$locationChangeSuccess",function(){i.isOpen=!1}),a.$on("$destroy",function(){i.$destroy()})}]).directive("dropdown",function(){return{restrict:"CA",controller:"DropdownController",link:function(a,b,c,d){d.init(b)}}}).directive("dropdownToggle",function(){return{restrict:"CA",require:"?^dropdown",link:function(a,b,c,d){if(d){d.toggleElement=b;var e=function(e){e.preventDefault(),b.hasClass("disabled")||c.disabled||a.$apply(function(){d.toggle()})};b.bind("click",e),b.attr({"aria-haspopup":!0,"aria-expanded":!1}),a.$watch(d.isOpen,function(a){b.attr("aria-expanded",!!a)}),a.$on("$destroy",function(){b.unbind("click",e)})}}}}),angular.module("ui.bootstrap.modal",["ui.bootstrap.transition"]).factory("$$stackedMap",function(){return{createNew:function(){var a=[];return{add:function(b,c){a.push({key:b,value:c})},get:function(b){for(var c=0;c0),i()})}function i(){if(k&&-1==g()){var a=l;j(k,l,150,function(){a.$destroy(),a=null}),k=void 0,l=void 0}}function j(c,d,e,f){function g(){g.done||(g.done=!0,c.remove(),f&&f())}d.animate=!1;var h=a.transitionEndEventName;if(h){var i=b(g,e);c.bind(h,function(){b.cancel(i),g(),d.$apply()})}else b(g)}var k,l,m="modal-open",n=f.createNew(),o={};return e.$watch(g,function(a){l&&(l.index=a)}),c.bind("keydown",function(a){var b;27===a.which&&(b=n.top(),b&&b.value.keyboard&&(a.preventDefault(),e.$apply(function(){o.dismiss(b.key,"escape key press")})))}),o.open=function(a,b){n.add(a,{deferred:b.deferred,modalScope:b.scope,backdrop:b.backdrop,keyboard:b.keyboard});var f=c.find("body").eq(0),h=g();if(h>=0&&!k){l=e.$new(!0),l.index=h;var i=angular.element("
    ");i.attr("backdrop-class",b.backdropClass),k=d(i)(l),f.append(k)}var j=angular.element("
    ");j.attr({"template-url":b.windowTemplateUrl,"window-class":b.windowClass,size:b.size,index:n.length()-1,animate:"animate"}).html(b.content);var o=d(j)(b.scope);n.top().value.modalDomEl=o,f.append(o),f.addClass(m)},o.close=function(a,b){var c=n.get(a);c&&(c.value.deferred.resolve(b),h(a))},o.dismiss=function(a,b){var c=n.get(a);c&&(c.value.deferred.reject(b),h(a))},o.dismissAll=function(a){for(var b=this.getTop();b;)this.dismiss(b.key,a),b=this.getTop()},o.getTop=function(){return n.top()},o}]).provider("$modal",function(){var a={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$modalStack",function(b,c,d,e,f,g,h){function i(a){return a.template?d.when(a.template):e.get(angular.isFunction(a.templateUrl)?a.templateUrl():a.templateUrl,{cache:f}).then(function(a){return a.data})}function j(a){var c=[];return angular.forEach(a,function(a){(angular.isFunction(a)||angular.isArray(a))&&c.push(d.when(b.invoke(a)))}),c}var k={};return k.open=function(b){var e=d.defer(),f=d.defer(),k={result:e.promise,opened:f.promise,close:function(a){h.close(k,a)},dismiss:function(a){h.dismiss(k,a)}};if(b=angular.extend({},a.options,b),b.resolve=b.resolve||{},!b.template&&!b.templateUrl)throw new Error("One of template or templateUrl options is required.");var l=d.all([i(b)].concat(j(b.resolve)));return l.then(function(a){var d=(b.scope||c).$new();d.$close=k.close,d.$dismiss=k.dismiss;var f,i={},j=1;b.controller&&(i.$scope=d,i.$modalInstance=k,angular.forEach(b.resolve,function(b,c){i[c]=a[j++]}),f=g(b.controller,i),b.controllerAs&&(d[b.controllerAs]=f)),h.open(k,{scope:d,deferred:e,content:a[0],backdrop:b.backdrop,keyboard:b.keyboard,backdropClass:b.backdropClass,windowClass:b.windowClass,windowTemplateUrl:b.windowTemplateUrl,size:b.size})},function(a){e.reject(a)}),l.then(function(){f.resolve(!0)},function(){f.reject(!1)}),k},k}]};return a}),angular.module("ui.bootstrap.pagination",[]).controller("PaginationController",["$scope","$attrs","$parse",function(a,b,c){var d=this,e={$setViewValue:angular.noop},f=b.numPages?c(b.numPages).assign:angular.noop;this.init=function(f,g){e=f,this.config=g,e.$render=function(){d.render()},b.itemsPerPage?a.$parent.$watch(c(b.itemsPerPage),function(b){d.itemsPerPage=parseInt(b,10),a.totalPages=d.calculateTotalPages()}):this.itemsPerPage=g.itemsPerPage},this.calculateTotalPages=function(){var b=this.itemsPerPage<1?1:Math.ceil(a.totalItems/this.itemsPerPage);return Math.max(b||0,1)},this.render=function(){a.page=parseInt(e.$viewValue,10)||1},a.selectPage=function(b){a.page!==b&&b>0&&b<=a.totalPages&&(e.$setViewValue(b),e.$render())},a.getText=function(b){return a[b+"Text"]||d.config[b+"Text"]},a.noPrevious=function(){return 1===a.page},a.noNext=function(){return a.page===a.totalPages},a.$watch("totalItems",function(){a.totalPages=d.calculateTotalPages()}),a.$watch("totalPages",function(b){f(a.$parent,b),a.page>b?a.selectPage(b):e.$render()})}]).constant("paginationConfig",{itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("pagination",["$parse","paginationConfig",function(a,b){return{restrict:"EA",scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@"},require:["pagination","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pagination.html",replace:!0,link:function(c,d,e,f){function g(a,b,c){return{number:a,text:b,active:c}}function h(a,b){var c=[],d=1,e=b,f=angular.isDefined(k)&&b>k;f&&(l?(d=Math.max(a-Math.floor(k/2),1),e=d+k-1,e>b&&(e=b,d=e-k+1)):(d=(Math.ceil(a/k)-1)*k+1,e=Math.min(d+k-1,b)));for(var h=d;e>=h;h++){var i=g(h,h,h===a);c.push(i)}if(f&&!l){if(d>1){var j=g(d-1,"...",!1);c.unshift(j)}if(b>e){var m=g(e+1,"...",!1);c.push(m)}}return c}var i=f[0],j=f[1];if(j){var k=angular.isDefined(e.maxSize)?c.$parent.$eval(e.maxSize):b.maxSize,l=angular.isDefined(e.rotate)?c.$parent.$eval(e.rotate):b.rotate;c.boundaryLinks=angular.isDefined(e.boundaryLinks)?c.$parent.$eval(e.boundaryLinks):b.boundaryLinks,c.directionLinks=angular.isDefined(e.directionLinks)?c.$parent.$eval(e.directionLinks):b.directionLinks,i.init(j,b),e.maxSize&&c.$parent.$watch(a(e.maxSize),function(a){k=parseInt(a,10),i.render()});var m=i.render;i.render=function(){m(),c.page>0&&c.page<=c.totalPages&&(c.pages=h(c.page,c.totalPages))}}}}}]).constant("pagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("pager",["pagerConfig",function(a){return{restrict:"EA",scope:{totalItems:"=",previousText:"@",nextText:"@"},require:["pager","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pager.html",replace:!0,link:function(b,c,d,e){var f=e[0],g=e[1];g&&(b.align=angular.isDefined(d.align)?b.$parent.$eval(d.align):a.align,f.init(g,a))}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function a(a){var b=/[A-Z]/g,c="-";return a.replace(b,function(a,b){return(b?c:"")+a.toLowerCase()})}var b={placement:"top",animation:!0,popupDelay:0},c={mouseenter:"mouseleave",click:"click",focus:"blur"},d={};this.options=function(a){angular.extend(d,a)},this.setTriggers=function(a){angular.extend(c,a)},this.$get=["$window","$compile","$timeout","$parse","$document","$position","$interpolate",function(e,f,g,h,i,j,k){return function(e,l,m){function n(a){var b=a||o.trigger||m,d=c[b]||b;return{show:b,hide:d}}var o=angular.extend({},b,d),p=a(e),q=k.startSymbol(),r=k.endSymbol(),s="
    ';return{restrict:"EA",scope:!0,compile:function(){var a=f(s);return function(b,c,d){function f(){b.tt_isOpen?m():k()}function k(){(!y||b.$eval(d[l+"Enable"]))&&(b.tt_popupDelay?v||(v=g(p,b.tt_popupDelay,!1),v.then(function(a){a()})):p()())}function m(){b.$apply(function(){q()})}function p(){return v=null,u&&(g.cancel(u),u=null),b.tt_content?(r(),t.css({top:0,left:0,display:"block"}),w?i.find("body").append(t):c.after(t),z(),b.tt_isOpen=!0,b.$digest(),z):angular.noop}function q(){b.tt_isOpen=!1,g.cancel(v),v=null,b.tt_animation?u||(u=g(s,500)):s()}function r(){t&&s(),t=a(b,function(){}),b.$digest()}function s(){u=null,t&&(t.remove(),t=null)}var t,u,v,w=angular.isDefined(o.appendToBody)?o.appendToBody:!1,x=n(void 0),y=angular.isDefined(d[l+"Enable"]),z=function(){var a=j.positionElements(c,t,b.tt_placement,w);a.top+="px",a.left+="px",t.css(a)};b.tt_isOpen=!1,d.$observe(e,function(a){b.tt_content=a,!a&&b.tt_isOpen&&q()}),d.$observe(l+"Title",function(a){b.tt_title=a}),d.$observe(l+"Placement",function(a){b.tt_placement=angular.isDefined(a)?a:o.placement}),d.$observe(l+"PopupDelay",function(a){var c=parseInt(a,10);b.tt_popupDelay=isNaN(c)?o.popupDelay:c});var A=function(){c.unbind(x.show,k),c.unbind(x.hide,m)};d.$observe(l+"Trigger",function(a){A(),x=n(a),x.show===x.hide?c.bind(x.show,f):(c.bind(x.show,k),c.bind(x.hide,m))});var B=b.$eval(d[l+"Animation"]);b.tt_animation=angular.isDefined(B)?!!B:o.animation,d.$observe(l+"AppendToBody",function(a){w=angular.isDefined(a)?h(a)(b):w}),w&&b.$on("$locationChangeSuccess",function(){b.tt_isOpen&&q()}),b.$on("$destroy",function(){g.cancel(u),g.cancel(v),A(),s()})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function(a){return a("tooltip","tooltip","mouseenter")}]).directive("tooltipHtmlUnsafePopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-unsafe-popup.html"}}).directive("tooltipHtmlUnsafe",["$tooltip",function(a){return a("tooltipHtmlUnsafe","tooltip","mouseenter")}]),angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("popoverPopup",function(){return{restrict:"EA",replace:!0,scope:{title:"@",content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover.html"}}).directive("popover",["$tooltip",function(a){return a("popover","popover","click")}]),angular.module("ui.bootstrap.progressbar",[]).constant("progressConfig",{animate:!0,max:100}).controller("ProgressController",["$scope","$attrs","progressConfig",function(a,b,c){var d=this,e=angular.isDefined(b.animate)?a.$parent.$eval(b.animate):c.animate;this.bars=[],a.max=angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max,this.addBar=function(b,c){e||c.css({transition:"none"}),this.bars.push(b),b.$watch("value",function(c){b.percent=+(100*c/a.max).toFixed(2)}),b.$on("$destroy",function(){c=null,d.removeBar(b)})},this.removeBar=function(a){this.bars.splice(this.bars.indexOf(a),1)}}]).directive("progress",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",require:"progress",scope:{},templateUrl:"template/progressbar/progress.html"}}).directive("bar",function(){return{restrict:"EA",replace:!0,transclude:!0,require:"^progress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(a,b,c,d){d.addBar(a,b)}}}).directive("progressbar",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(a,b,c,d){d.addBar(a,angular.element(b.children()[0]))}}}),angular.module("ui.bootstrap.rating",[]).constant("ratingConfig",{max:5,stateOn:null,stateOff:null}).controller("RatingController",["$scope","$attrs","ratingConfig",function(a,b,c){var d={$setViewValue:angular.noop};this.init=function(e){d=e,d.$render=this.render,this.stateOn=angular.isDefined(b.stateOn)?a.$parent.$eval(b.stateOn):c.stateOn,this.stateOff=angular.isDefined(b.stateOff)?a.$parent.$eval(b.stateOff):c.stateOff;var f=angular.isDefined(b.ratingStates)?a.$parent.$eval(b.ratingStates):new Array(angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max);a.range=this.buildTemplateObjects(f)},this.buildTemplateObjects=function(a){for(var b=0,c=a.length;c>b;b++)a[b]=angular.extend({index:b},{stateOn:this.stateOn,stateOff:this.stateOff},a[b]);return a},a.rate=function(b){!a.readonly&&b>=0&&b<=a.range.length&&(d.$setViewValue(b),d.$render())},a.enter=function(b){a.readonly||(a.value=b),a.onHover({value:b})},a.reset=function(){a.value=d.$viewValue,a.onLeave()},a.onKeydown=function(b){/(37|38|39|40)/.test(b.which)&&(b.preventDefault(),b.stopPropagation(),a.rate(a.value+(38===b.which||39===b.which?1:-1)))},this.render=function(){a.value=d.$viewValue}}]).directive("rating",function(){return{restrict:"EA",require:["rating","ngModel"],scope:{readonly:"=?",onHover:"&",onLeave:"&"},controller:"RatingController",templateUrl:"template/rating/rating.html",replace:!0,link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f)}}}),angular.module("ui.bootstrap.tabs",[]).controller("TabsetController",["$scope",function(a){var b=this,c=b.tabs=a.tabs=[];b.select=function(a){angular.forEach(c,function(b){b.active&&b!==a&&(b.active=!1,b.onDeselect())}),a.active=!0,a.onSelect()},b.addTab=function(a){c.push(a),1===c.length?a.active=!0:a.active&&b.select(a)},b.removeTab=function(a){var d=c.indexOf(a);if(a.active&&c.length>1){var e=d==c.length-1?d-1:d+1;b.select(c[e])}c.splice(d,1)}}]).directive("tabset",function(){return{restrict:"EA",transclude:!0,replace:!0,scope:{type:"@"},controller:"TabsetController",templateUrl:"template/tabs/tabset.html",link:function(a,b,c){a.vertical=angular.isDefined(c.vertical)?a.$parent.$eval(c.vertical):!1,a.justified=angular.isDefined(c.justified)?a.$parent.$eval(c.justified):!1}}}).directive("tab",["$parse",function(a){return{require:"^tabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{active:"=?",heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},compile:function(b,c,d){return function(b,c,e,f){b.$watch("active",function(a){a&&f.select(b)}),b.disabled=!1,e.disabled&&b.$parent.$watch(a(e.disabled),function(a){b.disabled=!!a}),b.select=function(){b.disabled||(b.active=!0)},f.addTab(b),b.$on("$destroy",function(){f.removeTab(b)}),b.$transcludeFn=d}}}}]).directive("tabHeadingTransclude",[function(){return{restrict:"A",require:"^tab",link:function(a,b){a.$watch("headingElement",function(a){a&&(b.html(""),b.append(a))})}}}]).directive("tabContentTransclude",function(){function a(a){return a.tagName&&(a.hasAttribute("tab-heading")||a.hasAttribute("data-tab-heading")||"tab-heading"===a.tagName.toLowerCase()||"data-tab-heading"===a.tagName.toLowerCase())}return{restrict:"A",require:"^tabset",link:function(b,c,d){var e=b.$eval(d.tabContentTransclude);e.$transcludeFn(e.$parent,function(b){angular.forEach(b,function(b){a(b)?e.headingElement=b:c.append(b)})})}}}),angular.module("ui.bootstrap.timepicker",[]).constant("timepickerConfig",{hourStep:1,minuteStep:1,showMeridian:!0,meridians:null,readonlyInput:!1,mousewheel:!0}).controller("TimepickerController",["$scope","$attrs","$parse","$log","$locale","timepickerConfig",function(a,b,c,d,e,f){function g(){var b=parseInt(a.hours,10),c=a.showMeridian?b>0&&13>b:b>=0&&24>b;return c?(a.showMeridian&&(12===b&&(b=0),a.meridian===p[1]&&(b+=12)),b):void 0}function h(){var b=parseInt(a.minutes,10);return b>=0&&60>b?b:void 0}function i(a){return angular.isDefined(a)&&a.toString().length<2?"0"+a:a}function j(a){k(),o.$setViewValue(new Date(n)),l(a)}function k(){o.$setValidity("time",!0),a.invalidHours=!1,a.invalidMinutes=!1}function l(b){var c=n.getHours(),d=n.getMinutes();a.showMeridian&&(c=0===c||12===c?12:c%12),a.hours="h"===b?c:i(c),a.minutes="m"===b?d:i(d),a.meridian=n.getHours()<12?p[0]:p[1]}function m(a){var b=new Date(n.getTime()+6e4*a);n.setHours(b.getHours(),b.getMinutes()),j()}var n=new Date,o={$setViewValue:angular.noop},p=angular.isDefined(b.meridians)?a.$parent.$eval(b.meridians):f.meridians||e.DATETIME_FORMATS.AMPMS;this.init=function(c,d){o=c,o.$render=this.render;var e=d.eq(0),g=d.eq(1),h=angular.isDefined(b.mousewheel)?a.$parent.$eval(b.mousewheel):f.mousewheel;h&&this.setupMousewheelEvents(e,g),a.readonlyInput=angular.isDefined(b.readonlyInput)?a.$parent.$eval(b.readonlyInput):f.readonlyInput,this.setupInputEvents(e,g)};var q=f.hourStep;b.hourStep&&a.$parent.$watch(c(b.hourStep),function(a){q=parseInt(a,10)});var r=f.minuteStep;b.minuteStep&&a.$parent.$watch(c(b.minuteStep),function(a){r=parseInt(a,10)}),a.showMeridian=f.showMeridian,b.showMeridian&&a.$parent.$watch(c(b.showMeridian),function(b){if(a.showMeridian=!!b,o.$error.time){var c=g(),d=h();angular.isDefined(c)&&angular.isDefined(d)&&(n.setHours(c),j())}else l()}),this.setupMousewheelEvents=function(b,c){var d=function(a){a.originalEvent&&(a=a.originalEvent);var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0};b.bind("mousewheel wheel",function(b){a.$apply(d(b)?a.incrementHours():a.decrementHours()),b.preventDefault()}),c.bind("mousewheel wheel",function(b){a.$apply(d(b)?a.incrementMinutes():a.decrementMinutes()),b.preventDefault()})},this.setupInputEvents=function(b,c){if(a.readonlyInput)return a.updateHours=angular.noop,void(a.updateMinutes=angular.noop);var d=function(b,c){o.$setViewValue(null),o.$setValidity("time",!1),angular.isDefined(b)&&(a.invalidHours=b),angular.isDefined(c)&&(a.invalidMinutes=c)};a.updateHours=function(){var a=g();angular.isDefined(a)?(n.setHours(a),j("h")):d(!0)},b.bind("blur",function(){!a.invalidHours&&a.hours<10&&a.$apply(function(){a.hours=i(a.hours)})}),a.updateMinutes=function(){var a=h();angular.isDefined(a)?(n.setMinutes(a),j("m")):d(void 0,!0)},c.bind("blur",function(){!a.invalidMinutes&&a.minutes<10&&a.$apply(function(){a.minutes=i(a.minutes)})})},this.render=function(){var a=o.$modelValue?new Date(o.$modelValue):null;isNaN(a)?(o.$setValidity("time",!1),d.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(a&&(n=a),k(),l())},a.incrementHours=function(){m(60*q)},a.decrementHours=function(){m(60*-q)},a.incrementMinutes=function(){m(r)},a.decrementMinutes=function(){m(-r)},a.toggleMeridian=function(){m(720*(n.getHours()<12?1:-1))}}]).directive("timepicker",function(){return{restrict:"EA",require:["timepicker","?^ngModel"],controller:"TimepickerController",replace:!0,scope:{},templateUrl:"template/timepicker/timepicker.html",link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f,b.find("input"))}}}),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).factory("typeaheadParser",["$parse",function(a){var b=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/;return{parse:function(c){var d=c.match(b);if(!d)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+c+'".');return{itemName:d[3],source:a(d[4]),viewMapper:a(d[2]||d[1]),modelMapper:a(d[1])}}}}]).directive("typeahead",["$compile","$parse","$q","$timeout","$document","$position","typeaheadParser",function(a,b,c,d,e,f,g){var h=[9,13,27,38,40];return{require:"ngModel",link:function(i,j,k,l){var m,n=i.$eval(k.typeaheadMinLength)||1,o=i.$eval(k.typeaheadWaitMs)||0,p=i.$eval(k.typeaheadEditable)!==!1,q=b(k.typeaheadLoading).assign||angular.noop,r=b(k.typeaheadOnSelect),s=k.typeaheadInputFormatter?b(k.typeaheadInputFormatter):void 0,t=k.typeaheadAppendToBody?i.$eval(k.typeaheadAppendToBody):!1,u=b(k.ngModel).assign,v=g.parse(k.typeahead),w=i.$new();i.$on("$destroy",function(){w.$destroy()});var x="typeahead-"+w.$id+"-"+Math.floor(1e4*Math.random());j.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":x});var y=angular.element("
    ");y.attr({id:x,matches:"matches",active:"activeIdx",select:"select(activeIdx)",query:"query",position:"position"}),angular.isDefined(k.typeaheadTemplateUrl)&&y.attr("template-url",k.typeaheadTemplateUrl);var z=function(){w.matches=[],w.activeIdx=-1,j.attr("aria-expanded",!1)},A=function(a){return x+"-option-"+a};w.$watch("activeIdx",function(a){0>a?j.removeAttr("aria-activedescendant"):j.attr("aria-activedescendant",A(a))});var B=function(a){var b={$viewValue:a};q(i,!0),c.when(v.source(i,b)).then(function(c){var d=a===l.$viewValue;if(d&&m)if(c.length>0){w.activeIdx=0,w.matches.length=0;for(var e=0;e=n?o>0?(E(),D(a)):B(a):(q(i,!1),E(),z()),p?a:a?void l.$setValidity("editable",!1):(l.$setValidity("editable",!0),a)}),l.$formatters.push(function(a){var b,c,d={};return s?(d.$model=a,s(i,d)):(d[v.itemName]=a,b=v.viewMapper(i,d),d[v.itemName]=void 0,c=v.viewMapper(i,d),b!==c?b:a)}),w.select=function(a){var b,c,e={};e[v.itemName]=c=w.matches[a].model,b=v.modelMapper(i,e),u(i,b),l.$setValidity("editable",!0),r(i,{$item:c,$model:b,$label:v.viewMapper(i,e)}),z(),d(function(){j[0].focus()},0,!1)},j.bind("keydown",function(a){0!==w.matches.length&&-1!==h.indexOf(a.which)&&(a.preventDefault(),40===a.which?(w.activeIdx=(w.activeIdx+1)%w.matches.length,w.$digest()):38===a.which?(w.activeIdx=(w.activeIdx?w.activeIdx:w.matches.length)-1,w.$digest()):13===a.which||9===a.which?w.$apply(function(){w.select(w.activeIdx)}):27===a.which&&(a.stopPropagation(),z(),w.$digest()))}),j.bind("blur",function(){m=!1});var F=function(a){j[0]!==a.target&&(z(),w.$digest())};e.bind("click",F),i.$on("$destroy",function(){e.unbind("click",F)});var G=a(y)(w);t?e.find("body").append(G):j.after(G)}}}]).directive("typeaheadPopup",function(){return{restrict:"EA",scope:{matches:"=",query:"=",active:"=",position:"=",select:"&"},replace:!0,templateUrl:"template/typeahead/typeahead-popup.html",link:function(a,b,c){a.templateUrl=c.templateUrl,a.isOpen=function(){return a.matches.length>0},a.isActive=function(b){return a.active==b},a.selectActive=function(b){a.active=b},a.selectMatch=function(b){a.select({activeIdx:b})}}}}).directive("typeaheadMatch",["$http","$templateCache","$compile","$parse",function(a,b,c,d){return{restrict:"EA",scope:{index:"=",match:"=",query:"="},link:function(e,f,g){var h=d(g.templateUrl)(e.$parent)||"template/typeahead/typeahead-match.html";a.get(h,{cache:b}).success(function(a){f.replaceWith(c(a.trim())(e))})}}}]).filter("typeaheadHighlight",function(){function a(a){return a.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(b,c){return c?(""+b).replace(new RegExp(a(c),"gi"),"$&"):b}}),c("angular-bootstrap",["angular"],function(){}),angular.module("ui.bootstrap",["ui.bootstrap.tpls","ui.bootstrap.transition","ui.bootstrap.collapse","ui.bootstrap.accordion","ui.bootstrap.alert","ui.bootstrap.bindHtml","ui.bootstrap.buttons","ui.bootstrap.carousel","ui.bootstrap.dateparser","ui.bootstrap.position","ui.bootstrap.datepicker","ui.bootstrap.dropdown","ui.bootstrap.modal","ui.bootstrap.pagination","ui.bootstrap.tooltip","ui.bootstrap.popover","ui.bootstrap.progressbar","ui.bootstrap.rating","ui.bootstrap.tabs","ui.bootstrap.timepicker","ui.bootstrap.typeahead"]),angular.module("ui.bootstrap.tpls",["template/accordion/accordion-group.html","template/accordion/accordion.html","template/alert/alert.html","template/carousel/carousel.html","template/carousel/slide.html","template/datepicker/datepicker.html","template/datepicker/day.html","template/datepicker/month.html","template/datepicker/popup.html","template/datepicker/year.html","template/modal/backdrop.html","template/modal/window.html","template/pagination/pager.html","template/pagination/pagination.html","template/tooltip/tooltip-html-unsafe-popup.html","template/tooltip/tooltip-popup.html","template/popover/popover.html","template/progressbar/bar.html","template/progressbar/progress.html","template/progressbar/progressbar.html","template/rating/rating.html","template/tabs/tab.html","template/tabs/tabset.html","template/timepicker/timepicker.html","template/typeahead/typeahead-match.html","template/typeahead/typeahead-popup.html"]),angular.module("ui.bootstrap.transition",[]).factory("$transition",["$q","$timeout","$rootScope",function(a,b,c){function d(a){for(var b in a)if(void 0!==f.style[b])return a[b]}var e=function(d,f,g){g=g||{};var h=a.defer(),i=e[g.animation?"animationEndEventName":"transitionEndEventName"],j=function(){c.$apply(function(){d.unbind(i,j),h.resolve(d)})};return i&&d.bind(i,j),b(function(){angular.isString(f)?d.addClass(f):angular.isFunction(f)?f(d):angular.isObject(f)&&d.css(f),i||h.resolve(d)}),h.promise.cancel=function(){i&&d.unbind(i,j),h.reject("Transition cancelled")},h.promise},f=document.createElement("trans"),g={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd",transition:"transitionend"},h={WebkitTransition:"webkitAnimationEnd",MozTransition:"animationend",OTransition:"oAnimationEnd",transition:"animationend"};return e.transitionEndEventName=d(g),e.animationEndEventName=d(h),e}]),angular.module("ui.bootstrap.collapse",["ui.bootstrap.transition"]).directive("collapse",["$transition",function(a){return{link:function(b,c,d){function e(b){function d(){j===e&&(j=void 0)}var e=a(c,b);return j&&j.cancel(),j=e,e.then(d,d),e}function f(){k?(k=!1,g()):(c.removeClass("collapse").addClass("collapsing"),e({height:c[0].scrollHeight+"px"}).then(g))}function g(){c.removeClass("collapsing"),c.addClass("collapse in"),c.css({height:"auto"})}function h(){k?(k=!1,i(),c.css({height:0})):(c.css({height:c[0].scrollHeight+"px"}),c[0].offsetWidth,c.removeClass("collapse in").addClass("collapsing"),e({height:0}).then(i))}function i(){c.removeClass("collapsing"),c.addClass("collapse")}var j,k=!0;b.$watch(d.collapse,function(a){a?h():f()})}}}]),angular.module("ui.bootstrap.accordion",["ui.bootstrap.collapse"]).constant("accordionConfig",{closeOthers:!0}).controller("AccordionController",["$scope","$attrs","accordionConfig",function(a,b,c){this.groups=[],this.closeOthers=function(d){var e=angular.isDefined(b.closeOthers)?a.$eval(b.closeOthers):c.closeOthers;e&&angular.forEach(this.groups,function(a){a!==d&&(a.isOpen=!1)})},this.addGroup=function(a){var b=this;this.groups.push(a),a.$on("$destroy",function(){b.removeGroup(a)})},this.removeGroup=function(a){var b=this.groups.indexOf(a);-1!==b&&this.groups.splice(b,1)}}]).directive("accordion",function(){return{restrict:"EA",controller:"AccordionController",transclude:!0,replace:!1,templateUrl:"template/accordion/accordion.html"}}).directive("accordionGroup",function(){return{require:"^accordion",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/accordion/accordion-group.html",scope:{heading:"@",isOpen:"=?",isDisabled:"=?"},controller:function(){this.setHeading=function(a){this.heading=a}},link:function(a,b,c,d){d.addGroup(a),a.$watch("isOpen",function(b){b&&d.closeOthers(a)}),a.toggleOpen=function(){a.isDisabled||(a.isOpen=!a.isOpen)}}}}).directive("accordionHeading",function(){return{restrict:"EA",transclude:!0,template:"",replace:!0,require:"^accordionGroup",link:function(a,b,c,d,e){d.setHeading(e(a,function(){}))}}}).directive("accordionTransclude",function(){return{require:"^accordionGroup",link:function(a,b,c,d){a.$watch(function(){return d[c.accordionTransclude]},function(a){a&&(b.html(""),b.append(a))})}}}),angular.module("ui.bootstrap.alert",[]).controller("AlertController",["$scope","$attrs",function(a,b){a.closeable="close"in b}]).directive("alert",function(){return{restrict:"EA",controller:"AlertController",templateUrl:"template/alert/alert.html",transclude:!0,replace:!0,scope:{type:"@",close:"&"}}}),angular.module("ui.bootstrap.bindHtml",[]).directive("bindHtmlUnsafe",function(){return function(a,b,c){b.addClass("ng-binding").data("$binding",c.bindHtmlUnsafe),a.$watch(c.bindHtmlUnsafe,function(a){b.html(a||"")})}}),angular.module("ui.bootstrap.buttons",[]).constant("buttonConfig",{activeClass:"active",toggleEvent:"click"}).controller("ButtonsController",["buttonConfig",function(a){this.activeClass=a.activeClass||"active",this.toggleEvent=a.toggleEvent||"click"}]).directive("btnRadio",function(){return{require:["btnRadio","ngModel"],controller:"ButtonsController",link:function(a,b,c,d){var e=d[0],f=d[1];f.$render=function(){b.toggleClass(e.activeClass,angular.equals(f.$modelValue,a.$eval(c.btnRadio)))},b.bind(e.toggleEvent,function(){var d=b.hasClass(e.activeClass);(!d||angular.isDefined(c.uncheckable))&&a.$apply(function(){f.$setViewValue(d?null:a.$eval(c.btnRadio)),f.$render()})})}}}).directive("btnCheckbox",function(){return{require:["btnCheckbox","ngModel"],controller:"ButtonsController",link:function(a,b,c,d){function e(){return g(c.btnCheckboxTrue,!0) +}function f(){return g(c.btnCheckboxFalse,!1)}function g(b,c){var d=a.$eval(b);return angular.isDefined(d)?d:c}var h=d[0],i=d[1];i.$render=function(){b.toggleClass(h.activeClass,angular.equals(i.$modelValue,e()))},b.bind(h.toggleEvent,function(){a.$apply(function(){i.$setViewValue(b.hasClass(h.activeClass)?f():e()),i.$render()})})}}}),angular.module("ui.bootstrap.carousel",["ui.bootstrap.transition"]).controller("CarouselController",["$scope","$timeout","$transition",function(a,b,c){function d(){e();var c=+a.interval;!isNaN(c)&&c>=0&&(g=b(f,c))}function e(){g&&(b.cancel(g),g=null)}function f(){h?(a.next(),d()):a.pause()}var g,h,i=this,j=i.slides=a.slides=[],k=-1;i.currentSlide=null;var l=!1;i.select=a.select=function(e,f){function g(){l||(i.currentSlide&&angular.isString(f)&&!a.noTransition&&e.$element?(e.$element.addClass(f),e.$element[0].offsetWidth,angular.forEach(j,function(a){angular.extend(a,{direction:"",entering:!1,leaving:!1,active:!1})}),angular.extend(e,{direction:f,active:!0,entering:!0}),angular.extend(i.currentSlide||{},{direction:f,leaving:!0}),a.$currentTransition=c(e.$element,{}),function(b,c){a.$currentTransition.then(function(){h(b,c)},function(){h(b,c)})}(e,i.currentSlide)):h(e,i.currentSlide),i.currentSlide=e,k=m,d())}function h(b,c){angular.extend(b,{direction:"",active:!0,leaving:!1,entering:!1}),angular.extend(c||{},{direction:"",active:!1,leaving:!1,entering:!1}),a.$currentTransition=null}var m=j.indexOf(e);void 0===f&&(f=m>k?"next":"prev"),e&&e!==i.currentSlide&&(a.$currentTransition?(a.$currentTransition.cancel(),b(g)):g())},a.$on("$destroy",function(){l=!0}),i.indexOfSlide=function(a){return j.indexOf(a)},a.next=function(){var b=(k+1)%j.length;return a.$currentTransition?void 0:i.select(j[b],"next")},a.prev=function(){var b=0>k-1?j.length-1:k-1;return a.$currentTransition?void 0:i.select(j[b],"prev")},a.isActive=function(a){return i.currentSlide===a},a.$watch("interval",d),a.$on("$destroy",e),a.play=function(){h||(h=!0,d())},a.pause=function(){a.noPause||(h=!1,e())},i.addSlide=function(b,c){b.$element=c,j.push(b),1===j.length||b.active?(i.select(j[j.length-1]),1==j.length&&a.play()):b.active=!1},i.removeSlide=function(a){var b=j.indexOf(a);j.splice(b,1),j.length>0&&a.active?i.select(b>=j.length?j[b-1]:j[b]):k>b&&k--}}]).directive("carousel",[function(){return{restrict:"EA",transclude:!0,replace:!0,controller:"CarouselController",require:"carousel",templateUrl:"template/carousel/carousel.html",scope:{interval:"=",noTransition:"=",noPause:"="}}}]).directive("slide",function(){return{require:"^carousel",restrict:"EA",transclude:!0,replace:!0,templateUrl:"template/carousel/slide.html",scope:{active:"=?"},link:function(a,b,c,d){d.addSlide(a,b),a.$on("$destroy",function(){d.removeSlide(a)}),a.$watch("active",function(b){b&&d.select(a)})}}}),angular.module("ui.bootstrap.dateparser",[]).service("dateParser",["$locale","orderByFilter",function(a,b){function c(a){var c=[],d=a.split("");return angular.forEach(e,function(b,e){var f=a.indexOf(e);if(f>-1){a=a.split(""),d[f]="("+b.regex+")",a[f]="$";for(var g=f+1,h=f+e.length;h>g;g++)d[g]="",a[g]="$";a=a.join(""),c.push({index:f,apply:b.apply})}}),{regex:new RegExp("^"+d.join("")+"$"),map:b(c,"index")}}function d(a,b,c){return 1===b&&c>28?29===c&&(a%4===0&&a%100!==0||a%400===0):3===b||5===b||8===b||10===b?31>c:!0}this.parsers={};var e={yyyy:{regex:"\\d{4}",apply:function(a){this.year=+a}},yy:{regex:"\\d{2}",apply:function(a){this.year=+a+2e3}},y:{regex:"\\d{1,4}",apply:function(a){this.year=+a}},MMMM:{regex:a.DATETIME_FORMATS.MONTH.join("|"),apply:function(b){this.month=a.DATETIME_FORMATS.MONTH.indexOf(b)}},MMM:{regex:a.DATETIME_FORMATS.SHORTMONTH.join("|"),apply:function(b){this.month=a.DATETIME_FORMATS.SHORTMONTH.indexOf(b)}},MM:{regex:"0[1-9]|1[0-2]",apply:function(a){this.month=a-1}},M:{regex:"[1-9]|1[0-2]",apply:function(a){this.month=a-1}},dd:{regex:"[0-2][0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},d:{regex:"[1-2]?[0-9]{1}|3[0-1]{1}",apply:function(a){this.date=+a}},EEEE:{regex:a.DATETIME_FORMATS.DAY.join("|")},EEE:{regex:a.DATETIME_FORMATS.SHORTDAY.join("|")}};this.parse=function(b,e){if(!angular.isString(b)||!e)return b;e=a.DATETIME_FORMATS[e]||e,this.parsers[e]||(this.parsers[e]=c(e));var f=this.parsers[e],g=f.regex,h=f.map,i=b.match(g);if(i&&i.length){for(var j,k={year:1900,month:0,date:1,hours:0},l=1,m=i.length;m>l;l++){var n=h[l-1];n.apply&&n.apply.call(k,i[l])}return d(k.year,k.month,k.date)&&(j=new Date(k.year,k.month,k.date,k.hours)),j}}}]),angular.module("ui.bootstrap.position",[]).factory("$position",["$document","$window",function(a,b){function c(a,c){return a.currentStyle?a.currentStyle[c]:b.getComputedStyle?b.getComputedStyle(a)[c]:a.style[c]}function d(a){return"static"===(c(a,"position")||"static")}var e=function(b){for(var c=a[0],e=b.offsetParent||c;e&&e!==c&&d(e);)e=e.offsetParent;return e||c};return{position:function(b){var c=this.offset(b),d={top:0,left:0},f=e(b[0]);f!=a[0]&&(d=this.offset(angular.element(f)),d.top+=f.clientTop-f.scrollTop,d.left+=f.clientLeft-f.scrollLeft);var g=b[0].getBoundingClientRect();return{width:g.width||b.prop("offsetWidth"),height:g.height||b.prop("offsetHeight"),top:c.top-d.top,left:c.left-d.left}},offset:function(c){var d=c[0].getBoundingClientRect();return{width:d.width||c.prop("offsetWidth"),height:d.height||c.prop("offsetHeight"),top:d.top+(b.pageYOffset||a[0].documentElement.scrollTop),left:d.left+(b.pageXOffset||a[0].documentElement.scrollLeft)}},positionElements:function(a,b,c,d){var e,f,g,h,i=c.split("-"),j=i[0],k=i[1]||"center";e=d?this.offset(a):this.position(a),f=b.prop("offsetWidth"),g=b.prop("offsetHeight");var l={center:function(){return e.left+e.width/2-f/2},left:function(){return e.left},right:function(){return e.left+e.width}},m={center:function(){return e.top+e.height/2-g/2},top:function(){return e.top},bottom:function(){return e.top+e.height}};switch(j){case"right":h={top:m[k](),left:l[j]()};break;case"left":h={top:m[k](),left:e.left-f};break;case"bottom":h={top:m[j](),left:l[k]()};break;default:h={top:e.top-g,left:l[k]()}}return h}}}]),angular.module("ui.bootstrap.datepicker",["ui.bootstrap.dateparser","ui.bootstrap.position"]).constant("datepickerConfig",{formatDay:"dd",formatMonth:"MMMM",formatYear:"yyyy",formatDayHeader:"EEE",formatDayTitle:"MMMM yyyy",formatMonthTitle:"yyyy",datepickerMode:"day",minMode:"day",maxMode:"year",showWeeks:!0,startingDay:0,yearRange:20,minDate:null,maxDate:null}).controller("DatepickerController",["$scope","$attrs","$parse","$interpolate","$timeout","$log","dateFilter","datepickerConfig",function(a,b,c,d,e,f,g,h){var i=this,j={$setViewValue:angular.noop};this.modes=["day","month","year"],angular.forEach(["formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","minMode","maxMode","showWeeks","startingDay","yearRange"],function(c,e){i[c]=angular.isDefined(b[c])?8>e?d(b[c])(a.$parent):a.$parent.$eval(b[c]):h[c]}),angular.forEach(["minDate","maxDate"],function(d){b[d]?a.$parent.$watch(c(b[d]),function(a){i[d]=a?new Date(a):null,i.refreshView()}):i[d]=h[d]?new Date(h[d]):null}),a.datepickerMode=a.datepickerMode||h.datepickerMode,a.uniqueId="datepicker-"+a.$id+"-"+Math.floor(1e4*Math.random()),this.activeDate=angular.isDefined(b.initDate)?a.$parent.$eval(b.initDate):new Date,a.isActive=function(b){return 0===i.compare(b.date,i.activeDate)?(a.activeDateId=b.uid,!0):!1},this.init=function(a){j=a,j.$render=function(){i.render()}},this.render=function(){if(j.$modelValue){var a=new Date(j.$modelValue),b=!isNaN(a);b?this.activeDate=a:f.error('Datepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.'),j.$setValidity("date",b)}this.refreshView()},this.refreshView=function(){if(this.element){this._refreshView();var a=j.$modelValue?new Date(j.$modelValue):null;j.$setValidity("date-disabled",!a||this.element&&!this.isDisabled(a))}},this.createDateObject=function(a,b){var c=j.$modelValue?new Date(j.$modelValue):null;return{date:a,label:g(a,b),selected:c&&0===this.compare(a,c),disabled:this.isDisabled(a),current:0===this.compare(a,new Date)}},this.isDisabled=function(c){return this.minDate&&this.compare(c,this.minDate)<0||this.maxDate&&this.compare(c,this.maxDate)>0||b.dateDisabled&&a.dateDisabled({date:c,mode:a.datepickerMode})},this.split=function(a,b){for(var c=[];a.length>0;)c.push(a.splice(0,b));return c},a.select=function(b){if(a.datepickerMode===i.minMode){var c=j.$modelValue?new Date(j.$modelValue):new Date(0,0,0,0,0,0,0);c.setFullYear(b.getFullYear(),b.getMonth(),b.getDate()),j.$setViewValue(c),j.$render()}else i.activeDate=b,a.datepickerMode=i.modes[i.modes.indexOf(a.datepickerMode)-1]},a.move=function(a){var b=i.activeDate.getFullYear()+a*(i.step.years||0),c=i.activeDate.getMonth()+a*(i.step.months||0);i.activeDate.setFullYear(b,c,1),i.refreshView()},a.toggleMode=function(b){b=b||1,a.datepickerMode===i.maxMode&&1===b||a.datepickerMode===i.minMode&&-1===b||(a.datepickerMode=i.modes[i.modes.indexOf(a.datepickerMode)+b])},a.keys={13:"enter",32:"space",33:"pageup",34:"pagedown",35:"end",36:"home",37:"left",38:"up",39:"right",40:"down"};var k=function(){e(function(){i.element[0].focus()},0,!1)};a.$on("datepicker.focus",k),a.keydown=function(b){var c=a.keys[b.which];if(c&&!b.shiftKey&&!b.altKey)if(b.preventDefault(),b.stopPropagation(),"enter"===c||"space"===c){if(i.isDisabled(i.activeDate))return;a.select(i.activeDate),k()}else!b.ctrlKey||"up"!==c&&"down"!==c?(i.handleKeyDown(c,b),i.refreshView()):(a.toggleMode("up"===c?1:-1),k())}}]).directive("datepicker",function(){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/datepicker.html",scope:{datepickerMode:"=?",dateDisabled:"&"},require:["datepicker","?^ngModel"],controller:"DatepickerController",link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f)}}}).directive("daypicker",["dateFilter",function(a){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/day.html",require:"^datepicker",link:function(b,c,d,e){function f(a,b){return 1!==b||a%4!==0||a%100===0&&a%400!==0?i[b]:29}function g(a,b){var c=new Array(b),d=new Date(a),e=0;for(d.setHours(12);b>e;)c[e++]=new Date(d),d.setDate(d.getDate()+1);return c}function h(a){var b=new Date(a);b.setDate(b.getDate()+4-(b.getDay()||7));var c=b.getTime();return b.setMonth(0),b.setDate(1),Math.floor(Math.round((c-b)/864e5)/7)+1}b.showWeeks=e.showWeeks,e.step={months:1},e.element=c;var i=[31,28,31,30,31,30,31,31,30,31,30,31];e._refreshView=function(){var c=e.activeDate.getFullYear(),d=e.activeDate.getMonth(),f=new Date(c,d,1),i=e.startingDay-f.getDay(),j=i>0?7-i:-i,k=new Date(f);j>0&&k.setDate(-j+1);for(var l=g(k,42),m=0;42>m;m++)l[m]=angular.extend(e.createDateObject(l[m],e.formatDay),{secondary:l[m].getMonth()!==d,uid:b.uniqueId+"-"+m});b.labels=new Array(7);for(var n=0;7>n;n++)b.labels[n]={abbr:a(l[n].date,e.formatDayHeader),full:a(l[n].date,"EEEE")};if(b.title=a(e.activeDate,e.formatDayTitle),b.rows=e.split(l,7),b.showWeeks){b.weekNumbers=[];for(var o=h(b.rows[0][0].date),p=b.rows.length;b.weekNumbers.push(o++)f;f++)c[f]=angular.extend(e.createDateObject(new Date(d,f,1),e.formatMonth),{uid:b.uniqueId+"-"+f});b.title=a(e.activeDate,e.formatMonthTitle),b.rows=e.split(c,3)},e.compare=function(a,b){return new Date(a.getFullYear(),a.getMonth())-new Date(b.getFullYear(),b.getMonth())},e.handleKeyDown=function(a){var b=e.activeDate.getMonth();if("left"===a)b-=1;else if("up"===a)b-=3;else if("right"===a)b+=1;else if("down"===a)b+=3;else if("pageup"===a||"pagedown"===a){var c=e.activeDate.getFullYear()+("pageup"===a?-1:1);e.activeDate.setFullYear(c)}else"home"===a?b=0:"end"===a&&(b=11);e.activeDate.setMonth(b)},e.refreshView()}}}]).directive("yearpicker",["dateFilter",function(){return{restrict:"EA",replace:!0,templateUrl:"template/datepicker/year.html",require:"^datepicker",link:function(a,b,c,d){function e(a){return parseInt((a-1)/f,10)*f+1}var f=d.yearRange;d.step={years:f},d.element=b,d._refreshView=function(){for(var b=new Array(f),c=0,g=e(d.activeDate.getFullYear());f>c;c++)b[c]=angular.extend(d.createDateObject(new Date(g+c,0,1),d.formatYear),{uid:a.uniqueId+"-"+c});a.title=[b[0].label,b[f-1].label].join(" - "),a.rows=d.split(b,5)},d.compare=function(a,b){return a.getFullYear()-b.getFullYear()},d.handleKeyDown=function(a){var b=d.activeDate.getFullYear();"left"===a?b-=1:"up"===a?b-=5:"right"===a?b+=1:"down"===a?b+=5:"pageup"===a||"pagedown"===a?b+=("pageup"===a?-1:1)*d.step.years:"home"===a?b=e(d.activeDate.getFullYear()):"end"===a&&(b=e(d.activeDate.getFullYear())+f-1),d.activeDate.setFullYear(b)},d.refreshView()}}}]).constant("datepickerPopupConfig",{datepickerPopup:"yyyy-MM-dd",currentText:"Today",clearText:"Clear",closeText:"Done",closeOnDateSelection:!0,appendToBody:!1,showButtonBar:!0}).directive("datepickerPopup",["$compile","$parse","$document","$position","dateFilter","dateParser","datepickerPopupConfig",function(a,b,c,d,e,f,g){return{restrict:"EA",require:"ngModel",scope:{isOpen:"=?",currentText:"@",clearText:"@",closeText:"@",dateDisabled:"&"},link:function(h,i,j,k){function l(a){return a.replace(/([A-Z])/g,function(a){return"-"+a.toLowerCase()})}function m(a){if(a){if(angular.isDate(a)&&!isNaN(a))return k.$setValidity("date",!0),a;if(angular.isString(a)){var b=f.parse(a,n)||new Date(a);return isNaN(b)?void k.$setValidity("date",!1):(k.$setValidity("date",!0),b)}return void k.$setValidity("date",!1)}return k.$setValidity("date",!0),null}var n,o=angular.isDefined(j.closeOnDateSelection)?h.$parent.$eval(j.closeOnDateSelection):g.closeOnDateSelection,p=angular.isDefined(j.datepickerAppendToBody)?h.$parent.$eval(j.datepickerAppendToBody):g.appendToBody;h.showButtonBar=angular.isDefined(j.showButtonBar)?h.$parent.$eval(j.showButtonBar):g.showButtonBar,h.getText=function(a){return h[a+"Text"]||g[a+"Text"]},j.$observe("datepickerPopup",function(a){n=a||g.datepickerPopup,k.$render()});var q=angular.element("
    ");q.attr({"ng-model":"date","ng-change":"dateSelection()"});var r=angular.element(q.children()[0]);j.datepickerOptions&&angular.forEach(h.$parent.$eval(j.datepickerOptions),function(a,b){r.attr(l(b),a)}),h.watchData={},angular.forEach(["minDate","maxDate","datepickerMode"],function(a){if(j[a]){var c=b(j[a]);if(h.$parent.$watch(c,function(b){h.watchData[a]=b}),r.attr(l(a),"watchData."+a),"datepickerMode"===a){var d=c.assign;h.$watch("watchData."+a,function(a,b){a!==b&&d(h.$parent,a)})}}}),j.dateDisabled&&r.attr("date-disabled","dateDisabled({ date: date, mode: mode })"),k.$parsers.unshift(m),h.dateSelection=function(a){angular.isDefined(a)&&(h.date=a),k.$setViewValue(h.date),k.$render(),o&&(h.isOpen=!1,i[0].focus())},i.bind("input change keyup",function(){h.$apply(function(){h.date=k.$modelValue})}),k.$render=function(){var a=k.$viewValue?e(k.$viewValue,n):"";i.val(a),h.date=m(k.$modelValue)};var s=function(a){h.isOpen&&a.target!==i[0]&&h.$apply(function(){h.isOpen=!1})},t=function(a){h.keydown(a)};i.bind("keydown",t),h.keydown=function(a){27===a.which?(a.preventDefault(),a.stopPropagation(),h.close()):40!==a.which||h.isOpen||(h.isOpen=!0)},h.$watch("isOpen",function(a){a?(h.$broadcast("datepicker.focus"),h.position=p?d.offset(i):d.position(i),h.position.top=h.position.top+i.prop("offsetHeight"),c.bind("click",s)):c.unbind("click",s)}),h.select=function(a){if("today"===a){var b=new Date;angular.isDate(k.$modelValue)?(a=new Date(k.$modelValue),a.setFullYear(b.getFullYear(),b.getMonth(),b.getDate())):a=new Date(b.setHours(0,0,0,0))}h.dateSelection(a)},h.close=function(){h.isOpen=!1,i[0].focus()};var u=a(q)(h);q.remove(),p?c.find("body").append(u):i.after(u),h.$on("$destroy",function(){u.remove(),i.unbind("keydown",t),c.unbind("click",s)})}}}]).directive("datepickerPopupWrap",function(){return{restrict:"EA",replace:!0,transclude:!0,templateUrl:"template/datepicker/popup.html",link:function(a,b){b.bind("click",function(a){a.preventDefault(),a.stopPropagation()})}}}),angular.module("ui.bootstrap.dropdown",[]).constant("dropdownConfig",{openClass:"open"}).service("dropdownService",["$document",function(a){var b=null;this.open=function(e){b||(a.bind("click",c),a.bind("keydown",d)),b&&b!==e&&(b.isOpen=!1),b=e},this.close=function(e){b===e&&(b=null,a.unbind("click",c),a.unbind("keydown",d))};var c=function(a){var c=b.getToggleElement();a&&c&&c[0].contains(a.target)||b.$apply(function(){b.isOpen=!1})},d=function(a){27===a.which&&(b.focusToggleElement(),c())}}]).controller("DropdownController",["$scope","$attrs","$parse","dropdownConfig","dropdownService","$animate",function(a,b,c,d,e,f){var g,h=this,i=a.$new(),j=d.openClass,k=angular.noop,l=b.onToggle?c(b.onToggle):angular.noop;this.init=function(d){h.$element=d,b.isOpen&&(g=c(b.isOpen),k=g.assign,a.$watch(g,function(a){i.isOpen=!!a}))},this.toggle=function(a){return i.isOpen=arguments.length?!!a:!i.isOpen},this.isOpen=function(){return i.isOpen},i.getToggleElement=function(){return h.toggleElement},i.focusToggleElement=function(){h.toggleElement&&h.toggleElement[0].focus()},i.$watch("isOpen",function(b,c){f[b?"addClass":"removeClass"](h.$element,j),b?(i.focusToggleElement(),e.open(i)):e.close(i),k(a,b),angular.isDefined(b)&&b!==c&&l(a,{open:!!b})}),a.$on("$locationChangeSuccess",function(){i.isOpen=!1}),a.$on("$destroy",function(){i.$destroy()})}]).directive("dropdown",function(){return{restrict:"CA",controller:"DropdownController",link:function(a,b,c,d){d.init(b)}}}).directive("dropdownToggle",function(){return{restrict:"CA",require:"?^dropdown",link:function(a,b,c,d){if(d){d.toggleElement=b;var e=function(e){e.preventDefault(),b.hasClass("disabled")||c.disabled||a.$apply(function(){d.toggle()})};b.bind("click",e),b.attr({"aria-haspopup":!0,"aria-expanded":!1}),a.$watch(d.isOpen,function(a){b.attr("aria-expanded",!!a)}),a.$on("$destroy",function(){b.unbind("click",e)})}}}}),angular.module("ui.bootstrap.modal",["ui.bootstrap.transition"]).factory("$$stackedMap",function(){return{createNew:function(){var a=[];return{add:function(b,c){a.push({key:b,value:c})},get:function(b){for(var c=0;c0),i()})}function i(){if(k&&-1==g()){var a=l;j(k,l,150,function(){a.$destroy(),a=null}),k=void 0,l=void 0}}function j(c,d,e,f){function g(){g.done||(g.done=!0,c.remove(),f&&f())}d.animate=!1;var h=a.transitionEndEventName;if(h){var i=b(g,e);c.bind(h,function(){b.cancel(i),g(),d.$apply()})}else b(g)}var k,l,m="modal-open",n=f.createNew(),o={};return e.$watch(g,function(a){l&&(l.index=a)}),c.bind("keydown",function(a){var b;27===a.which&&(b=n.top(),b&&b.value.keyboard&&(a.preventDefault(),e.$apply(function(){o.dismiss(b.key,"escape key press")})))}),o.open=function(a,b){n.add(a,{deferred:b.deferred,modalScope:b.scope,backdrop:b.backdrop,keyboard:b.keyboard});var f=c.find("body").eq(0),h=g();if(h>=0&&!k){l=e.$new(!0),l.index=h;var i=angular.element("
    ");i.attr("backdrop-class",b.backdropClass),k=d(i)(l),f.append(k)}var j=angular.element("
    ");j.attr({"template-url":b.windowTemplateUrl,"window-class":b.windowClass,size:b.size,index:n.length()-1,animate:"animate"}).html(b.content);var o=d(j)(b.scope);n.top().value.modalDomEl=o,f.append(o),f.addClass(m)},o.close=function(a,b){var c=n.get(a);c&&(c.value.deferred.resolve(b),h(a))},o.dismiss=function(a,b){var c=n.get(a);c&&(c.value.deferred.reject(b),h(a))},o.dismissAll=function(a){for(var b=this.getTop();b;)this.dismiss(b.key,a),b=this.getTop()},o.getTop=function(){return n.top()},o}]).provider("$modal",function(){var a={options:{backdrop:!0,keyboard:!0},$get:["$injector","$rootScope","$q","$http","$templateCache","$controller","$modalStack",function(b,c,d,e,f,g,h){function i(a){return a.template?d.when(a.template):e.get(angular.isFunction(a.templateUrl)?a.templateUrl():a.templateUrl,{cache:f}).then(function(a){return a.data})}function j(a){var c=[];return angular.forEach(a,function(a){(angular.isFunction(a)||angular.isArray(a))&&c.push(d.when(b.invoke(a)))}),c}var k={};return k.open=function(b){var e=d.defer(),f=d.defer(),k={result:e.promise,opened:f.promise,close:function(a){h.close(k,a)},dismiss:function(a){h.dismiss(k,a)}};if(b=angular.extend({},a.options,b),b.resolve=b.resolve||{},!b.template&&!b.templateUrl)throw new Error("One of template or templateUrl options is required.");var l=d.all([i(b)].concat(j(b.resolve)));return l.then(function(a){var d=(b.scope||c).$new();d.$close=k.close,d.$dismiss=k.dismiss;var f,i={},j=1;b.controller&&(i.$scope=d,i.$modalInstance=k,angular.forEach(b.resolve,function(b,c){i[c]=a[j++]}),f=g(b.controller,i),b.controllerAs&&(d[b.controllerAs]=f)),h.open(k,{scope:d,deferred:e,content:a[0],backdrop:b.backdrop,keyboard:b.keyboard,backdropClass:b.backdropClass,windowClass:b.windowClass,windowTemplateUrl:b.windowTemplateUrl,size:b.size})},function(a){e.reject(a)}),l.then(function(){f.resolve(!0)},function(){f.reject(!1)}),k},k}]};return a}),angular.module("ui.bootstrap.pagination",[]).controller("PaginationController",["$scope","$attrs","$parse",function(a,b,c){var d=this,e={$setViewValue:angular.noop},f=b.numPages?c(b.numPages).assign:angular.noop;this.init=function(f,g){e=f,this.config=g,e.$render=function(){d.render()},b.itemsPerPage?a.$parent.$watch(c(b.itemsPerPage),function(b){d.itemsPerPage=parseInt(b,10),a.totalPages=d.calculateTotalPages()}):this.itemsPerPage=g.itemsPerPage},this.calculateTotalPages=function(){var b=this.itemsPerPage<1?1:Math.ceil(a.totalItems/this.itemsPerPage);return Math.max(b||0,1)},this.render=function(){a.page=parseInt(e.$viewValue,10)||1},a.selectPage=function(b){a.page!==b&&b>0&&b<=a.totalPages&&(e.$setViewValue(b),e.$render())},a.getText=function(b){return a[b+"Text"]||d.config[b+"Text"]},a.noPrevious=function(){return 1===a.page},a.noNext=function(){return a.page===a.totalPages},a.$watch("totalItems",function(){a.totalPages=d.calculateTotalPages()}),a.$watch("totalPages",function(b){f(a.$parent,b),a.page>b?a.selectPage(b):e.$render()})}]).constant("paginationConfig",{itemsPerPage:10,boundaryLinks:!1,directionLinks:!0,firstText:"First",previousText:"Previous",nextText:"Next",lastText:"Last",rotate:!0}).directive("pagination",["$parse","paginationConfig",function(a,b){return{restrict:"EA",scope:{totalItems:"=",firstText:"@",previousText:"@",nextText:"@",lastText:"@"},require:["pagination","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pagination.html",replace:!0,link:function(c,d,e,f){function g(a,b,c){return{number:a,text:b,active:c}}function h(a,b){var c=[],d=1,e=b,f=angular.isDefined(k)&&b>k;f&&(l?(d=Math.max(a-Math.floor(k/2),1),e=d+k-1,e>b&&(e=b,d=e-k+1)):(d=(Math.ceil(a/k)-1)*k+1,e=Math.min(d+k-1,b)));for(var h=d;e>=h;h++){var i=g(h,h,h===a);c.push(i)}if(f&&!l){if(d>1){var j=g(d-1,"...",!1);c.unshift(j)}if(b>e){var m=g(e+1,"...",!1);c.push(m)}}return c}var i=f[0],j=f[1];if(j){var k=angular.isDefined(e.maxSize)?c.$parent.$eval(e.maxSize):b.maxSize,l=angular.isDefined(e.rotate)?c.$parent.$eval(e.rotate):b.rotate;c.boundaryLinks=angular.isDefined(e.boundaryLinks)?c.$parent.$eval(e.boundaryLinks):b.boundaryLinks,c.directionLinks=angular.isDefined(e.directionLinks)?c.$parent.$eval(e.directionLinks):b.directionLinks,i.init(j,b),e.maxSize&&c.$parent.$watch(a(e.maxSize),function(a){k=parseInt(a,10),i.render()});var m=i.render;i.render=function(){m(),c.page>0&&c.page<=c.totalPages&&(c.pages=h(c.page,c.totalPages))}}}}}]).constant("pagerConfig",{itemsPerPage:10,previousText:"« Previous",nextText:"Next »",align:!0}).directive("pager",["pagerConfig",function(a){return{restrict:"EA",scope:{totalItems:"=",previousText:"@",nextText:"@"},require:["pager","?ngModel"],controller:"PaginationController",templateUrl:"template/pagination/pager.html",replace:!0,link:function(b,c,d,e){var f=e[0],g=e[1];g&&(b.align=angular.isDefined(d.align)?b.$parent.$eval(d.align):a.align,f.init(g,a))}}}]),angular.module("ui.bootstrap.tooltip",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).provider("$tooltip",function(){function a(a){var b=/[A-Z]/g,c="-";return a.replace(b,function(a,b){return(b?c:"")+a.toLowerCase()})}var b={placement:"top",animation:!0,popupDelay:0},c={mouseenter:"mouseleave",click:"click",focus:"blur"},d={};this.options=function(a){angular.extend(d,a)},this.setTriggers=function(a){angular.extend(c,a)},this.$get=["$window","$compile","$timeout","$parse","$document","$position","$interpolate",function(e,f,g,h,i,j,k){return function(e,l,m){function n(a){var b=a||o.trigger||m,d=c[b]||b;return{show:b,hide:d}}var o=angular.extend({},b,d),p=a(e),q=k.startSymbol(),r=k.endSymbol(),s="
    ';return{restrict:"EA",scope:!0,compile:function(){var a=f(s);return function(b,c,d){function f(){b.tt_isOpen?m():k()}function k(){(!y||b.$eval(d[l+"Enable"]))&&(b.tt_popupDelay?v||(v=g(p,b.tt_popupDelay,!1),v.then(function(a){a()})):p()())}function m(){b.$apply(function(){q()})}function p(){return v=null,u&&(g.cancel(u),u=null),b.tt_content?(r(),t.css({top:0,left:0,display:"block"}),w?i.find("body").append(t):c.after(t),z(),b.tt_isOpen=!0,b.$digest(),z):angular.noop}function q(){b.tt_isOpen=!1,g.cancel(v),v=null,b.tt_animation?u||(u=g(s,500)):s()}function r(){t&&s(),t=a(b,function(){}),b.$digest()}function s(){u=null,t&&(t.remove(),t=null)}var t,u,v,w=angular.isDefined(o.appendToBody)?o.appendToBody:!1,x=n(void 0),y=angular.isDefined(d[l+"Enable"]),z=function(){var a=j.positionElements(c,t,b.tt_placement,w);a.top+="px",a.left+="px",t.css(a)};b.tt_isOpen=!1,d.$observe(e,function(a){b.tt_content=a,!a&&b.tt_isOpen&&q()}),d.$observe(l+"Title",function(a){b.tt_title=a}),d.$observe(l+"Placement",function(a){b.tt_placement=angular.isDefined(a)?a:o.placement}),d.$observe(l+"PopupDelay",function(a){var c=parseInt(a,10);b.tt_popupDelay=isNaN(c)?o.popupDelay:c});var A=function(){c.unbind(x.show,k),c.unbind(x.hide,m)};d.$observe(l+"Trigger",function(a){A(),x=n(a),x.show===x.hide?c.bind(x.show,f):(c.bind(x.show,k),c.bind(x.hide,m))});var B=b.$eval(d[l+"Animation"]);b.tt_animation=angular.isDefined(B)?!!B:o.animation,d.$observe(l+"AppendToBody",function(a){w=angular.isDefined(a)?h(a)(b):w}),w&&b.$on("$locationChangeSuccess",function(){b.tt_isOpen&&q()}),b.$on("$destroy",function(){g.cancel(u),g.cancel(v),A(),s()})}}}}}]}).directive("tooltipPopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-popup.html"}}).directive("tooltip",["$tooltip",function(a){return a("tooltip","tooltip","mouseenter")}]).directive("tooltipHtmlUnsafePopup",function(){return{restrict:"EA",replace:!0,scope:{content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/tooltip/tooltip-html-unsafe-popup.html"}}).directive("tooltipHtmlUnsafe",["$tooltip",function(a){return a("tooltipHtmlUnsafe","tooltip","mouseenter")}]),angular.module("ui.bootstrap.popover",["ui.bootstrap.tooltip"]).directive("popoverPopup",function(){return{restrict:"EA",replace:!0,scope:{title:"@",content:"@",placement:"@",animation:"&",isOpen:"&"},templateUrl:"template/popover/popover.html"}}).directive("popover",["$tooltip",function(a){return a("popover","popover","click")}]),angular.module("ui.bootstrap.progressbar",[]).constant("progressConfig",{animate:!0,max:100}).controller("ProgressController",["$scope","$attrs","progressConfig",function(a,b,c){var d=this,e=angular.isDefined(b.animate)?a.$parent.$eval(b.animate):c.animate;this.bars=[],a.max=angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max,this.addBar=function(b,c){e||c.css({transition:"none"}),this.bars.push(b),b.$watch("value",function(c){b.percent=+(100*c/a.max).toFixed(2)}),b.$on("$destroy",function(){c=null,d.removeBar(b)})},this.removeBar=function(a){this.bars.splice(this.bars.indexOf(a),1)}}]).directive("progress",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",require:"progress",scope:{},templateUrl:"template/progressbar/progress.html"}}).directive("bar",function(){return{restrict:"EA",replace:!0,transclude:!0,require:"^progress",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/bar.html",link:function(a,b,c,d){d.addBar(a,b)}}}).directive("progressbar",function(){return{restrict:"EA",replace:!0,transclude:!0,controller:"ProgressController",scope:{value:"=",type:"@"},templateUrl:"template/progressbar/progressbar.html",link:function(a,b,c,d){d.addBar(a,angular.element(b.children()[0]))}}}),angular.module("ui.bootstrap.rating",[]).constant("ratingConfig",{max:5,stateOn:null,stateOff:null}).controller("RatingController",["$scope","$attrs","ratingConfig",function(a,b,c){var d={$setViewValue:angular.noop};this.init=function(e){d=e,d.$render=this.render,this.stateOn=angular.isDefined(b.stateOn)?a.$parent.$eval(b.stateOn):c.stateOn,this.stateOff=angular.isDefined(b.stateOff)?a.$parent.$eval(b.stateOff):c.stateOff;var f=angular.isDefined(b.ratingStates)?a.$parent.$eval(b.ratingStates):new Array(angular.isDefined(b.max)?a.$parent.$eval(b.max):c.max);a.range=this.buildTemplateObjects(f)},this.buildTemplateObjects=function(a){for(var b=0,c=a.length;c>b;b++)a[b]=angular.extend({index:b},{stateOn:this.stateOn,stateOff:this.stateOff},a[b]);return a},a.rate=function(b){!a.readonly&&b>=0&&b<=a.range.length&&(d.$setViewValue(b),d.$render())},a.enter=function(b){a.readonly||(a.value=b),a.onHover({value:b}) +},a.reset=function(){a.value=d.$viewValue,a.onLeave()},a.onKeydown=function(b){/(37|38|39|40)/.test(b.which)&&(b.preventDefault(),b.stopPropagation(),a.rate(a.value+(38===b.which||39===b.which?1:-1)))},this.render=function(){a.value=d.$viewValue}}]).directive("rating",function(){return{restrict:"EA",require:["rating","ngModel"],scope:{readonly:"=?",onHover:"&",onLeave:"&"},controller:"RatingController",templateUrl:"template/rating/rating.html",replace:!0,link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f)}}}),angular.module("ui.bootstrap.tabs",[]).controller("TabsetController",["$scope",function(a){var b=this,c=b.tabs=a.tabs=[];b.select=function(a){angular.forEach(c,function(b){b.active&&b!==a&&(b.active=!1,b.onDeselect())}),a.active=!0,a.onSelect()},b.addTab=function(a){c.push(a),1===c.length?a.active=!0:a.active&&b.select(a)},b.removeTab=function(a){var d=c.indexOf(a);if(a.active&&c.length>1){var e=d==c.length-1?d-1:d+1;b.select(c[e])}c.splice(d,1)}}]).directive("tabset",function(){return{restrict:"EA",transclude:!0,replace:!0,scope:{type:"@"},controller:"TabsetController",templateUrl:"template/tabs/tabset.html",link:function(a,b,c){a.vertical=angular.isDefined(c.vertical)?a.$parent.$eval(c.vertical):!1,a.justified=angular.isDefined(c.justified)?a.$parent.$eval(c.justified):!1}}}).directive("tab",["$parse",function(a){return{require:"^tabset",restrict:"EA",replace:!0,templateUrl:"template/tabs/tab.html",transclude:!0,scope:{active:"=?",heading:"@",onSelect:"&select",onDeselect:"&deselect"},controller:function(){},compile:function(b,c,d){return function(b,c,e,f){b.$watch("active",function(a){a&&f.select(b)}),b.disabled=!1,e.disabled&&b.$parent.$watch(a(e.disabled),function(a){b.disabled=!!a}),b.select=function(){b.disabled||(b.active=!0)},f.addTab(b),b.$on("$destroy",function(){f.removeTab(b)}),b.$transcludeFn=d}}}}]).directive("tabHeadingTransclude",[function(){return{restrict:"A",require:"^tab",link:function(a,b){a.$watch("headingElement",function(a){a&&(b.html(""),b.append(a))})}}}]).directive("tabContentTransclude",function(){function a(a){return a.tagName&&(a.hasAttribute("tab-heading")||a.hasAttribute("data-tab-heading")||"tab-heading"===a.tagName.toLowerCase()||"data-tab-heading"===a.tagName.toLowerCase())}return{restrict:"A",require:"^tabset",link:function(b,c,d){var e=b.$eval(d.tabContentTransclude);e.$transcludeFn(e.$parent,function(b){angular.forEach(b,function(b){a(b)?e.headingElement=b:c.append(b)})})}}}),angular.module("ui.bootstrap.timepicker",[]).constant("timepickerConfig",{hourStep:1,minuteStep:1,showMeridian:!0,meridians:null,readonlyInput:!1,mousewheel:!0}).controller("TimepickerController",["$scope","$attrs","$parse","$log","$locale","timepickerConfig",function(a,b,c,d,e,f){function g(){var b=parseInt(a.hours,10),c=a.showMeridian?b>0&&13>b:b>=0&&24>b;return c?(a.showMeridian&&(12===b&&(b=0),a.meridian===p[1]&&(b+=12)),b):void 0}function h(){var b=parseInt(a.minutes,10);return b>=0&&60>b?b:void 0}function i(a){return angular.isDefined(a)&&a.toString().length<2?"0"+a:a}function j(a){k(),o.$setViewValue(new Date(n)),l(a)}function k(){o.$setValidity("time",!0),a.invalidHours=!1,a.invalidMinutes=!1}function l(b){var c=n.getHours(),d=n.getMinutes();a.showMeridian&&(c=0===c||12===c?12:c%12),a.hours="h"===b?c:i(c),a.minutes="m"===b?d:i(d),a.meridian=n.getHours()<12?p[0]:p[1]}function m(a){var b=new Date(n.getTime()+6e4*a);n.setHours(b.getHours(),b.getMinutes()),j()}var n=new Date,o={$setViewValue:angular.noop},p=angular.isDefined(b.meridians)?a.$parent.$eval(b.meridians):f.meridians||e.DATETIME_FORMATS.AMPMS;this.init=function(c,d){o=c,o.$render=this.render;var e=d.eq(0),g=d.eq(1),h=angular.isDefined(b.mousewheel)?a.$parent.$eval(b.mousewheel):f.mousewheel;h&&this.setupMousewheelEvents(e,g),a.readonlyInput=angular.isDefined(b.readonlyInput)?a.$parent.$eval(b.readonlyInput):f.readonlyInput,this.setupInputEvents(e,g)};var q=f.hourStep;b.hourStep&&a.$parent.$watch(c(b.hourStep),function(a){q=parseInt(a,10)});var r=f.minuteStep;b.minuteStep&&a.$parent.$watch(c(b.minuteStep),function(a){r=parseInt(a,10)}),a.showMeridian=f.showMeridian,b.showMeridian&&a.$parent.$watch(c(b.showMeridian),function(b){if(a.showMeridian=!!b,o.$error.time){var c=g(),d=h();angular.isDefined(c)&&angular.isDefined(d)&&(n.setHours(c),j())}else l()}),this.setupMousewheelEvents=function(b,c){var d=function(a){a.originalEvent&&(a=a.originalEvent);var b=a.wheelDelta?a.wheelDelta:-a.deltaY;return a.detail||b>0};b.bind("mousewheel wheel",function(b){a.$apply(d(b)?a.incrementHours():a.decrementHours()),b.preventDefault()}),c.bind("mousewheel wheel",function(b){a.$apply(d(b)?a.incrementMinutes():a.decrementMinutes()),b.preventDefault()})},this.setupInputEvents=function(b,c){if(a.readonlyInput)return a.updateHours=angular.noop,void(a.updateMinutes=angular.noop);var d=function(b,c){o.$setViewValue(null),o.$setValidity("time",!1),angular.isDefined(b)&&(a.invalidHours=b),angular.isDefined(c)&&(a.invalidMinutes=c)};a.updateHours=function(){var a=g();angular.isDefined(a)?(n.setHours(a),j("h")):d(!0)},b.bind("blur",function(){!a.invalidHours&&a.hours<10&&a.$apply(function(){a.hours=i(a.hours)})}),a.updateMinutes=function(){var a=h();angular.isDefined(a)?(n.setMinutes(a),j("m")):d(void 0,!0)},c.bind("blur",function(){!a.invalidMinutes&&a.minutes<10&&a.$apply(function(){a.minutes=i(a.minutes)})})},this.render=function(){var a=o.$modelValue?new Date(o.$modelValue):null;isNaN(a)?(o.$setValidity("time",!1),d.error('Timepicker directive: "ng-model" value must be a Date object, a number of milliseconds since 01.01.1970 or a string representing an RFC2822 or ISO 8601 date.')):(a&&(n=a),k(),l())},a.incrementHours=function(){m(60*q)},a.decrementHours=function(){m(60*-q)},a.incrementMinutes=function(){m(r)},a.decrementMinutes=function(){m(-r)},a.toggleMeridian=function(){m(720*(n.getHours()<12?1:-1))}}]).directive("timepicker",function(){return{restrict:"EA",require:["timepicker","?^ngModel"],controller:"TimepickerController",replace:!0,scope:{},templateUrl:"template/timepicker/timepicker.html",link:function(a,b,c,d){var e=d[0],f=d[1];f&&e.init(f,b.find("input"))}}}),angular.module("ui.bootstrap.typeahead",["ui.bootstrap.position","ui.bootstrap.bindHtml"]).factory("typeaheadParser",["$parse",function(a){var b=/^\s*([\s\S]+?)(?:\s+as\s+([\s\S]+?))?\s+for\s+(?:([\$\w][\$\w\d]*))\s+in\s+([\s\S]+?)$/;return{parse:function(c){var d=c.match(b);if(!d)throw new Error('Expected typeahead specification in form of "_modelValue_ (as _label_)? for _item_ in _collection_" but got "'+c+'".');return{itemName:d[3],source:a(d[4]),viewMapper:a(d[2]||d[1]),modelMapper:a(d[1])}}}}]).directive("typeahead",["$compile","$parse","$q","$timeout","$document","$position","typeaheadParser",function(a,b,c,d,e,f,g){var h=[9,13,27,38,40];return{require:"ngModel",link:function(i,j,k,l){var m,n=i.$eval(k.typeaheadMinLength)||1,o=i.$eval(k.typeaheadWaitMs)||0,p=i.$eval(k.typeaheadEditable)!==!1,q=b(k.typeaheadLoading).assign||angular.noop,r=b(k.typeaheadOnSelect),s=k.typeaheadInputFormatter?b(k.typeaheadInputFormatter):void 0,t=k.typeaheadAppendToBody?i.$eval(k.typeaheadAppendToBody):!1,u=b(k.ngModel).assign,v=g.parse(k.typeahead),w=i.$new();i.$on("$destroy",function(){w.$destroy()});var x="typeahead-"+w.$id+"-"+Math.floor(1e4*Math.random());j.attr({"aria-autocomplete":"list","aria-expanded":!1,"aria-owns":x});var y=angular.element("
    ");y.attr({id:x,matches:"matches",active:"activeIdx",select:"select(activeIdx)",query:"query",position:"position"}),angular.isDefined(k.typeaheadTemplateUrl)&&y.attr("template-url",k.typeaheadTemplateUrl);var z=function(){w.matches=[],w.activeIdx=-1,j.attr("aria-expanded",!1)},A=function(a){return x+"-option-"+a};w.$watch("activeIdx",function(a){0>a?j.removeAttr("aria-activedescendant"):j.attr("aria-activedescendant",A(a))});var B=function(a){var b={$viewValue:a};q(i,!0),c.when(v.source(i,b)).then(function(c){var d=a===l.$viewValue;if(d&&m)if(c.length>0){w.activeIdx=0,w.matches.length=0;for(var e=0;e=n?o>0?(E(),D(a)):B(a):(q(i,!1),E(),z()),p?a:a?void l.$setValidity("editable",!1):(l.$setValidity("editable",!0),a)}),l.$formatters.push(function(a){var b,c,d={};return s?(d.$model=a,s(i,d)):(d[v.itemName]=a,b=v.viewMapper(i,d),d[v.itemName]=void 0,c=v.viewMapper(i,d),b!==c?b:a)}),w.select=function(a){var b,c,e={};e[v.itemName]=c=w.matches[a].model,b=v.modelMapper(i,e),u(i,b),l.$setValidity("editable",!0),r(i,{$item:c,$model:b,$label:v.viewMapper(i,e)}),z(),d(function(){j[0].focus()},0,!1)},j.bind("keydown",function(a){0!==w.matches.length&&-1!==h.indexOf(a.which)&&(a.preventDefault(),40===a.which?(w.activeIdx=(w.activeIdx+1)%w.matches.length,w.$digest()):38===a.which?(w.activeIdx=(w.activeIdx?w.activeIdx:w.matches.length)-1,w.$digest()):13===a.which||9===a.which?w.$apply(function(){w.select(w.activeIdx)}):27===a.which&&(a.stopPropagation(),z(),w.$digest()))}),j.bind("blur",function(){m=!1});var F=function(a){j[0]!==a.target&&(z(),w.$digest())};e.bind("click",F),i.$on("$destroy",function(){e.unbind("click",F)});var G=a(y)(w);t?e.find("body").append(G):j.after(G)}}}]).directive("typeaheadPopup",function(){return{restrict:"EA",scope:{matches:"=",query:"=",active:"=",position:"=",select:"&"},replace:!0,templateUrl:"template/typeahead/typeahead-popup.html",link:function(a,b,c){a.templateUrl=c.templateUrl,a.isOpen=function(){return a.matches.length>0},a.isActive=function(b){return a.active==b},a.selectActive=function(b){a.active=b},a.selectMatch=function(b){a.select({activeIdx:b})}}}}).directive("typeaheadMatch",["$http","$templateCache","$compile","$parse",function(a,b,c,d){return{restrict:"EA",scope:{index:"=",match:"=",query:"="},link:function(e,f,g){var h=d(g.templateUrl)(e.$parent)||"template/typeahead/typeahead-match.html";a.get(h,{cache:b}).success(function(a){f.replaceWith(c(a.trim())(e))})}}}]).filter("typeaheadHighlight",function(){function a(a){return a.replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}return function(b,c){return c?(""+b).replace(new RegExp(a(c),"gi"),"$&"):b}}),angular.module("template/accordion/accordion-group.html",[]).run(["$templateCache",function(a){a.put("template/accordion/accordion-group.html",'
    \n
    \n

    \n {{heading}}\n

    \n
    \n
    \n
    \n
    \n
    ')}]),angular.module("template/accordion/accordion.html",[]).run(["$templateCache",function(a){a.put("template/accordion/accordion.html",'
    ')}]),angular.module("template/alert/alert.html",[]).run(["$templateCache",function(a){a.put("template/alert/alert.html",'\n')}]),angular.module("template/carousel/carousel.html",[]).run(["$templateCache",function(a){a.put("template/carousel/carousel.html",'\n')}]),angular.module("template/carousel/slide.html",[]).run(["$templateCache",function(a){a.put("template/carousel/slide.html","
    \n")}]),angular.module("template/datepicker/datepicker.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/datepicker.html",'
    \n \n \n \n
    ')}]),angular.module("template/datepicker/day.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/day.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
    {{label.abbr}}
    {{ weekNumbers[$index] }}\n \n
    \n')}]),angular.module("template/datepicker/month.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/month.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n')}]),angular.module("template/datepicker/popup.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/popup.html",'\n')}]),angular.module("template/datepicker/year.html",[]).run(["$templateCache",function(a){a.put("template/datepicker/year.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n
    \n \n
    \n')}]),angular.module("template/modal/backdrop.html",[]).run(["$templateCache",function(a){a.put("template/modal/backdrop.html",'\n')}]),angular.module("template/modal/window.html",[]).run(["$templateCache",function(a){a.put("template/modal/window.html",'')}]),angular.module("template/pagination/pager.html",[]).run(["$templateCache",function(a){a.put("template/pagination/pager.html",'')}]),angular.module("template/pagination/pagination.html",[]).run(["$templateCache",function(a){a.put("template/pagination/pagination.html",'')}]),angular.module("template/tooltip/tooltip-html-unsafe-popup.html",[]).run(["$templateCache",function(a){a.put("template/tooltip/tooltip-html-unsafe-popup.html",'
    \n
    \n
    \n
    \n')}]),angular.module("template/tooltip/tooltip-popup.html",[]).run(["$templateCache",function(a){a.put("template/tooltip/tooltip-popup.html",'
    \n
    \n
    \n
    \n')}]),angular.module("template/popover/popover.html",[]).run(["$templateCache",function(a){a.put("template/popover/popover.html",'
    \n
    \n\n
    \n

    \n
    \n
    \n
    \n')}]),angular.module("template/progressbar/bar.html",[]).run(["$templateCache",function(a){a.put("template/progressbar/bar.html",'
    ')}]),angular.module("template/progressbar/progress.html",[]).run(["$templateCache",function(a){a.put("template/progressbar/progress.html",'
    ')}]),angular.module("template/progressbar/progressbar.html",[]).run(["$templateCache",function(a){a.put("template/progressbar/progressbar.html",'
    \n
    \n
    ')}]),angular.module("template/rating/rating.html",[]).run(["$templateCache",function(a){a.put("template/rating/rating.html",'\n \n ({{ $index < value ? \'*\' : \' \' }})\n \n')}]),angular.module("template/tabs/tab.html",[]).run(["$templateCache",function(a){a.put("template/tabs/tab.html",'
  • \n {{heading}}\n
  • \n')}]),angular.module("template/tabs/tabset.html",[]).run(["$templateCache",function(a){a.put("template/tabs/tabset.html",'
    \n \n
    \n
    \n
    \n
    \n
    \n')}]),angular.module("template/timepicker/timepicker.html",[]).run(["$templateCache",function(a){a.put("template/timepicker/timepicker.html",'\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
     
    \n \n :\n \n
     
    \n')}]),angular.module("template/typeahead/typeahead-match.html",[]).run(["$templateCache",function(a){a.put("template/typeahead/typeahead-match.html",'')}]),angular.module("template/typeahead/typeahead-popup.html",[]).run(["$templateCache",function(a){a.put("template/typeahead/typeahead-popup.html",'\n')}]),c("angular-bootstrap-tpls",["angular","angular-bootstrap"],function(){}),!function(a,b){b["true"]=a,angular.module("textAngularSetup",[]).value("taOptions",{toolbar:[["h1","h2","h3","h4","h5","h6","p","pre","quote"],["bold","italics","underline","ul","ol","redo","undo","clear"],["justifyLeft","justifyCenter","justifyRight","indent","outdent"],["html","insertImage","insertLink","insertVideo"]],classes:{focussed:"focussed",toolbar:"btn-toolbar",toolbarGroup:"btn-group",toolbarButton:"btn btn-default",toolbarButtonActive:"active",disabled:"disabled",textEditor:"form-control",htmlEditor:"form-control"},setup:{textEditorSetup:function(){},htmlEditorSetup:function(){}},defaultFileDropHandler:function(a,b){var c=new FileReader;return"image"===a.type.substring(0,5)?(c.onload=function(){""!==c.result&&b("insertImage",c.result,!0)},c.readAsDataURL(a),!0):!1}}).value("taSelectableElements",["a","img"]).value("taCustomRenderers",[{selector:"img",customAttribute:"ta-insert-video",renderLogic:function(a){var b=angular.element(""),c=a.prop("attributes");angular.forEach(c,function(a){b.attr(a.name,a.value)}),b.attr("src",b.attr("ta-insert-video")),a.replaceWith(b)}}]).constant("taTranslations",{html:{buttontext:"Toggle HTML",tooltip:"Toggle html / Rich Text"},heading:{tooltip:"Heading "},p:{tooltip:"Paragraph"},pre:{tooltip:"Preformatted text"},ul:{tooltip:"Unordered List"},ol:{tooltip:"Ordered List"},quote:{tooltip:"Quote/unqoute selection or paragraph"},undo:{tooltip:"Undo"},redo:{tooltip:"Redo"},bold:{tooltip:"Bold"},italic:{tooltip:"Italic"},underline:{tooltip:"Underline"},justifyLeft:{tooltip:"Align text left"},justifyRight:{tooltip:"Align text right"},justifyCenter:{tooltip:"Center"},indent:{tooltip:"Increase indent"},outdent:{tooltip:"Decrease indent"},clear:{tooltip:"Clear formatting"},insertImage:{dialogPrompt:"Please enter an image URL to insert",tooltip:"Insert image",hotkey:"the - possibly language dependent hotkey ... for some future implementation"},insertVideo:{tooltip:"Insert video",dialogPrompt:"Please enter a youtube URL to embed"},insertLink:{tooltip:"Insert / edit link",dialogPrompt:"Please enter a URL to insert"}}).run(["taRegisterTool","$window","taTranslations","taSelection",function(a,b,c,d){a("html",{buttontext:c.html.buttontext,tooltiptext:c.html.tooltip,action:function(){this.$editor().switchView()},activeState:function(){return this.$editor().showHtml}});var e=function(a){return function(){return this.$editor().queryFormatBlockState(a)}},f=function(){return this.$editor().wrapSelection("formatBlock","<"+this.name.toUpperCase()+">")};angular.forEach(["h1","h2","h3","h4","h5","h6"],function(b){a(b.toLowerCase(),{buttontext:b.toUpperCase(),tooltiptext:c.heading.tooltip+b.charAt(1),action:f,activeState:e(b.toLowerCase())})}),a("p",{buttontext:"P",tooltiptext:c.p.tooltip,action:function(){return this.$editor().wrapSelection("formatBlock","

    ")},activeState:function(){return this.$editor().queryFormatBlockState("p")}}),a("pre",{buttontext:"pre",tooltiptext:c.pre.tooltip,action:function(){return this.$editor().wrapSelection("formatBlock","

    ")},activeState:function(){return this.$editor().queryFormatBlockState("pre")}}),a("ul",{iconclass:"fa fa-list-ul",tooltiptext:c.ul.tooltip,action:function(){return this.$editor().wrapSelection("insertUnorderedList",null)},activeState:function(){return this.$editor().queryCommandState("insertUnorderedList")}}),a("ol",{iconclass:"fa fa-list-ol",tooltiptext:c.ol.tooltip,action:function(){return this.$editor().wrapSelection("insertOrderedList",null)},activeState:function(){return this.$editor().queryCommandState("insertOrderedList")}}),a("quote",{iconclass:"fa fa-quote-right",tooltiptext:c.quote.tooltip,action:function(){return this.$editor().wrapSelection("formatBlock","
    ")},activeState:function(){return this.$editor().queryFormatBlockState("blockquote")}}),a("undo",{iconclass:"fa fa-undo",tooltiptext:c.undo.tooltip,action:function(){return this.$editor().wrapSelection("undo",null)}}),a("redo",{iconclass:"fa fa-repeat",tooltiptext:c.redo.tooltip,action:function(){return this.$editor().wrapSelection("redo",null)}}),a("bold",{iconclass:"fa fa-bold",tooltiptext:c.bold.tooltip,action:function(){return this.$editor().wrapSelection("bold",null)},activeState:function(){return this.$editor().queryCommandState("bold")},commandKeyCode:98}),a("justifyLeft",{iconclass:"fa fa-align-left",tooltiptext:c.justifyLeft.tooltip,action:function(){return this.$editor().wrapSelection("justifyLeft",null)},activeState:function(a){var b=!1;return a&&(b="left"===a.css("text-align")||"left"===a.attr("align")||"right"!==a.css("text-align")&&"center"!==a.css("text-align")&&!this.$editor().queryCommandState("justifyRight")&&!this.$editor().queryCommandState("justifyCenter")),b=b||this.$editor().queryCommandState("justifyLeft")}}),a("justifyRight",{iconclass:"fa fa-align-right",tooltiptext:c.justifyRight.tooltip,action:function(){return this.$editor().wrapSelection("justifyRight",null)},activeState:function(a){var b=!1;return a&&(b="right"===a.css("text-align")),b=b||this.$editor().queryCommandState("justifyRight")}}),a("justifyCenter",{iconclass:"fa fa-align-center",tooltiptext:c.justifyCenter.tooltip,action:function(){return this.$editor().wrapSelection("justifyCenter",null)},activeState:function(a){var b=!1;return a&&(b="center"===a.css("text-align")),b=b||this.$editor().queryCommandState("justifyCenter")}}),a("indent",{iconclass:"fa fa-indent",tooltiptext:c.indent.tooltip,action:function(){return this.$editor().wrapSelection("indent",null) +},activeState:function(){return this.$editor().queryFormatBlockState("blockquote")}}),a("outdent",{iconclass:"fa fa-outdent",tooltiptext:c.outdent.tooltip,action:function(){return this.$editor().wrapSelection("outdent",null)},activeState:function(){return!1}}),a("italics",{iconclass:"fa fa-italic",tooltiptext:c.italic.tooltip,action:function(){return this.$editor().wrapSelection("italic",null)},activeState:function(){return this.$editor().queryCommandState("italic")},commandKeyCode:105}),a("underline",{iconclass:"fa fa-underline",tooltiptext:c.underline.tooltip,action:function(){return this.$editor().wrapSelection("underline",null)},activeState:function(){return this.$editor().queryCommandState("underline")},commandKeyCode:117}),a("clear",{iconclass:"fa fa-ban",tooltiptext:c.clear.tooltip,action:function(a,b){this.$editor().wrapSelection("removeFormat",null);var c=angular.element(d.getSelectionElement()),e=function(a){a=angular.element(a);var b=a;angular.forEach(a.children(),function(a){var c=angular.element("

    ");c.html(angular.element(a).html()),b.after(c),b=c}),a.remove()};angular.forEach(c.find("ul"),e),angular.forEach(c.find("ol"),e);var f=this.$editor(),g=function(a){a=angular.element(a),a[0]!==f.displayElements.text[0]&&a.removeAttr("class"),angular.forEach(a.children(),g)};angular.forEach(c,g),"li"!==c[0].tagName.toLowerCase()&&"ol"!==c[0].tagName.toLowerCase()&&"ul"!==c[0].tagName.toLowerCase()&&this.$editor().wrapSelection("formatBlock","

    "),b()}});var g=function(a,b,c){var d=function(){c.updateTaBindtaTextElement(),c.hidePopover()};a.preventDefault(),c.displayElements.popover.css("width","375px");var e=c.displayElements.popoverContainer;e.empty();var f=angular.element('

    '),g=angular.element('');g.on("click",function(a){a.preventDefault(),b.css({width:"100%",height:""}),d()});var h=angular.element('');h.on("click",function(a){a.preventDefault(),b.css({width:"50%",height:""}),d()});var i=angular.element('');i.on("click",function(a){a.preventDefault(),b.css({width:"25%",height:""}),d()});var j=angular.element('');j.on("click",function(a){a.preventDefault(),b.css({width:"",height:""}),d()}),f.append(g),f.append(h),f.append(i),f.append(j),e.append(f),f=angular.element('
    ');var k=angular.element('');k.on("click",function(a){a.preventDefault(),b.css("float","left"),d()});var l=angular.element('');l.on("click",function(a){a.preventDefault(),b.css("float","right"),d()});var m=angular.element('');m.on("click",function(a){a.preventDefault(),b.css("float",""),d()}),f.append(k),f.append(m),f.append(l),e.append(f),f=angular.element('
    ');var n=angular.element('');n.on("click",function(a){a.preventDefault(),b.remove(),d()}),f.append(n),e.append(f),c.showPopover(b),c.showResizeOverlay(b)};a("insertImage",{iconclass:"fa fa-picture-o",tooltiptext:c.insertImage.tooltip,action:function(){var a;return a=b.prompt(c.insertImage.dialogPrompt,"http://"),a&&""!==a&&"http://"!==a?this.$editor().wrapSelection("insertImage",a,!0):void 0},onElementSelect:{element:"img",action:g}}),a("insertVideo",{iconclass:"fa fa-youtube-play",tooltiptext:c.insertVideo.tooltip,action:function(){var a;if(a=b.prompt(c.insertVideo.dialogPrompt,"http://"),a&&""!==a&&"http://"!==a){var d=a.match(/(\?|&)v=[^&]*/);if(d.length>0){var e="http://www.youtube.com/embed/"+d[0].substring(3),f='';return this.$editor().wrapSelection("insertHTML",f,!0)}}},onElementSelect:{element:"img",onlyWithAttrs:["ta-insert-video"],action:g}}),a("insertLink",{tooltiptext:c.insertLink.tooltip,iconclass:"fa fa-link",action:function(){var a;return a=b.prompt(c.insertLink.dialogPrompt,"http://"),a&&""!==a&&"http://"!==a?this.$editor().wrapSelection("createLink",a,!0):void 0},activeState:function(a){return a?"A"===a[0].tagName:!1},onElementSelect:{element:"a",action:function(a,d,e){a.preventDefault(),e.displayElements.popover.css("width","435px");var f=e.displayElements.popoverContainer;f.empty(),f.css("line-height","28px");var g=angular.element(''+d.attr("href")+"");g.css({display:"inline-block","max-width":"200px",overflow:"hidden","text-overflow":"ellipsis","white-space":"nowrap","vertical-align":"middle"}),f.append(g);var h=angular.element('
    '),i=angular.element('');i.on("click",function(a){a.preventDefault();var f=b.prompt(c.insertLink.dialogPrompt,d.attr("href"));f&&""!==f&&"http://"!==f&&(d.attr("href",f),e.updateTaBindtaTextElement()),e.hidePopover()}),h.append(i);var j=angular.element('');j.on("click",function(a){a.preventDefault(),d.replaceWith(d.contents()),e.updateTaBindtaTextElement(),e.hidePopover()}),h.append(j);var k=angular.element('');"_blank"===d.attr("target")&&k.addClass("active"),k.on("click",function(a){a.preventDefault(),d.attr("target","_blank"===d.attr("target")?"":"_blank"),k.toggleClass("active"),e.updateTaBindtaTextElement()}),h.append(k),f.append(h),e.showPopover(d)}}})}]),function(){"Use Strict";function a(a){try{return 0!==angular.element(a).length}catch(b){return!1}}function b(a,c){var d=[],e=a.children();return e.length&&angular.forEach(e,function(a){d=d.concat(b(angular.element(a),c))}),void 0!==a.attr(c)&&d.push(a),d}function c(b,c){if(!b||""===b||n.hasOwnProperty(b))throw"textAngular Error: A unique name is required for a Tool Definition";if(c.display&&(""===c.display||!a(c.display))||!c.display&&!c.buttontext&&!c.iconclass)throw'textAngular Error: Tool Definition for "'+b+'" does not have a valid display/iconclass/buttontext value';n[b]=c}var d=!1;/AppleWebKit\/([\d.]+)/.exec(navigator.userAgent)&&(document.addEventListener("click",function(){var a=window.event.target;if(d&&null!==a){for(var b=!1,c=a;null!==c&&"html"!==c.tagName.toLowerCase()&&!b;)b="true"===c.contentEditable,c=c.parentNode;b||(document.getElementById("textAngular-editableFix-010203040506070809").setSelectionRange(0,0),a.focus())}d=!1},!1),angular.element(document).ready(function(){angular.element(document.body).append(angular.element(''))}));var e=function(){var a,b=-1,c=window.navigator.userAgent,d=c.indexOf("MSIE "),e=c.indexOf("Trident/");if(d>0)b=parseInt(c.substring(d+5,c.indexOf(".",d)),10);else if(e>0){var f=c.indexOf("rv:");b=parseInt(c.substring(f+3,c.indexOf(".",f)),10)}return b>-1?b:a}();"function"!=typeof String.prototype.trim&&(String.prototype.trim=function(){return this.replace(/^\s\s*/,"").replace(/\s\s*$/,"")});var f,g,h,i,j;if(e>8||void 0===e){var k=function(){var a=document.createElement("style");return/AppleWebKit\/([\d.]+)/.exec(navigator.userAgent)&&a.appendChild(document.createTextNode("")),document.head.insertBefore(a,document.head.firstChild),a.sheet}();f=function(){var a=document.createElement("style");return/AppleWebKit\/([\d.]+)/.exec(navigator.userAgent)&&a.appendChild(document.createTextNode("")),document.head.appendChild(a),a.sheet}(),g=function(a,b){i(f,a,b)},i=function(a,b,c){var d;return a.rules?d=Math.max(a.rules.length-1,0):a.cssRules&&(d=Math.max(a.cssRules.length-1,0)),a.insertRule?a.insertRule(b+"{"+c+"}",d):a.addRule(b,c,d),d},h=function(a){j(f,a)},j=function(a,b){a.removeRule?a.removeRule(b):a.deleteRule(b)},i(k,".ta-scroll-window.form-control","height: auto; min-height: 300px; overflow: auto; font-family: inherit; font-size: 100%; position: relative; padding: 0;"),i(k,".ta-root.focussed .ta-scroll-window.form-control","border-color: #66afe9; outline: 0; -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.6);"),i(k,".ta-editor.ta-html","min-height: 300px; height: auto; overflow: auto; font-family: inherit; font-size: 100%;"),i(k,".ta-scroll-window > .ta-bind","height: auto; min-height: 300px; padding: 6px 12px;"),i(k,".ta-root .ta-resizer-handle-overlay","z-index: 100; position: absolute; display: none;"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-info","position: absolute; bottom: 16px; right: 16px; border: 1px solid black; background-color: #FFF; padding: 0 4px; opacity: 0.7;"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-background","position: absolute; bottom: 5px; right: 5px; left: 5px; top: 5px; border: 1px solid black; background-color: rgba(0, 0, 0, 0.2);"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-corner","width: 10px; height: 10px; position: absolute;"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-corner-tl","top: 0; left: 0; border-left: 1px solid black; border-top: 1px solid black;"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-corner-tr","top: 0; right: 0; border-right: 1px solid black; border-top: 1px solid black;"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-corner-bl","bottom: 0; left: 0; border-left: 1px solid black; border-bottom: 1px solid black;"),i(k,".ta-root .ta-resizer-handle-overlay > .ta-resizer-handle-corner-br","bottom: 0; right: 0; border: 1px solid black; cursor: se-resize; background-color: white;")}var l=!1,m=angular.module("textAngular",["ngSanitize","textAngularSetup"]),n={};m.constant("taRegisterTool",c),m.value("taTools",n),m.config([function(){angular.forEach(n,function(a,b){delete n[b]})}]),m.directive("textAngular",["$compile","$timeout","taOptions","taSelection","taExecCommand","textAngularManager","$window","$document","$animate","$log",function(a,b,c,d,e,f,g,h,i,j){return{require:"?ngModel",scope:{},restrict:"EA",link:function(k,l,m,n){var o,p,q,r,s,t,u,v,w,x=m.serial?m.serial:Math.floor(1e16*Math.random()),y=m.name?m.name:"textAngularEditor"+x,z=function(a,c,d){b(function(){var b=function(){a.off(c,b),d()};a.on(c,b)},100)};w=e(m.taDefaultWrap),angular.extend(k,angular.copy(c),{wrapSelection:function(a,b,c){w(a,!1,b),c&&k["reApplyOnSelectorHandlerstaTextElement"+x](),k.displayElements.text[0].focus()},showHtml:!1}),m.taFocussedClass&&(k.classes.focussed=m.taFocussedClass),m.taTextEditorClass&&(k.classes.textEditor=m.taTextEditorClass),m.taHtmlEditorClass&&(k.classes.htmlEditor=m.taHtmlEditorClass),m.taTextEditorSetup&&(k.setup.textEditorSetup=k.$parent.$eval(m.taTextEditorSetup)),m.taHtmlEditorSetup&&(k.setup.htmlEditorSetup=k.$parent.$eval(m.taHtmlEditorSetup)),k.fileDropHandler=m.taFileDrop?k.$parent.$eval(m.taFileDrop):k.defaultFileDropHandler,u=l[0].innerHTML,l[0].innerHTML="",k.displayElements={forminput:angular.element(""),html:angular.element(""),text:angular.element("
    "),scrollWindow:angular.element("
    "),popover:angular.element('
    '),popoverArrow:angular.element('
    '),popoverContainer:angular.element('
    '),resize:{overlay:angular.element('
    '),background:angular.element('
    '),anchors:[angular.element('
    '),angular.element('
    '),angular.element('
    '),angular.element('
    ')],info:angular.element('
    ')}},k.displayElements.popover.append(k.displayElements.popoverArrow),k.displayElements.popover.append(k.displayElements.popoverContainer),k.displayElements.scrollWindow.append(k.displayElements.popover),k.displayElements.popover.on("mousedown",function(a,b){return b&&angular.extend(a,b),a.preventDefault(),!1}),k.showPopover=function(a){k.displayElements.popover.css("display","block"),k.reflowPopover(a),i.addClass(k.displayElements.popover,"in"),z(l,"click keyup",function(){k.hidePopover()})},k.reflowPopover=function(a){k.displayElements.text[0].offsetHeight-51>a[0].offsetTop?(k.displayElements.popover.css("top",a[0].offsetTop+a[0].offsetHeight+"px"),k.displayElements.popover.removeClass("top").addClass("bottom")):(k.displayElements.popover.css("top",a[0].offsetTop-54+"px"),k.displayElements.popover.removeClass("bottom").addClass("top"));var b=k.displayElements.text[0].offsetWidth-k.displayElements.popover[0].offsetWidth,c=a[0].offsetLeft+a[0].offsetWidth/2-k.displayElements.popover[0].offsetWidth/2;k.displayElements.popover.css("left",Math.max(0,Math.min(b,c))+"px"),k.displayElements.popoverArrow.css("margin-left",Math.min(c,Math.max(0,c-b))-11+"px")},k.hidePopover=function(){i.removeClass(k.displayElements.popover,"in",function(){k.displayElements.popover.css("display",""),k.displayElements.popoverContainer.attr("style",""),k.displayElements.popoverContainer.attr("class","popover-content")})},k.displayElements.resize.overlay.append(k.displayElements.resize.background),angular.forEach(k.displayElements.resize.anchors,function(a){k.displayElements.resize.overlay.append(a)}),k.displayElements.resize.overlay.append(k.displayElements.resize.info),k.displayElements.scrollWindow.append(k.displayElements.resize.overlay),k.reflowResizeOverlay=function(a){a=angular.element(a)[0],k.displayElements.resize.overlay.css({display:"block",left:a.offsetLeft-5+"px",top:a.offsetTop-5+"px",width:a.offsetWidth+10+"px",height:a.offsetHeight+10+"px"}),k.displayElements.resize.info.text(a.offsetWidth+" x "+a.offsetHeight)},k.showResizeOverlay=function(a){var b=function(b){var c={width:parseInt(a.attr("width")),height:parseInt(a.attr("height")),x:b.clientX,y:b.clientY};void 0===c.width&&(c.width=a[0].offsetWidth),void 0===c.height&&(c.height=a[0].offsetHeight),k.hidePopover();var d=c.height/c.width,e=function(b){var e={x:Math.max(0,c.width+(b.clientX-c.x)),y:Math.max(0,c.height+(b.clientY-c.y))},f=function(a,b){a=angular.element(a),"img"===a[0].tagName.toLowerCase()&&(b.height&&(a.attr("height",b.height),delete b.height),b.width&&(a.attr("width",b.width),delete b.width)),a.css(b)};if(b.shiftKey){var g=e.y/e.x;f(a,{width:d>g?e.x:e.y/d,height:d>g?e.x*d:e.y})}else f(a,{width:e.x,height:e.y});k.reflowResizeOverlay(a)};h.find("body").on("mousemove",e),z(k.displayElements.resize.overlay,"mouseup",function(){h.find("body").off("mousemove",e),k.showPopover(a)}),b.stopPropagation(),b.preventDefault()};k.displayElements.resize.anchors[3].on("mousedown",b),k.reflowResizeOverlay(a),z(l,"click",function(){k.hideResizeOverlay()})},k.hideResizeOverlay=function(){k.displayElements.resize.overlay.css("display","")},k.setup.htmlEditorSetup(k.displayElements.html),k.setup.textEditorSetup(k.displayElements.text),k.displayElements.html.attr({id:"taHtmlElement"+x,"ng-show":"showHtml","ta-bind":"ta-bind","ng-model":"html"}),k.displayElements.text.attr({id:"taTextElement"+x,contentEditable:"true","ta-bind":"ta-bind","ng-model":"html"}),k.displayElements.scrollWindow.attr({"ng-hide":"showHtml"}),m.taDefaultWrap&&k.displayElements.text.attr("ta-default-wrap",m.taDefaultWrap),m.taUnsafeSanitizer&&(k.displayElements.text.attr("ta-unsafe-sanitizer",m.taUnsafeSanitizer),k.displayElements.html.attr("ta-unsafe-sanitizer",m.taUnsafeSanitizer)),k.displayElements.scrollWindow.append(k.displayElements.text),l.append(k.displayElements.scrollWindow),l.append(k.displayElements.html),k.displayElements.forminput.attr("name",y),l.append(k.displayElements.forminput),m.tabindex&&(l.removeAttr("tabindex"),k.displayElements.text.attr("tabindex",m.tabindex),k.displayElements.html.attr("tabindex",m.tabindex)),m.placeholder&&(k.displayElements.text.attr("placeholder",m.placeholder),k.displayElements.html.attr("placeholder",m.placeholder)),m.taDisabled&&(k.displayElements.text.attr("ta-readonly","disabled"),k.displayElements.html.attr("ta-readonly","disabled"),k.disabled=k.$parent.$eval(m.taDisabled),k.$parent.$watch(m.taDisabled,function(a){k.disabled=a,k.disabled?l.addClass(k.classes.disabled):l.removeClass(k.classes.disabled)})),a(k.displayElements.scrollWindow)(k),a(k.displayElements.html)(k),k.updateTaBindtaTextElement=k["updateTaBindtaTextElement"+x],k.updateTaBindtaHtmlElement=k["updateTaBindtaHtmlElement"+x],l.addClass("ta-root"),k.displayElements.scrollWindow.addClass("ta-text ta-editor "+k.classes.textEditor),k.displayElements.html.addClass("ta-html ta-editor "+k.classes.htmlEditor),k._actionRunning=!1;var A=!1;if(k.startAction=function(){return k._actionRunning=!0,g.rangy&&g.rangy.saveSelection?(A=g.rangy.saveSelection(),function(){A&&g.rangy.restoreSelection(A)}):void 0},k.endAction=function(){k._actionRunning=!1,A&&g.rangy.removeMarkers(A),A=!1,k.updateSelectedStyles(),k.showHtml||k["updateTaBindtaTextElement"+x]()},s=function(){l.addClass(k.classes.focussed),v.focus()},k.displayElements.html.on("focus",s),k.displayElements.text.on("focus",s),t=function(a){return k._actionRunning||h[0].activeElement===k.displayElements.html[0]||h[0].activeElement===k.displayElements.text[0]||(l.removeClass(k.classes.focussed),v.unfocus(),b(function(){l.triggerHandler("blur")},0)),a.preventDefault(),!1},k.displayElements.html.on("blur",t),k.displayElements.text.on("blur",t),k.queryFormatBlockState=function(a){return!k.showHtml&&a.toLowerCase()===h[0].queryCommandValue("formatBlock").toLowerCase()},k.queryCommandState=function(a){return k.showHtml?"":h[0].queryCommandState(a)},k.switchView=function(){k.showHtml=!k.showHtml,k.showHtml?b(function(){return k.displayElements.html[0].focus()},100):b(function(){return k.displayElements.text[0].focus()},100)},m.ngModel){var B=!0;n.$render=function(){if(B){B=!1;var a=k.$parent.$eval(m.ngModel);void 0!==a&&null!==a||!u||""===u||n.$setViewValue(u)}k.displayElements.forminput.val(n.$viewValue),k._elementSelectTriggered||h[0].activeElement===k.displayElements.html[0]||h[0].activeElement===k.displayElements.text[0]||(k.html=n.$viewValue||"")};var C=function(a){return m.required&&n.$setValidity("required",!(!a||""===a.trim())),a};n.$parsers.push(C),n.$formatters.push(C)}else k.displayElements.forminput.val(u),k.html=u;if(k.$watch("html",function(a,b){a!==b&&(m.ngModel&&n.$viewValue!==a&&n.$setViewValue(a),k.displayElements.forminput.val(a))}),m.taTargetToolbars)v=f.registerEditor(y,k,m.taTargetToolbars.split(","));else{var D=angular.element('
    ');m.taToolbar&&D.attr("ta-toolbar",m.taToolbar),m.taToolbarClass&&D.attr("ta-toolbar-class",m.taToolbarClass),m.taToolbarGroupClass&&D.attr("ta-toolbar-group-class",m.taToolbarGroupClass),m.taToolbarButtonClass&&D.attr("ta-toolbar-button-class",m.taToolbarButtonClass),m.taToolbarActiveButtonClass&&D.attr("ta-toolbar-active-button-class",m.taToolbarActiveButtonClass),m.taFocussedClass&&D.attr("ta-focussed-class",m.taFocussedClass),l.prepend(D),a(D)(k.$parent),v=f.registerEditor(y,k,["textAngularToolbar"+x])}k.$on("$destroy",function(){f.unregisterEditor(y)}),k.$on("ta-element-select",function(a,b){v.triggerElementSelect(a,b)}),k.$on("ta-drop-event",function(a,b,c,d){k.displayElements.text[0].focus(),d&&d.files&&d.files.length>0&&(angular.forEach(d.files,function(a){try{return k.fileDropHandler(a,k.wrapSelection)||k.fileDropHandler!==k.defaultFileDropHandler&&k.defaultFileDropHandler(a,k.wrapSelection)}catch(b){j.error(b)}}),c.preventDefault(),c.stopPropagation())}),k._bUpdateSelectedStyles=!1,k.updateSelectedStyles=function(){var a;void 0!==(a=d.getSelectionElement())&&a.parentNode!==k.displayElements.text[0]?v.updateSelectedStyles(angular.element(a)):v.updateSelectedStyles(),k._bUpdateSelectedStyles&&b(k.updateSelectedStyles,200)},o=function(){k._bUpdateSelectedStyles||(k._bUpdateSelectedStyles=!0,k.$apply(function(){k.updateSelectedStyles()}))},k.displayElements.html.on("keydown",o),k.displayElements.text.on("keydown",o),p=function(){k._bUpdateSelectedStyles=!1},k.displayElements.html.on("keyup",p),k.displayElements.text.on("keyup",p),q=function(a,b){b&&angular.extend(a,b),k.$apply(function(){return v.sendKeyCommand(a)?(k._bUpdateSelectedStyles||k.updateSelectedStyles(),a.preventDefault(),!1):void 0})},k.displayElements.html.on("keypress",q),k.displayElements.text.on("keypress",q),r=function(){k._bUpdateSelectedStyles=!1,k.$apply(function(){k.updateSelectedStyles()})},k.displayElements.html.on("mouseup",r),k.displayElements.text.on("mouseup",r)}}}]).factory("taBrowserTag",[function(){return function(a){return a?""===a?void 0===e?"div":8>=e?"P":"p":8>=e?a.toUpperCase():a:8>=e?"P":"p"}}]).factory("taExecCommand",["taSelection","taBrowserTag","$document",function(a,b,c){var d=/^(address|article|aside|audio|blockquote|canvas|dd|div|dl|fieldset|figcaption|figure|footer|form|h1|h2|h3|h4|h5|h6|header|hgroup|hr|noscript|ol|output|p|pre|section|table|tfoot|ul|video)$/gi,e=/^(ul|li|ol)$/gi,f=function(b,c){var d,e,f=b.find("li");for(e=f.length-1;e>=0;e--)d=angular.element("<"+c+">"+f[e].innerHTML+""),b.after(d);b.remove(),a.setSelectionToElementEnd(d[0])},g=function(b,c){var d=angular.element("<"+c+">"+b[0].innerHTML+"");b.after(d),b.remove(),a.setSelectionToElementEnd(d.find("li")[0])},h=function(c,d,e){for(var f="",g=0;g"+c[g].innerHTML+"";var h=angular.element("<"+e+">"+f+"");d.after(h),d.remove(),a.setSelectionToElementEnd(h.find("li")[0])};return function(i){return i=b(i),function(j,k,l){var m,n,o,p,q,r=angular.element("<"+i+">"),s=a.getSelectionElement(),t=angular.element(s);if(void 0!==s){var u=s.tagName.toLowerCase();if("insertorderedlist"===j.toLowerCase()||"insertunorderedlist"===j.toLowerCase()){var v=b("insertorderedlist"===j.toLowerCase()?"ol":"ul");if(u===v)return f(t,i);if("li"===u&&t.parent()[0].tagName.toLowerCase()===v&&1===t.parent().children().length)return f(t.parent(),i);if("li"===u&&t.parent()[0].tagName.toLowerCase()!==v&&1===t.parent().children().length)return g(t.parent(),v);if(u.match(d)&&!t.hasClass("ta-bind")){if("ol"===u||"ul"===u)return g(t,v);var w=!1;return angular.forEach(t.children(),function(a){a.tagName.match(d)&&(w=!0)}),w?h(t.children(),t,v):h([angular.element("
    "+s.innerHTML+"
    ")[0]],t,v)}if(u.match(d)){if(p=a.getOnlySelectedElements(),1===p.length&&("ol"===p[0].tagName.toLowerCase()||"ul"===p[0].tagName.toLowerCase()))return p[0].tagName.toLowerCase()===v?f(angular.element(p[0]),i):g(angular.element(p[0]),v);o="";var x=[];for(m=0;m"+y[0].innerHTML+"",x.unshift(y)}return n=angular.element("<"+v+">"+o+""),x.pop().replaceWith(n),angular.forEach(x,function(a){a.remove()}),void a.setSelectionToElementEnd(n[0])}}else if("formatblock"===j.toLowerCase()){var z=l.toLowerCase().replace(/[<>]/gi,"");for(n="li"===u?t.parent():t;!n[0].tagName.match(d);)n=n.parent(),u=n[0].tagName.toLowerCase();if(u===z){p=n.children();var A=!1;for(m=0;m"),r[0].innerHTML=D[m].outerHTML,D[m]=r[0]),C.parent()[0].insertBefore(D[m],C[0]);C.remove()}return void a.setSelectionToElementEnd(n[0])}}try{c[0].execCommand(j,k,l)}catch(E){}}}}]).directive("taBind",["taSanitize","$timeout","$window","$document","taFixChrome","taBrowserTag","taSelection","taSelectableElements","taApplyCustomRenderers","taOptions",function(a,b,c,f,i,j,k,m,n,o){return{require:"ngModel",scope:{},link:function(j,p,q,r){var s,t,u=void 0!==p.attr("contenteditable")&&p.attr("contenteditable"),v=u||"textarea"===p[0].tagName.toLowerCase()||"input"===p[0].tagName.toLowerCase(),w=!1,x=!1,y=q.taUnsafeSanitizer||o.disableSanitizer;void 0===q.taDefaultWrap&&(q.taDefaultWrap="p"),""===q.taDefaultWrap?(s="",t=void 0===e?"

    ":e>=11?"


    ":8>=e?"

     

    ":"

     

    "):(s=void 0===e||e>=11?"<"+q.taDefaultWrap+">
    ":8>=e?"<"+q.taDefaultWrap.toUpperCase()+">":"<"+q.taDefaultWrap+">",t=void 0===e||e>=11?"<"+q.taDefaultWrap+">
    ":8>=e?"<"+q.taDefaultWrap.toUpperCase()+"> ":"<"+q.taDefaultWrap+"> "),p.addClass("ta-bind");var z=function(){if(u)return p[0].innerHTML;if(v)return p.val();throw"textAngular Error: attempting to update non-editable taBind"},A=function(a){a||(a=z()),a===t?""!==r.$viewValue&&r.$setViewValue(""):r.$viewValue!==a&&r.$setViewValue(a)};if(j.$parent["updateTaBind"+(q.id||"")]=function(){w||A()},v)if(u){if(p.on("cut",function(a){w?a.preventDefault():b(function(){A()},0)}),p.on("paste",function(a,b){b&&angular.extend(a,b);var d;if(a.clipboardData||a.originalEvent&&a.originalEvent.clipboardData?d=(a.originalEvent||a).clipboardData.getData("text/plain"):c.clipboardData&&(d=c.clipboardData.getData("Text")),!d&&!w)return!0;if(a.preventDefault(),!w){var e=angular.element("
    ");if(e[0].innerHTML=d,d=e.text(),f[0].selection){var g=f[0].selection.createRange();g.pasteHTML(d)}else f[0].execCommand("insertText",!1,d);A()}}),p.on("keyup",function(a,b){if(b&&angular.extend(a,b),!w){if(""!==s&&13===a.keyCode&&!a.shiftKey){var c=k.getSelectionElement();if(c.tagName.toLowerCase()!==q.taDefaultWrap&&"li"!==c.tagName.toLowerCase()&&(""===c.innerHTML.trim()||"
    "===c.innerHTML.trim())){var d=angular.element(s);angular.element(c).replaceWith(d),k.setSelectionToElementStart(d[0])}}var e=z();""!==s&&""===e.trim()&&(p[0].innerHTML=s,k.setSelectionToElementStart(p.children()[0])),A(e)}}),p.on("blur",function(){x=!1,w||A(),r.$render()}),q.placeholder&&(e>8||void 0===e)){var B;if(!q.id)throw"textAngular Error: An unique ID is required for placeholders to work";B=g("#"+q.id+".placeholder-text:before",'content: "'+q.placeholder+'"'),j.$on("$destroy",function(){h(B)})}p.on("focus",function(){x=!0,r.$render()}),p.on("mousedown",function(a,b){b&&angular.extend(a,b),a.stopPropagation()})}else p.on("paste cut",function(){w||b(function(){r.$setViewValue(z())},0)}),p.on("change blur",function(){w||r.$setViewValue(z())});var C=function(b){return r.$oldViewValue=a(i(b),r.$oldViewValue,y)},D=function(a){return q.required&&r.$setValidity("required",!(!a||a.trim()===t||""===a.trim())),a};r.$parsers.push(C),r.$parsers.push(D),r.$formatters.push(C),r.$formatters.push(D);var E=function(a){return j.$emit("ta-element-select",this),a.preventDefault(),!1},F=function(a,c){if(c&&angular.extend(a,c),!l&&!w){l=!0;var d;d=a.originalEvent?a.originalEvent.dataTransfer:a.dataTransfer,j.$emit("ta-drop-event",this,a,d),b(function(){l=!1},100)}};j.$parent["reApplyOnSelectorHandlers"+(q.id||"")]=function(){w||angular.forEach(m,function(a){p.find(a).off("click",E).on("click",E)})};var G=function(a){p[0].innerHTML=a};r.$render=function(){var a=r.$viewValue||"";f[0].activeElement!==p[0]?u?(q.placeholder?""===a?(x?p.removeClass("placeholder-text"):p.addClass("placeholder-text"),G(s)):(p.removeClass("placeholder-text"),G(a)):G(""===a?s:a),w?p.off("drop",F):(angular.forEach(m,function(a){p.find(a).on("click",E)}),p.on("drop",F))):"textarea"!==p[0].tagName.toLowerCase()&&"input"!==p[0].tagName.toLowerCase()?G(n(a)):p.val(a):u&&p.removeClass("placeholder-text")},q.taReadonly&&(w=j.$parent.$eval(q.taReadonly),w?(p.addClass("ta-readonly"),("textarea"===p[0].tagName.toLowerCase()||"input"===p[0].tagName.toLowerCase())&&p.attr("disabled","disabled"),void 0!==p.attr("contenteditable")&&p.attr("contenteditable")&&p.removeAttr("contenteditable")):(p.removeClass("ta-readonly"),"textarea"===p[0].tagName.toLowerCase()||"input"===p[0].tagName.toLowerCase()?p.removeAttr("disabled"):u&&p.attr("contenteditable","true")),j.$parent.$watch(q.taReadonly,function(a,b){b!==a&&(a?(p.addClass("ta-readonly"),("textarea"===p[0].tagName.toLowerCase()||"input"===p[0].tagName.toLowerCase())&&p.attr("disabled","disabled"),void 0!==p.attr("contenteditable")&&p.attr("contenteditable")&&p.removeAttr("contenteditable"),angular.forEach(m,function(a){p.find(a).on("click",E)}),p.off("drop",F)):(p.removeClass("ta-readonly"),"textarea"===p[0].tagName.toLowerCase()||"input"===p[0].tagName.toLowerCase()?p.removeAttr("disabled"):u&&p.attr("contenteditable","true"),angular.forEach(m,function(a){p.find(a).off("click",E)}),p.on("drop",F)),w=a)})),u&&!w&&(angular.forEach(m,function(a){p.find(a).on("click",E)}),p.on("drop",F),p.on("blur",function(){/AppleWebKit\/([\d.]+)/.exec(navigator.userAgent)&&(d=!0)}))}}}]).factory("taApplyCustomRenderers",["taCustomRenderers",function(a){return function(c){var d=angular.element("
    ");return d[0].innerHTML=c,angular.forEach(a,function(a){var c=[];a.selector&&""!==a.selector?c=d.find(a.selector):a.customAttribute&&""!==a.customAttribute&&(c=b(d,a.customAttribute)),angular.forEach(c,function(b){b=angular.element(b),a.selector&&""!==a.selector&&a.customAttribute&&""!==a.customAttribute?void 0!==b.attr(a.customAttribute)&&a.renderLogic(b):a.renderLogic(b)})}),d[0].innerHTML}}]).directive("taMaxText",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){function e(a){var b=angular.element("
    ");b.html(a);var c=b.text().length;return f>=c?(d.$setValidity("taMaxText",!0),a):void d.$setValidity("taMaxText",!1)}var f=parseInt(a.$eval(c.taMaxText));if(isNaN(f))throw"Max text must be an integer";c.$observe("taMaxText",function(a){if(f=parseInt(a),isNaN(f))throw"Max text must be an integer"; +d.$dirty&&d.$setViewValue(d.$viewValue)}),d.$parsers.unshift(e)}}}).directive("taMinText",function(){return{restrict:"A",require:"ngModel",link:function(a,b,c,d){function e(a){var b=angular.element("
    ");b.html(a);var c=b.text().length;return!c||c>=f?(d.$setValidity("taMinText",!0),a):void d.$setValidity("taMinText",!1)}var f=parseInt(a.$eval(c.taMinText));if(isNaN(f))throw"Min text must be an integer";c.$observe("taMinText",function(a){if(f=parseInt(a),isNaN(f))throw"Min text must be an integer";d.$dirty&&d.$setViewValue(d.$viewValue)}),d.$parsers.unshift(e)}}}).factory("taFixChrome",function(){var a=function(a){for(var b=angular.element("
    "+a+"
    "),c=angular.element(b).find("span"),d=0;d0&&"BR"===e.next()[0].tagName&&e.next().remove(),e.replaceWith(e[0].innerHTML)))}var f=b[0].innerHTML.replace(/style="[^"]*?(line-height: 1.428571429;|color: inherit; line-height: 1.1;)[^"]*"/gi,"");return f!==b[0].innerHTML&&(b[0].innerHTML=f),b[0].innerHTML};return a}).factory("taSanitize",["$sanitize",function(a){return function(c,d,e){var f=angular.element("
    "+c+"
    ");angular.forEach(b(f,"align"),function(a){a.css("text-align",a.attr("align")),a.removeAttr("align")});var g;c=f[0].innerHTML;try{g=a(c),e&&(g=c)}catch(h){g=d||""}return g}}]).directive("textAngularToolbar",["$compile","textAngularManager","taOptions","taTools","taToolExecuteAction","$window",function(a,b,c,d,e,f){return{scope:{name:"@"},restrict:"EA",link:function(g,h,i){if(!g.name||""===g.name)throw"textAngular Error: A toolbar requires a name";angular.extend(g,angular.copy(c)),i.taToolbar&&(g.toolbar=g.$parent.$eval(i.taToolbar)),i.taToolbarClass&&(g.classes.toolbar=i.taToolbarClass),i.taToolbarGroupClass&&(g.classes.toolbarGroup=i.taToolbarGroupClass),i.taToolbarButtonClass&&(g.classes.toolbarButton=i.taToolbarButtonClass),i.taToolbarActiveButtonClass&&(g.classes.toolbarButtonActive=i.taToolbarActiveButtonClass),i.taFocussedClass&&(g.classes.focussed=i.taFocussedClass),g.disabled=!0,g.focussed=!1,g._$element=h,h[0].innerHTML="",h.addClass("ta-toolbar "+g.classes.toolbar),g.$watch("focussed",function(){g.focussed?h.addClass(g.classes.focussed):h.removeClass(g.classes.focussed)});var j=function(b,c){var d;if(d=angular.element(b&&b.display?b.display:"\n \n
    \n'}),c("ng-admin/Crud/component/directive/field/DateField",["require","text!../../../view/field/date.html"],function(a){function b(){return{restrict:"E",template:c,controller:["$scope",function(a){a.isOpen=!1,a.toggleDatePicker=function(b){b.preventDefault(),b.stopPropagation(),a.isOpen=!a.isOpen}}]}}var c=a("text!../../../view/field/date.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/boolean.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/BooleanField",["require","text!../../../view/field/boolean.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../../view/field/boolean.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/choice.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/ChoiceField",["require","text!../../../view/field/choice.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../../view/field/choice.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/choices.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/ChoicesField",["require","text!../../../view/field/choices.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../../view/field/choices.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/reference.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/ReferenceField",["require","text!../../../view/field/reference.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../../view/field/reference.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/referenceMany.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/ReferenceManyField",["require","text!../../../view/field/referenceMany.html"],function(a){function b(){}function c(){return{restrict:"E",template:d,controller:b,controllerAs:"referenceManyField"}}var d=a("text!../../../view/field/referenceMany.html");return b.prototype.contains=function(a,b){if(!a)return!1;for(var c=0,d=a.length;d>c;c++)if(a[c]==b)return!0;return!1},c.$inject=[],c}),c("text!ng-admin/Crud/view/field/wysiwyg.html",[],function(){return'
    \n'}),c("ng-admin/Crud/component/directive/field/WysiwygField",["require","text!../../../view/field/wysiwyg.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../../view/field/wysiwyg.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/field/template.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/field/TemplateField",["require","text!../../../view/field/template.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../../view/field/template.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/string.html",[],function(){return'
    \n {{ value }}\n\n {{ value }}\n
    \n'}),c("ng-admin/Crud/component/directive/column/StringColumn",["require","text!../../../view/column/string.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../../view/column/string.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/password.html",[],function(){return'
    \n xxx\n\n xxx\n
    \n'}),c("ng-admin/Crud/component/directive/column/PasswordColumn",["require","text!../../../view/column/password.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../../view/column/password.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/email.html",[],function(){return'
    \n {{ value }}\n\n {{ value }}\n
    \n'}),c("ng-admin/Crud/component/directive/column/EmailColumn",["require","text!../../../view/column/email.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../../view/column/email.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/text.html",[],function(){return'
    \n {{ value }}\n\n {{ value }}\n
    \n'}),c("ng-admin/Crud/component/directive/column/TextColumn",["require","text!../../../view/column/text.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../../view/column/text.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/number.html",[],function(){return'
    \n {{ value }}\n\n {{ value }}\n
    \n'}),c("ng-admin/Crud/component/directive/column/NumberColumn",["require","text!../../../view/column/number.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../../view/column/number.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/date.html",[],function(){return'
    \n {{ value }}\n\n {{ value }}\n
    \n'}),c("ng-admin/Crud/component/directive/column/DateColumn",["require","text!../../../view/column/date.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../../view/column/date.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/boolean.html",[],function(){return'
    \n \n \n \n\n \n
    \n'}),c("ng-admin/Crud/component/directive/column/BooleanColumn",["require","text!../../../view/column/boolean.html"],function(a){function b(){return{restrict:"E",template:c,controller:["$scope",function(a){a.isOk=!!a.entry.values[a.column.field.name()] +}]}}var c=a("text!../../../view/column/boolean.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/choice.html",[],function(){return'
    \n {{ value }}\n\n {{ value }}\n
    \n'}),c("ng-admin/Crud/component/directive/column/ChoiceColumn",["require","text!../../../view/column/choice.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../../view/column/choice.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/choices.html",[],function(){return'
    \n\n \n \n {{ ref }}\n \n \n\n \n \n {{ ref }}\n \n \n
    \n'}),c("ng-admin/Crud/component/directive/column/ChoicesColumn",["require","text!../../../view/column/choices.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../../view/column/choices.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/reference.html",[],function(){return'
    \n {{ value }}\n\n {{ value }}\n
    \n'}),c("ng-admin/Crud/component/directive/column/ReferenceColumn",["require","text!../../../view/column/reference.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../../view/column/reference.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/referenceMany.html",[],function(){return'
    \n \n \n {{ ref }}\n \n \n\n \n \n {{ ref }}\n \n \n
    \n'}),c("ng-admin/Crud/component/directive/column/ReferenceManyColumn",["require","text!../../../view/column/referenceMany.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../../view/column/referenceMany.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/wysiwyg.html",[],function(){return'
    \n {{ value }}\n\n {{ value }}\n
    \n'}),c("ng-admin/Crud/component/directive/column/WysiwygColumn",["require","text!../../../view/column/wysiwyg.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../../view/column/wysiwyg.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/column/template.html",[],function(){return'\n'}),c("ng-admin/Crud/component/directive/column/TemplateColumn",["require","text!../../../view/column/template.html"],function(a){function b(){return{restrict:"E",template:c}}var c=a("text!../../../view/column/template.html");return b.$inject=[],b}),c("text!ng-admin/Crud/view/datagrid.html",[],function(){return'\n \n \n \n \n \n\n \n \n \n \n \n
    \n \n \n\n {{ column.label }}\n \n
    \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n
    \n\n\n'}),c("ng-admin/Crud/component/controller/directive/DatagridController",["require"],function(){function a(a,b){this.$scope=a,this.$location=b;var c=this.$location.search();this.sortField="sortField"in c?c.sortField:"",this.sortDir="sortDir"in c?c.sortDir:"",this.retrieveColumns()}return a.prototype.retrieveColumns=function(){if(!this.$scope.columns){var a,b,c=[],d=this.$scope.view.getDisplayedFields();for(b in d)a=d[b],c.push({field:a,label:a.label()});this.$scope.columns=c}},a.prototype.isSorting=function(a){return this.sortField===a.getSortName()},a.prototype.itemClass=function(a){return a%2===0?"even":"odd"},a.prototype.sort=function(a){var b="ASC",c=a.getSortName();this.sortField===c&&(b="ASC"===this.sortDir?"DESC":"ASC"),this.$location.search("sortField",c),this.$location.search("sortDir",b)},a.$inject=["$scope","$location"],a}),c("ng-admin/Crud/component/directive/Datagrid",["require","text!../../view/datagrid.html","ng-admin/Crud/component/controller/directive/DatagridController"],function(a){function b(){return{restrict:"E",template:c,controllerAs:"datagrid",controller:d}}var c=a("text!../../view/datagrid.html"),d=a("ng-admin/Crud/component/controller/directive/DatagridController");return b.$inject=[],b}),c("text!ng-admin/Crud/view/datagrid-pagination.html",[],function(){return'
    \n
    \n \n {{ paginationCtrl.offsetBegin }} - {{ paginationCtrl.offsetEnd }} on {{ paginationCtrl.totalItems }}\n \n \n
    \n
    \n'}),c("ng-admin/Crud/component/controller/directive/DatagridPaginationController",[],function(){function a(a,b,c,d,e){this.$scope=a,this.$location=b,this.loadingPage=!1,this.$anchorScroll=c,this.progression=d,this.ListViewRepository=e}return a.prototype.computePagination=function(){var a=this.$scope.view.perPage(),b=this.$location.search().page||1,c=this.$scope.totalItems;this.infinitePagination=this.$scope.hasPagination&&this.$scope.view.infinitePagination(),this.currentPage=b,this.offsetBegin=(b-1)*a+1,this.offsetEnd=Math.min(b*a,c),this.totalItems=c,this.nbPages=Math.ceil(c/(a||1))||1},a.prototype.range=function(a,b){var c,d=[];for(c=a;b>=c;c++)d.push(c);return d},a.prototype.nextPage=function(){var a=this.$scope.view;if(!this.loadingPage&&this.infinitePagination&&this.currentPage!==this.nbPages){var b=this,c=this.$location.search(),d="sortField"in c?c.sortField:"",e="sortDir"in c?c.sortDir:"";this.loadingPage=!0,this.currentPage++,this.progression.start(),this.ListViewRepository.getAll(a,this.currentPage,!0,null,d,e).then(function(a){b.progression.done(),b.$scope.entries=b.$scope.entries.concat(a.entries),b.loadingPage=!1})}},a.prototype.setPage=function(a){0>=a||a>this.nbPages||(this.$location.search("page",a),this.$anchorScroll(0))},a.$inject=["$scope","$location","$anchorScroll","progression","ListViewRepository"],a}),c("ng-admin/Crud/component/directive/DatagridPagination",["require","angular","text!../../view/datagrid-pagination.html","ng-admin/Crud/component/controller/directive/DatagridPaginationController"],function(a){function b(a,b){return{restrict:"E",template:d,controllerAs:"paginationCtrl",controller:e,link:function(d,e,f,g){var h=f.offset||100,i=b[0].body;d.hasPagination=e.parent()[0].hasAttribute("with-pagination")?d.$eval(e.parent()[0].getAttribute("with-pagination")):!0,d.hasPagination&&g.computePagination(),c.element(a).bind("scroll",function(){i.offsetHeight-a.innerHeight-a.scrollY\n
  • \n Filters:\n
  • \n
  • \n None\n
  • \n
  • \n {{ label }}\n
  • \n\n'}),c("ng-admin/Crud/component/controller/directive/QuickFilterController",[],function(){function a(a,b){this.$scope=a,this.$location=b;var c=this.$location.search();this.quickFilters=this.$scope.view.getQuickFilterNames(),this.currentQuickFilter="quickFilter"in c?c.quickFilter:null,this.displayFilterQuery=this.$scope.view.filterQuery()!==!1}return a.prototype.filter=function(a){this.$location.search("quickFilter",a)},a.$inject=["$scope","$location"],a}),c("ng-admin/Crud/component/directive/QuickFilter",["require","text!../../view/quick-filter.html","ng-admin/Crud/component/controller/directive/QuickFilterController"],function(a){function b(){return{restrict:"E",template:c,controllerAs:"quickFilterCtrl",controller:d}}var c=a("text!../../view/quick-filter.html"),d=a("ng-admin/Crud/component/controller/directive/QuickFilterController");return b.$inject=[],b}),c("text!ng-admin/Crud/view/edit-attribute.html",[],function(){return'
    \n \n\n
    \n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n\n \n
    \n\n
    \n
    \n

    {{ entry.values[field.name()] }}

    \n
    \n
    \n
    \n'}),c("ng-admin/Crud/run/cacheTemplate",["require","text!../view/edit-attribute.html"],function(a){function b(a){a.put("ng-admin/Crud/view/edit-attribute.html",c)}var c=a("text!../view/edit-attribute.html");return b.$inject=["$templateCache"],b}),c("text!ng-admin/Crud/view/list.html",[],function(){return'\n\n\n'}),c("text!ng-admin/Crud/view/create.html",[],function(){return'\n\n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n
    \n
    \n'}),c("text!ng-admin/Crud/view/edit.html",[],function(){return'\n\n
    \n
    \n
    \n\n
    \n
    \n \n
    \n
    \n Delete\n
    \n
    \n
    \n
    \n'}),c("text!ng-admin/Crud/view/delete.html",[],function(){return'\n\n
    \n

    Are you sure ?

    \n \n \n
    \n'}),c("ng-admin/Crud/config/routing",["require","text!../view/list.html","text!../view/create.html","text!../view/edit.html","text!../view/delete.html"],function(a){var b=a("text!../view/list.html"),c=a("text!../view/create.html"),d=a("text!../view/edit.html"),e=a("text!../view/delete.html"),f=function(a){a.state("list",{parent:"main",url:"/list/:entity?q&page&sortField&sortDir&quickFilter",params:{entity:{},q:null,page:1,quickFilter:null,sortField:null,sortDir:null},controller:"ListController",controllerAs:"listController",template:b,resolve:{data:["$stateParams","ListViewRepository","NgAdminConfiguration",function(a,b,c){var d=c(),e=d.getViewByEntityAndType(a.entity,"ListView"),f=a.page,g=a.q,h=a.sortField,i=a.sortDir,j=a.quickFilter,k=null;return j&&(k=e.getQuickFilterParams(j)),b.getAll(e,f,!0,g,h,i,k)}]}}),a.state("create",{parent:"main",url:"/create/:entity",controller:"FormController",controllerAs:"formController",template:c,resolve:{view:["$stateParams","NgAdminConfiguration",function(a,b){var c=b();return c.getViewByEntityAndType(a.entity,"CreateView")}],entry:["view",function(a){var b=a.mapEntry({});return a.processFieldsDefaultValue(b),b}],referencedValues:["ListViewRepository","view",function(a,b){return a.getReferencedValues(b)}]}}),a.state("edit",{parent:"main",url:"/edit/:entity/:id?sortField&sortDir",controller:"FormController",controllerAs:"formController",template:d,params:{entity:{},id:null,sortField:null,sortDir:null},resolve:{view:["$stateParams","NgAdminConfiguration",function(a,b){var c=b();return c.getViewByEntityAndType(a.entity,"EditView")}],entry:["$stateParams","FormViewRepository","view",function(a,b,c){return b.getOne(c,a.id)}],referencedValues:["ListViewRepository","view",function(a,b){return a.getReferencedValues(b)}],referencedListValues:["$stateParams","ListViewRepository","view","entry",function(a,b,c,d){var e=a.sortField,f=a.sortDir;return b.getReferencedListValues(c,e,f,d.identifierValue)}]}}),a.state("delete",{parent:"main",url:"/delete/:entity/:id",controller:"DeleteController",controllerAs:"deleteController",template:e,resolve:{params:["$stateParams",function(a){return a}]}})};return f.$inject=["$stateProvider"],f}),!function(a,b,d){"undefined"!=typeof module?module.exports=d(a,b):"function"==typeof c&&"object"==typeof c.amd?c("humane",d):b[a]=d(a,b)}("humane",this,function(){var a=window,b=document,c={on:function(b,c,d){"addEventListener"in a?b.addEventListener(c,d,!1):b.attachEvent("on"+c,d)},off:function(b,c,d){"removeEventListener"in a?b.removeEventListener(c,d,!1):b.detachEvent("on"+c,d)},bind:function(a,b){return function(){a.apply(b,arguments)}},isArray:Array.isArray||function(a){return"[object Array]"===Object.prototype.toString.call(a)},config:function(a,b){return null!=a?a:b},transSupport:!1,useFilter:/msie [678]/i.test(navigator.userAgent),_checkTransition:function(){var a=b.createElement("div"),c={webkit:"webkit",Moz:"",O:"o",ms:"MS"};for(var d in c)d+"Transition"in a.style&&(this.vendorPrefix=c[d],this.transSupport=!0)}};c._checkTransition();var d=function(b){b||(b={}),this.queue=[],this.baseCls=b.baseCls||"humane",this.addnCls=b.addnCls||"",this.timeout="timeout"in b?b.timeout:2500,this.waitForMove=b.waitForMove||!1,this.clickToClose=b.clickToClose||!1,this.timeoutAfterMove=b.timeoutAfterMove||!1,this.container=b.container;try{this._setupEl()}catch(d){c.on(a,"load",c.bind(this._setupEl,this))}};return d.prototype={constructor:d,_setupEl:function(){var a=b.createElement("div");if(a.style.display="none",!this.container){if(!b.body)throw"document.body is null";this.container=b.body}this.container.appendChild(a),this.el=a,this.removeEvent=c.bind(function(){this.timeoutAfterMove?setTimeout(c.bind(this.remove,this),this.timeout):this.remove()},this),this.transEvent=c.bind(this._afterAnimation,this),this._run()},_afterTimeout:function(){c.config(this.currentMsg.waitForMove,this.waitForMove)?this.removeEventsSet||(c.on(b.body,"mousemove",this.removeEvent),c.on(b.body,"click",this.removeEvent),c.on(b.body,"keypress",this.removeEvent),c.on(b.body,"touchstart",this.removeEvent),this.removeEventsSet=!0):this.remove()},_run:function(){if(!this._animating&&this.queue.length&&this.el){this._animating=!0,this.currentTimer&&(clearTimeout(this.currentTimer),this.currentTimer=null);var a=this.queue.shift(),b=c.config(a.clickToClose,this.clickToClose);b&&(c.on(this.el,"click",this.removeEvent),c.on(this.el,"touchstart",this.removeEvent));var d=c.config(a.timeout,this.timeout);d>0&&(this.currentTimer=setTimeout(c.bind(this._afterTimeout,this),d)),c.isArray(a.html)&&(a.html="
    • "+a.html.join("
    • ")+"
    "),this.el.innerHTML=a.html,this.currentMsg=a,this.el.className=this.baseCls,c.transSupport?(this.el.style.display="block",setTimeout(c.bind(this._showMsg,this),50)):this._showMsg()}},_setOpacity:function(a){if(c.useFilter)try{this.el.filters.item("DXImageTransform.Microsoft.Alpha").Opacity=100*a}catch(b){}else this.el.style.opacity=String(a)},_showMsg:function(){var a=c.config(this.currentMsg.addnCls,this.addnCls);if(c.transSupport)this.el.className=this.baseCls+" "+a+" "+this.baseCls+"-animate";else{var b=0;this.el.className=this.baseCls+" "+a+" "+this.baseCls+"-js-animate",this._setOpacity(0),this.el.style.display="block";var d=this,e=setInterval(function(){1>b?(b+=.1,b>1&&(b=1),d._setOpacity(b)):clearInterval(e)},30)}},_hideMsg:function(){var a=c.config(this.currentMsg.addnCls,this.addnCls);if(c.transSupport)this.el.className=this.baseCls+" "+a,c.on(this.el,c.vendorPrefix?c.vendorPrefix+"TransitionEnd":"transitionend",this.transEvent);else var b=1,d=this,e=setInterval(function(){b>0?(b-=.1,0>b&&(b=0),d._setOpacity(b)):(d.el.className=d.baseCls+" "+a,clearInterval(e),d._afterAnimation())},30)},_afterAnimation:function(){c.transSupport&&c.off(this.el,c.vendorPrefix?c.vendorPrefix+"TransitionEnd":"transitionend",this.transEvent),this.currentMsg.cb&&this.currentMsg.cb(),this.el.style.display="none",this._animating=!1,this._run()},remove:function(a){var d="function"==typeof a?a:null;c.off(b.body,"mousemove",this.removeEvent),c.off(b.body,"click",this.removeEvent),c.off(b.body,"keypress",this.removeEvent),c.off(b.body,"touchstart",this.removeEvent),c.off(this.el,"click",this.removeEvent),c.off(this.el,"touchstart",this.removeEvent),this.removeEventsSet=!1,d&&this.currentMsg&&(this.currentMsg.cb=d),this._animating?this._hideMsg():d&&d()},log:function(a,b,c,d){var e={};if(d)for(var f in d)e[f]=d[f];if("function"==typeof b)c=b;else if(b)for(var f in b)e[f]=b[f];return e.html=a,c&&(e.cb=c),this.queue.push(e),this._run(),this},spawn:function(a){var b=this;return function(c,d,e){return b.log.call(b,c,d,e,a),b}},create:function(a){return new d(a)}},new d}),function(a,b){"function"==typeof c&&c.amd?c("nprogress",b):"object"==typeof exports?module.exports=b():a.NProgress=b()}(this,function(){function a(a,b,c){return b>a?b:a>c?c:a}function b(a){return 100*(-1+a)}function c(a,c,d){var e;return e="translate3d"===j.positionUsing?{transform:"translate3d("+b(a)+"%,0,0)"}:"translate"===j.positionUsing?{transform:"translate("+b(a)+"%,0)"}:{"margin-left":b(a)+"%"},e.transition="all "+c+"ms "+d,e}function d(a,b){var c="string"==typeof a?a:g(a);return c.indexOf(" "+b+" ")>=0}function e(a,b){var c=g(a),e=c+b;d(c,b)||(a.className=e.substring(1))}function f(a,b){var c,e=g(a);d(a,b)&&(c=e.replace(" "+b+" "," "),a.className=c.substring(1,c.length-1))}function g(a){return(" "+(a.className||"")+" ").replace(/\s+/gi," ")}function h(a){a&&a.parentNode&&a.parentNode.removeChild(a)}var i={};i.version="0.1.6";var j=i.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
    '};i.configure=function(a){var b,c;for(b in a)c=a[b],void 0!==c&&a.hasOwnProperty(b)&&(j[b]=c);return this},i.status=null,i.set=function(b){var d=i.isStarted();b=a(b,j.minimum,1),i.status=1===b?null:b;var e=i.render(!d),f=e.querySelector(j.barSelector),g=j.speed,h=j.easing;return e.offsetWidth,k(function(a){""===j.positionUsing&&(j.positionUsing=i.getPositioningCSS()),l(f,c(b,g,h)),1===b?(l(e,{transition:"none",opacity:1}),e.offsetWidth,setTimeout(function(){l(e,{transition:"all "+g+"ms linear",opacity:0}),setTimeout(function(){i.remove(),a()},g)},g)):setTimeout(a,g)}),this},i.isStarted=function(){return"number"==typeof i.status},i.start=function(){i.status||i.set(0);var a=function(){setTimeout(function(){i.status&&(i.trickle(),a())},j.trickleSpeed)};return j.trickle&&a(),this},i.done=function(a){return a||i.status?i.inc(.3+.5*Math.random()).set(1):this},i.inc=function(b){var c=i.status;return c?("number"!=typeof b&&(b=(1-c)*a(Math.random()*c,.1,.95)),c=a(c+b,0,.994),i.set(c)):i.start()},i.trickle=function(){return i.inc(Math.random()*j.trickleRate)},function(){var a=0,b=0;i.promise=function(c){return c&&"resolved"!=c.state()?(0==b&&i.start(),a++,b++,c.always(function(){b--,0==b?(a=0,i.done()):i.set((a-b)/a)}),this):this}}(),i.render=function(a){if(i.isRendered())return document.getElementById("nprogress");e(document.documentElement,"nprogress-busy");var c=document.createElement("div");c.id="nprogress",c.innerHTML=j.template;var d,f=c.querySelector(j.barSelector),g=a?"-100":b(i.status||0),k=document.querySelector(j.parent);return l(f,{transition:"all 0 linear",transform:"translate3d("+g+"%,0,0)"}),j.showSpinner||(d=c.querySelector(j.spinnerSelector),d&&h(d)),k!=document.body&&e(k,"nprogress-custom-parent"),k.appendChild(c),c},i.remove=function(){f(document.documentElement,"nprogress-busy"),f(document.querySelector(j.parent),"nprogress-custom-parent");var a=document.getElementById("nprogress");a&&h(a)},i.isRendered=function(){return!!document.getElementById("nprogress")},i.getPositioningCSS=function(){var a=document.body.style,b="WebkitTransform"in a?"Webkit":"MozTransform"in a?"Moz":"msTransform"in a?"ms":"OTransform"in a?"O":"";return b+"Perspective"in a?"translate3d":b+"Transform"in a?"translate":"margin"};var k=function(){function a(){var c=b.shift();c&&c(a)}var b=[];return function(c){b.push(c),1==b.length&&a()}}(),l=function(){function a(a){return a.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,function(a,b){return b.toUpperCase()})}function b(a){var b=document.body.style;if(a in b)return a;for(var c,d=e.length,f=a.charAt(0).toUpperCase()+a.slice(1);d--;)if(c=e[d]+f,c in b)return c;return a}function c(c){return c=a(c),f[c]||(f[c]=b(c))}function d(a,b,d){b=c(b),a.style[b]=d}var e=["Webkit","O","Moz","ms"],f={};return function(a,b){var c,e,f=arguments;if(2==f.length)for(c in b)e=b[c],void 0!==e&&b.hasOwnProperty(c)&&d(a,c,e);else d(a,f[1],f[2])}}();return i}),c("CrudModule",["require","angular","angular-ui-router","angular-sanitize","angular-bootstrap-tpls","textangular","ng-admin/Crud/component/controller/ListController","ng-admin/Crud/component/controller/FormController","ng-admin/Crud/component/controller/DeleteController","ng-admin/Crud/component/service/ListViewRepository","ng-admin/Crud/component/service/FormViewRepository","ng-admin/Crud/component/directive/Compile","ng-admin/Crud/component/directive/field/StringField","ng-admin/Crud/component/directive/field/PasswordField","ng-admin/Crud/component/directive/field/EmailField","ng-admin/Crud/component/directive/field/TextField","ng-admin/Crud/component/directive/field/NumberField","ng-admin/Crud/component/directive/field/DateField","ng-admin/Crud/component/directive/field/BooleanField","ng-admin/Crud/component/directive/field/ChoiceField","ng-admin/Crud/component/directive/field/ChoicesField","ng-admin/Crud/component/directive/field/ReferenceField","ng-admin/Crud/component/directive/field/ReferenceManyField","ng-admin/Crud/component/directive/field/WysiwygField","ng-admin/Crud/component/directive/field/TemplateField","ng-admin/Crud/component/directive/column/StringColumn","ng-admin/Crud/component/directive/column/PasswordColumn","ng-admin/Crud/component/directive/column/EmailColumn","ng-admin/Crud/component/directive/column/TextColumn","ng-admin/Crud/component/directive/column/NumberColumn","ng-admin/Crud/component/directive/column/DateColumn","ng-admin/Crud/component/directive/column/BooleanColumn","ng-admin/Crud/component/directive/column/ChoiceColumn","ng-admin/Crud/component/directive/column/ChoicesColumn","ng-admin/Crud/component/directive/column/ReferenceColumn","ng-admin/Crud/component/directive/column/ReferenceManyColumn","ng-admin/Crud/component/directive/column/WysiwygColumn","ng-admin/Crud/component/directive/column/TemplateColumn","ng-admin/Crud/component/directive/Datagrid","ng-admin/Crud/component/directive/DatagridPagination","ng-admin/Crud/component/directive/QuickFilter","ng-admin/Crud/run/cacheTemplate","ng-admin/Crud/config/routing","humane","nprogress"],function(a){var b=a("angular");a("angular-ui-router"),a("angular-sanitize"),a("angular-bootstrap-tpls"),a("textangular");var c=b.module("crud",["ui.router","ui.bootstrap","ngSanitize","textAngular"]);return c.controller("ListController",a("ng-admin/Crud/component/controller/ListController")),c.controller("FormController",a("ng-admin/Crud/component/controller/FormController")),c.controller("DeleteController",a("ng-admin/Crud/component/controller/DeleteController")),c.service("ListViewRepository",a("ng-admin/Crud/component/service/ListViewRepository")),c.service("FormViewRepository",a("ng-admin/Crud/component/service/FormViewRepository")),c.directive("compile",a("ng-admin/Crud/component/directive/Compile")),c.directive("stringField",a("ng-admin/Crud/component/directive/field/StringField")),c.directive("passwordField",a("ng-admin/Crud/component/directive/field/PasswordField")),c.directive("emailField",a("ng-admin/Crud/component/directive/field/EmailField")),c.directive("textField",a("ng-admin/Crud/component/directive/field/TextField")),c.directive("numberField",a("ng-admin/Crud/component/directive/field/NumberField")),c.directive("dateField",a("ng-admin/Crud/component/directive/field/DateField")),c.directive("booleanField",a("ng-admin/Crud/component/directive/field/BooleanField")),c.directive("choiceField",a("ng-admin/Crud/component/directive/field/ChoiceField")),c.directive("choicesField",a("ng-admin/Crud/component/directive/field/ChoicesField")),c.directive("referenceField",a("ng-admin/Crud/component/directive/field/ReferenceField")),c.directive("referenceManyField",a("ng-admin/Crud/component/directive/field/ReferenceManyField")),c.directive("wysiwygField",a("ng-admin/Crud/component/directive/field/WysiwygField")),c.directive("templateField",a("ng-admin/Crud/component/directive/field/TemplateField")),c.directive("stringColumn",a("ng-admin/Crud/component/directive/column/StringColumn")),c.directive("passwordColumn",a("ng-admin/Crud/component/directive/column/PasswordColumn")),c.directive("emailColumn",a("ng-admin/Crud/component/directive/column/EmailColumn")),c.directive("textColumn",a("ng-admin/Crud/component/directive/column/TextColumn")),c.directive("numberColumn",a("ng-admin/Crud/component/directive/column/NumberColumn")),c.directive("dateColumn",a("ng-admin/Crud/component/directive/column/DateColumn")),c.directive("booleanColumn",a("ng-admin/Crud/component/directive/column/BooleanColumn")),c.directive("choiceColumn",a("ng-admin/Crud/component/directive/column/ChoiceColumn")),c.directive("choicesColumn",a("ng-admin/Crud/component/directive/column/ChoicesColumn")),c.directive("referenceColumn",a("ng-admin/Crud/component/directive/column/ReferenceColumn")),c.directive("referenceManyColumn",a("ng-admin/Crud/component/directive/column/ReferenceManyColumn")),c.directive("wysiwygColumn",a("ng-admin/Crud/component/directive/column/WysiwygColumn")),c.directive("templateColumn",a("ng-admin/Crud/component/directive/column/TemplateColumn")),c.directive("datagrid",a("ng-admin/Crud/component/directive/Datagrid")),c.directive("datagridPagination",a("ng-admin/Crud/component/directive/DatagridPagination")),c.directive("quickFilter",a("ng-admin/Crud/component/directive/QuickFilter")),c.run(a("ng-admin/Crud/run/cacheTemplate")),c.config(a("ng-admin/Crud/config/routing")),c.factory("notification",function(){return a("humane") +}),c.factory("progression",function(){return a("nprogress")}),c.config(["$provide",function(a){a.decorator("dateParser",["$delegate",function(a){var c=a.parse;return a.parse=function(a,d){return b.isString(a)&&d?c.apply(this,arguments):a},a}])}]),c}),c("angular",[],function(){return angular}),b.config({paths:{"angular-resource":"bower_components/angular-resource/angular-resource","angular-sanitize":"bower_components/angular-sanitize/angular-sanitize","angular-route":"bower_components/angular-route/angular-route","angular-ui-router":"bower_components/angular-ui-router/release/angular-ui-router",lodash:"bower_components/lodash/dist/lodash.min",text:"bower_components/requirejs-text/text","angular-bootstrap":"bower_components/angular-bootstrap/ui-bootstrap.min","angular-bootstrap-tpls":"bower_components/angular-bootstrap/ui-bootstrap-tpls.min",restangular:"bower_components/restangular/dist/restangular",humane:"bower_components/humane/humane",nprogress:"bower_components/nprogress/nprogress",textangular:"bower_components/textAngular/dist/textAngular.min",MainModule:"ng-admin/Main/MainModule",CrudModule:"ng-admin/Crud/CrudModule"},shim:{restangular:{deps:["angular","lodash"]},"angular-ui-router":{deps:["angular"]},"angular-bootstrap":{deps:["angular"]},"angular-bootstrap-tpls":{deps:["angular","angular-bootstrap"]}}}),c("ng-admin",["require","angular","MainModule","CrudModule"],function(a){var b=a("angular");a("MainModule"),a("CrudModule"),b.module("ng-admin",["main","crud"])}),b("ng-admin")}); //# sourceMappingURL=ng-admin.min.map \ No newline at end of file diff --git a/build/ng-admin.min.map b/build/ng-admin.min.map index 51cc7081..c261be45 100644 --- a/build/ng-admin.min.map +++ b/build/ng-admin.min.map @@ -1 +1 @@ -{"version":3,"file":"ng-admin.min.js","sources":["ng-admin.min.js"],"names":["root","factory","define","amd","exports","module","ngAdmin","this","requirejs","require","undef","hasProp","obj","prop","hasOwn","call","normalize","name","baseName","nameParts","nameSegment","mapValue","foundMap","lastIndex","foundI","foundStarMap","starI","i","j","part","baseParts","split","map","config","starMap","charAt","slice","length","nodeIdCompat","jsSuffixRegExp","test","replace","concat","splice","join","indexOf","substring","makeRequire","relName","forceSync","args","aps","arguments","push","req","apply","makeNormalize","makeLoad","depName","value","defined","callDep","waiting","defining","main","Error","splitPrefix","prefix","index","makeConfig","makeMap","handlers","Object","prototype","hasOwnProperty","plugin","parts","f","n","pr","p","e","id","uri","deps","callback","cjsModule","ret","usingExports","callbackType","load","undefined","alt","setTimeout","cfg","_defined","jQuery","window","document","minErr","message","code","template","templateArgs","stringify","toString","JSON","match","arg","toJson","encodeURIComponent","isArrayLike","isWindow","nodeType","isString","isArray","forEach","iterator","context","key","isFunction","sortedKeys","keys","sort","forEachSorted","reverseParams","iteratorFn","nextUid","digit","uid","charCodeAt","String","fromCharCode","unshift","setHashKey","h","$$hashKey","extend","dst","int","str","parseInt","inherit","parent","extra","noop","identity","$","valueFn","isUndefined","isDefined","isObject","isNumber","isDate","isRegExp","location","alert","setInterval","isScope","$evalAsync","$watch","isFile","isBlob","isPromiseLike","then","isElement","node","nodeName","attr","find","results","list","includes","array","arrayRemove","copy","source","destination","stackSource","stackDest","ngMinErr","result","Date","getTime","RegExp","shallowCopy","src","equals","o1","o2","keySet","t1","t2","isNaN","array1","array2","sliceArgs","startIndex","bind","self","fn","curryArgs","toJsonReplacer","val","pretty","fromJson","json","parse","toBoolean","v","lowercase","startingTag","element","jqLite","clone","empty","TEXT_NODE","elemHtml","append","html","tryDecodeURIComponent","decodeURIComponent","parseKeyValue","keyValue","key_value","toKeyValue","arrayValue","encodeUriQuery","encodeUriSegment","pctEncodeSpaces","angularInit","bootstrap","elements","appElement","names","NG_APP_CLASS_REGEXP","getElementById","querySelectorAll","className","exec","attributes","modules","doBootstrap","injector","tag","$provide","createInjector","invoke","scope","compile","$apply","data","NG_DEFER_BOOTSTRAP","angular","resumeBootstrap","extraModules","snake_case","separator","SNAKE_CASE_REGEXP","letter","pos","toLowerCase","bindJQuery","on","JQLitePrototype","isolateScope","controller","inheritedData","jqLitePatchJQueryRemove","JQLite","assertArg","reason","assertArgFn","acceptArrayAnnotation","constructor","assertNotHasOwnProperty","getter","path","bindFnToScope","lastInstance","len","getBlockElements","nodes","startNode","endNode","nextSibling","setupModuleLoader","ensure","$injectorMinErr","$$minErr","requires","configFn","invokeLater","provider","method","insertMethod","invokeQueue","moduleInstance","runBlocks","_invokeQueue","_runBlocks","service","constant","animation","filter","directive","run","block","publishExternalAPI","version","uppercase","callbacks","counter","$$csp","csp","angularModule","$LocaleProvider","$$sanitizeUri","$$SanitizeUriProvider","$CompileProvider","a","htmlAnchorDirective","input","inputDirective","textarea","form","formDirective","script","scriptDirective","select","selectDirective","style","styleDirective","option","optionDirective","ngBind","ngBindDirective","ngBindHtml","ngBindHtmlDirective","ngBindTemplate","ngBindTemplateDirective","ngClass","ngClassDirective","ngClassEven","ngClassEvenDirective","ngClassOdd","ngClassOddDirective","ngCloak","ngCloakDirective","ngController","ngControllerDirective","ngForm","ngFormDirective","ngHide","ngHideDirective","ngIf","ngIfDirective","ngInclude","ngIncludeDirective","ngInit","ngInitDirective","ngNonBindable","ngNonBindableDirective","ngPluralize","ngPluralizeDirective","ngRepeat","ngRepeatDirective","ngShow","ngShowDirective","ngStyle","ngStyleDirective","ngSwitch","ngSwitchDirective","ngSwitchWhen","ngSwitchWhenDirective","ngSwitchDefault","ngSwitchDefaultDirective","ngOptions","ngOptionsDirective","ngTransclude","ngTranscludeDirective","ngModel","ngModelDirective","ngList","ngListDirective","ngChange","ngChangeDirective","required","requiredDirective","ngRequired","ngValue","ngValueDirective","ngIncludeFillContentDirective","ngAttributeAliasDirectives","ngEventDirectives","$anchorScroll","$AnchorScrollProvider","$animate","$AnimateProvider","$browser","$BrowserProvider","$cacheFactory","$CacheFactoryProvider","$controller","$ControllerProvider","$document","$DocumentProvider","$exceptionHandler","$ExceptionHandlerProvider","$filter","$FilterProvider","$interpolate","$InterpolateProvider","$interval","$IntervalProvider","$http","$HttpProvider","$httpBackend","$HttpBackendProvider","$location","$LocationProvider","$log","$LogProvider","$parse","$ParseProvider","$rootScope","$RootScopeProvider","$q","$QProvider","$sce","$SceProvider","$sceDelegate","$SceDelegateProvider","$sniffer","$SnifferProvider","$templateCache","$TemplateCacheProvider","$timeout","$TimeoutProvider","$window","$WindowProvider","$$rAF","$$RAFProvider","$$asyncCallback","$$AsyncCallbackProvider","jqNextId","jqId","camelCase","SPECIAL_CHARS_REGEXP","_","offset","toUpperCase","MOZ_HACK_REGEXP","dispatchThis","filterElems","getterIfNoArguments","removePatch","param","set","setIndex","setLength","childIndex","childLength","children","fireEvent","shift","triggerHandler","originalJqFn","$original","jqLiteIsTextNode","HTML_REGEXP","jqLiteBuildFragment","tmp","wrap","jj","fragment","createDocumentFragment","createTextNode","appendChild","createElement","TAG_NAME_REGEXP","wrapMap","_default","innerHTML","XHTML_TAG_REGEXP","removeChild","firstChild","lastChild","childNodes","textContent","jqLiteParseHTML","parsed","SINGLE_TAG_REGEXP","trim","jqLiteMinErr","jqLiteAddNodes","jqLiteClone","cloneNode","jqLiteDealoc","jqLiteRemoveData","jqLiteOff","type","unsupported","events","jqLiteExpandoStore","handle","eventHandler","removeEventListenerFn","expandoId","ng339","expandoStore","jqCache","$destroy","jqLiteData","isSetter","keyDefined","isSimpleGetter","jqLiteHasClass","selector","getAttribute","jqLiteRemoveClass","cssClasses","setAttribute","cssClass","jqLiteAddClass","existingClasses","jqLiteController","jqLiteInheritedData","documentElement","ii","parentNode","host","jqLiteEmpty","getBooleanAttrName","booleanAttr","BOOLEAN_ATTR","BOOLEAN_ELEMENTS","createEventHandler","event","preventDefault","returnValue","stopPropagation","cancelBubble","target","srcElement","defaultPrevented","prevent","isDefaultPrevented","eventHandlersCopy","msie","elem","hashKey","nextUidFn","objType","HashMap","isolatedUid","put","annotate","$inject","fnText","argDecl","last","STRIP_COMMENTS","FN_ARGS","FN_ARG_SPLIT","FN_ARG","all","underscore","modulesToLoad","supportObject","delegate","provider_","providerInjector","instantiate","$get","providerCache","providerSuffix","factoryFn","$injector","instanceCache","decorator","serviceName","decorFn","origProvider","get","orig$get","origInstance","instanceInjector","$delegate","loadModules","moduleFn","loadedModules","invokeArgs","stack","createInternalInjector","cache","getService","INSTANTIATING","err","locals","Type","instance","returnedValue","Constructor","has","servicename","autoScrollingEnabled","disableAutoScrolling","getFirstAnchor","scroll","elm","hash","scrollIntoView","getElementsByName","scrollTo","supported","Browser","completeOutstandingRequest","outstandingRequestCount","outstandingRequestCallbacks","pop","error","startPoller","interval","check","pollFns","pollFn","pollTimeout","fireUrlChange","newLocation","lastBrowserUrl","url","urlChangeListeners","listener","rawDocument","history","clearTimeout","pendingDeferIds","isMock","$$completeOutstandingRequest","$$incOutstandingRequestCount","notifyWhenNoOutstandingRequests","addPollFn","href","baseElement","replaceState","pushState","urlChangeInit","onUrlChange","hashchange","$$checkUrlChange","baseHref","lastCookies","lastCookieString","cookiePath","cookies","cookieLength","cookieArray","cookie","unescape","escape","warn","defer","delay","timeoutId","cancel","deferId","cacheFactory","cacheId","options","refresh","entry","freshEnd","staleEnd","link","nextEntry","prevEntry","caches","size","stats","capacity","Number","MAX_VALUE","lruHash","lruEntry","remove","removeAll","destroy","info","$$sanitizeUriProvider","hasDirectives","Suffix","COMMENT_DIRECTIVE_REGEXP","CLASS_DIRECTIVE_REGEXP","EVENT_HANDLER_ATTR_REGEXP","registerDirective","directiveFactory","directives","priority","restrict","aHrefSanitizationWhitelist","regexp","imgSrcSanitizationWhitelist","$compileNodes","transcludeFn","maxPriority","ignoreDirective","previousCompileContext","nodeValue","compositeLinkFn","compileNodes","safeAddClass","cloneConnectFn","transcludeControllers","parentBoundTranscludeFn","$linkNode","eq","$element","addClass","nodeList","$rootElement","nodeLinkFn","childLinkFn","childScope","childBoundTranscludeFn","nodeListLength","stableNodeList","Array","linkFns","$new","transcludeOnThisElement","createBoundTranscludeFn","transclude","templateOnThisElement","attrs","linkFnFound","Attributes","collectDirectives","applyDirectivesToNode","$$element","terminal","previousBoundTranscludeFn","boundTranscludeFn","transcludedScope","cloneFn","controllers","scopeCreated","$$transcluded","attrsMap","$attr","addDirective","directiveNormalize","nodeName_","nName","ngAttrName","isNgAttr","nAttrs","attrStartName","attrEndName","specified","NG_ATTR_BINDING","substr","directiveNName","addAttrInterpolateDirective","addTextInterpolateDirective","byPriority","groupScan","attrStart","attrEnd","depth","hasAttribute","$compileMinErr","groupElementsLinkFnWrapper","linkFn","compileNode","templateAttrs","jqCollection","originalReplaceDirective","preLinkFns","postLinkFns","addLinkFns","pre","post","directiveName","newIsolateScopeDirective","$$isolateScope","cloneAndAnnotateFn","getControllers","elementControllers","retrievalMethod","optional","linkNode","controllersBoundTransclude","cloneAttachFn","hasElementTranscludeDirective","LOCAL_REGEXP","templateDirective","$$originalDirective","definition","scopeName","lastValue","parentGet","parentSet","compare","attrName","mode","$$isolateBindings","$observe","$$observers","$$scope","literal","b","assign","parentValue","controllerDirectives","controllerInstance","$scope","$attrs","$transclude","controllerAs","scopeToChild","templateUrl","newScopeDirective","$template","directiveValue","terminalPriority","nonTlbTranscludeDirective","hasTranscludeDirective","hasTemplate","$compileNode","replaceDirective","childTranscludeFn","$$start","$$end","assertNoDuplicate","$$tlb","createComment","replaceWith","contents","denormalizeTemplate","newTemplateAttrs","templateDirectives","unprocessedDirectives","markDirectivesAsIsolate","mergeTemplateAttributes","compileTemplateUrl","Math","max","tDirectives","startAttrName","endAttrName","srcAttr","dstAttr","$set","tAttrs","afterTemplateNodeLinkFn","afterTemplateChildLinkFn","linkQueue","beforeTemplateCompileNode","origAsyncDirective","derivedSyncDirective","getTrustedResourceUrl","success","content","tempTemplateAttrs","beforeTemplateLinkNode","linkRootElement","oldClasses","response","headers","ignoreChildLinkFn","rootElement","diff","what","previousDirective","text","interpolateFn","templateNode","hasCompileParent","bindings","getTrustedContext","attrNormalizedName","HTML","RESOURCE_URL","$$inter","newValue","oldValue","$updateClass","elementsToRemove","newNode","firstElementToRemove","removeCount","j2","replaceChild","expando","k","kk","annotation","$normalize","$addClass","classVal","$removeClass","removeClass","newClasses","toAdd","tokenDifference","toRemove","setClass","writeAttr","booleanKey","removeAttr","listeners","startSymbol","endSymbol","PREFIX_REGEXP","str1","str2","values","tokens1","tokens2","outer","token","CNTRL_REG","register","expression","identifier","parseHeaders","line","headersGetter","headersObj","transformData","fns","isSuccess","status","JSON_START","JSON_END","PROTECTION_PREFIX","CONTENT_TYPE_APPLICATION_JSON","Content-Type","defaults","transformResponse","transformRequest","d","common","Accept","patch","xsrfCookieName","xsrfHeaderName","interceptorFactories","interceptors","responseInterceptorFactories","responseInterceptors","requestConfig","resp","reject","mergeHeaders","execHeaders","headerContent","headerFn","header","defHeaderName","lowercaseDefHeaderName","reqHeaderName","defHeaders","reqHeaders","defaultHeadersIteration","serverRequest","reqData","withCredentials","sendReq","chain","promise","when","reversedInterceptors","interceptor","request","requestError","responseError","thenFn","rejectFn","createShortMethods","createShortMethodsWithData","done","headersString","statusText","resolvePromise","$$phase","deferred","resolve","removePendingReq","idx","pendingRequests","cachedResp","buildUrl","params","defaultCache","xsrfValue","urlIsSameOrigin","timeout","responseType","toISOString","interceptorFactory","responseFn","createXhr","XMLHttpRequest","ActiveXObject","createHttpBackend","$browserDefer","jsonpReq","callbackId","async","body","called","addEventListenerFn","onreadystatechange","readyState","ABORTED","timeoutRequest","jsonpDone","xhr","abort","completeRequest","urlResolve","protocol","open","setRequestHeader","responseHeaders","getAllResponseHeaders","responseText","send","mustHaveExpression","trustedContext","endIndex","exp","hasInterpolation","startSymbolLength","endSymbolLength","$interpolateMinErr","getTrusted","valueOf","newErr","count","invokeApply","clearInterval","iteration","skipApply","$$intervalId","notify","intervals","NUMBER_FORMATS","DECIMAL_SEP","GROUP_SEP","PATTERNS","minInt","minFrac","maxFrac","posPre","posSuf","negPre","negSuf","gSize","lgSize","CURRENCY_SYM","DATETIME_FORMATS","MONTH","SHORTMONTH","DAY","SHORTDAY","AMPMS","medium","short","fullDate","longDate","mediumDate","shortDate","mediumTime","shortTime","pluralCat","num","encodePath","segments","parseAbsoluteUrl","absoluteUrl","locationObj","appBase","parsedUrl","$$protocol","$$host","hostname","$$port","port","DEFAULT_PORTS","parseAppUrl","relativeUrl","prefixed","$$path","pathname","$$search","search","$$hash","beginsWith","begin","whole","stripHash","stripFile","lastIndexOf","serverBase","LocationHtml5Url","basePrefix","$$html5","appBaseNoFile","$$parse","pathUrl","$locationMinErr","$$compose","$$url","$$absUrl","$$rewrite","appUrl","prevAppUrl","LocationHashbangUrl","hashPrefix","removeWindowsDriveName","base","firstPathSegmentMatch","windowsFilePathExp","withoutBaseUrl","withoutHashUrl","LocationHashbangInHtml5Url","locationGetter","property","locationGetterSetter","preprocess","html5Mode","afterLocationChange","oldUrl","$broadcast","absUrl","LocationMode","initialUrl","IGNORE_URI_REGEXP","ctrlKey","metaKey","which","absHref","animVal","rewrittenUrl","newUrl","$digest","changeCounter","currentReplace","$$replace","debug","debugEnabled","flag","formatError","sourceURL","consoleLog","console","logFn","log","hasApply","arg1","arg2","ensureSafeMemberName","fullExpression","$parseMinErr","ensureSafeObject","ensureSafeFunction","CALL","APPLY","BIND","setter","setValue","fullExp","propertyObj","unwrapPromises","promiseWarning","$$v","cspSafeGetterFn","key0","key1","key2","key3","key4","pathVal","getterFn","getterFnCache","pathKeys","pathKeysLength","evaledFnGetter","Function","$parseOptions","logPromiseWarnings","promiseWarningCache","parsedExpression","lexer","Lexer","parser","Parser","qFactory","nextTick","exceptionHandler","defaultCallback","defaultErrback","promises","ref","pending","createInternalRejectedPromise","progress","errback","progressback","wrappedCallback","wrappedErrback","wrappedProgressback","catch","finally","makePromise","resolved","handleCallback","isResolved","callbackOutput","requestAnimationFrame","webkitRequestAnimationFrame","mozRequestAnimationFrame","cancelAnimationFrame","webkitCancelAnimationFrame","mozCancelAnimationFrame","webkitCancelRequestAnimationFrame","rafSupported","raf","timer","TTL","$rootScopeMinErr","lastDirtyWatch","digestTtl","Scope","$id","$parent","$$watchers","$$nextSibling","$$prevSibling","$$childHead","$$childTail","$root","$$destroyed","$$asyncQueue","$$postDigestQueue","$$listeners","$$listenerCount","beginPhase","phase","clearPhase","compileToFn","decrementListenerCount","current","initWatchVal","isolate","child","$$childScopeClass","watchExp","objectEquality","watcher","listenFn","newVal","oldVal","originalFn","$watchCollection","$watchCollectionWatch","objGetter","newLength","bothNaN","internalArray","oldLength","changeDetected","internalObject","$watchCollectionAction","initRun","veryOldValue","trackVeryOldValue","watch","watchers","dirty","next","logIdx","logMsg","asyncTask","asyncQueue","postDigestQueue","ttl","watchLog","$eval","traverseScopesLoop","$on","expr","$$postDigest","namedListeners","$emit","targetScope","listenerArgs","currentScope","isImage","normalizedVal","regex","escapeForRegexp","s","adjustMatcher","matcher","$sceMinErr","adjustMatchers","matchers","adjustedMatchers","SCE_CONTEXTS","resourceUrlWhitelist","resourceUrlBlacklist","matchUrl","isResourceUrlAllowedByPolicy","allowed","generateHolderType","Base","holderType","trustedValue","$$unwrapTrustedValue","trustAs","byType","maybeTrusted","trustedValueHolderBase","htmlSanitizer","CSS","URL","JS","enabled","msieDocumentMode","sce","isEnabled","parseAs","enumValue","lName","vendorPrefix","eventSupport","android","navigator","userAgent","boxee","documentMode","vendorRegex","bodyStyle","transitions","animations","webkitTransition","webkitAnimation","hasEvent","divElm","deferreds","$$timeoutId","urlParsingNode","requestUrl","originUrl","filters","suffix","currencyFilter","dateFilter","filterFilter","jsonFilter","limitToFilter","lowercaseFilter","numberFilter","orderByFilter","uppercaseFilter","comparator","comparatorType","predicates","objKey","filtered","$locale","formats","amount","currencySymbol","formatNumber","number","fractionSize","pattern","groupSep","decimalSep","isFinite","isNegative","abs","numStr","formatedText","hasExponent","toFixed","fractionLen","min","round","fraction","lgroup","group","padNumber","digits","neg","dateGetter","date","dateStrGetter","shortForm","timeZoneGetter","zone","getTimezoneOffset","paddedZone","ampmGetter","getHours","jsonStringToDate","string","R_ISO8601_STR","tzHour","tzMin","dateSetter","setUTCFullYear","setFullYear","timeSetter","setUTCHours","setHours","m","ms","parseFloat","format","NUMBER_STRING","DATE_FORMATS_SPLIT","DATE_FORMATS","object","limit","Infinity","out","sortPredicate","reverseOrder","comp","reverseComparator","descending","v1","v2","predicate","arrayCopy","ngDirective","FormController","toggleValidCss","isValid","validationErrorKey","VALID_CLASS","INVALID_CLASS","parentForm","nullFormCtrl","invalidCount","errors","$error","controls","$name","$dirty","$pristine","$valid","$invalid","$addControl","PRISTINE_CLASS","control","$removeControl","queue","validationToken","$setValidity","$setDirty","DIRTY_CLASS","$setPristine","validate","ctrl","validatorName","validity","testFlags","flags","addNativeHtml5Validators","badFlags","ignoreFlags","$$hasNativeValidators","validator","$parsers","textInputType","VALIDITY_STATE_PROPERTY","placeholder","noevent","$$validityState","composing","ev","ngTrim","revalidate","$viewValue","$setViewValue","deferListener","keyCode","$render","$isEmpty","patternValidator","ngPattern","validateRegex","patternObj","$formatters","ngMinlength","minlength","minLengthValidator","ngMaxlength","maxlength","maxLengthValidator","numberInputType","NUMBER_REGEXP","numberBadFlags","minValidator","maxValidator","urlInputType","urlValidator","URL_REGEXP","emailInputType","emailValidator","EMAIL_REGEXP","radioInputType","checked","checkboxInputType","trueValue","ngTrueValue","falseValue","ngFalseValue","classDirective","arrayDifference","arrayClasses","classes","addClasses","digestClassCounts","removeClasses","classCounts","classesToUpdate","updateClasses","ngClassWatchAction","$index","old$index","mod","manualLowercase","ch","manualUppercase","isActive_","active","querySelector","full","major","minor","dot","codeName","addEventListener","attachEvent","removeEventListener","detachEvent","_data","thead","col","tr","td","optgroup","tbody","tfoot","colgroup","caption","th","ready","trigger","fired","removeData","removeAttribute","hasClass","css","currentStyle","lowercasedName","getNamedItem","getText","textProp","NODE_TYPE_TEXT_PROPERTY","$dv","multiple","selected","nodeCount","dealoc","onFn","eventFns","contains","compareDocumentPosition","adown","bup","eventmap","mouseleave","mouseenter","related","relatedTarget","off","one","replaceNode","insertBefore","contentDocument","prepend","wrapNode","after","newElement","toggleClass","condition","classCondition","nextElementSibling","getElementsByTagName","extraParameters","dummyEvent","eventFnsCopy","handlerArgs","eventName","arg3","unbind","$animateMinErr","$$selectors","classNameFilter","$$classNameFilter","enter","leave","move","add","PATH_MATCH","http","https","ftp","paramValue","OPERATORS","null","true","false","+","-","*","/","%","^","=","===","!==","==","!=","<",">","<=",">=","&&","||","&","|","!","ESCAPE","r","t","'","\"","lex","lastCh","tokens","is","readString","peek","readNumber","isIdent","readIdent","isWhitespace","ch2","ch3","fn2","fn3","throwError","chars","was","isExpOperator","start","end","colStr","peekCh","lastDot","peekIndex","methodName","ident","quote","rawString","hex","rep","ZERO","statements","primary","expect","filterChain","consume","arrayDeclaration","functionCall","objectIndex","fieldAccess","msg","peekToken","e1","e2","e3","e4","unaryFn","right","ternaryFn","left","middle","binaryFn","statement","argsFn","fnInvoke","assignment","ternary","logicalOR","logicalAND","equality","relational","additive","multiplicative","unary","field","o","indexFn","contextGetter","fnPtr","elementFns","allConstant","elementFn","keyValues","yyyy","yy","y","MMMM","MMM","MM","M","dd","HH","H","hh","mm","ss","sss","EEEE","EEE","Z","xlinkHref","propName","normalized","formDirectiveFactory","isNgForm","formElement","action","preventDefaultListener","parentFormCtrl","alias","inputType","email","radio","checkbox","hidden","button","submit","reset","file","NgModelController","NaN","$modelValue","$viewChangeListeners","ngModelGet","ngModelSet","formatters","ctrls","modelCtrl","formCtrl","viewValue","CONSTANT_VALUE_REGEXP","tpl","tplAttr","templateElement","tElement","getStringValue","getTrustedHtml","forceAsyncEvents","blur","focus","$event","previousElements","srcExp","onloadExp","onload","autoScrollExp","autoscroll","previousElement","currentElement","cleanupLastIncludeContent","parseAsResourceUrl","afterAnimation","thisChangeId","newScope","$compile","BRACE","numberExp","whenExp","whens","whensExpFns","isWhen","attributeName","getBlockStart","getBlockEnd","NG_REMOVED","ngRepeatMinErr","trackByExp","trackByExpGetter","trackByIdExpFn","trackByIdArrayFn","trackByIdObjFn","lhs","rhs","valueIdentifier","keyIdentifier","hashFnLocals","lastBlockMap","collection","nextNode","arrayLength","trackById","trackByIdFn","collectionKeys","previousNode","nextBlockMap","nextBlockOrder","$first","$last","$middle","$odd","$even","newStyles","oldStyles","cases","ngSwitchController","watchExpr","selectedTranscludes","selectedElements","selectedScopes","change","selectedTransclude","selectedScope","caseElement","anchor","ngOptionsMinErr","NG_OPTIONS_REGEXP","nullModelCtrl","nullOption","unknownOption","optionsMap","ngModelCtrl","databound","init","ngModelCtrl_","nullOption_","unknownOption_","addOption","removeOption","hasOption","renderUnknownOption","unknownVal","setupAsSingle","selectElement","selectCtrl","emptyOption","setupAsMultiple","lastView","items","setupAsOptions","getSelectedSet","selectedSet","modelValue","trackFn","trackIndex","valueName","render","optionGroupName","optionGroup","existingParent","existingOptions","existingOption","groupLength","groupIndex","lastElement","label","optionGroups","optionGroupNames","valuesFn","keyName","groupByFn","modelCast","displayFn","optionGroupsCache","optGroupTemplate","optionTemplate","optionsExp","track","optionElement","toDisplay","nullSelectCtrl","selectCtrlName","global","merge","ancestors","first","second","objectKeys","arraySearch","from","ceil","floor","inheritParams","currentParams","newParams","$current","$to","parentParams","parents","inherited","inheritList","equalForKeys","filterByKeys","$Resolve","VISIT_IN_PROGRESS","VISIT_DONE","NOTHING","NO_DEPENDENCIES","NO_LOCALS","NO_PARENT","$$promises","$$values","study","invocables","visit","visited","cycle","plan","isResolve","wait","merged","$$inheritedValues","resolution","fail","$$failure","invocable","onfailure","invocation","proceed","waitParams","dep","$TemplateFactory","fromConfig","fromString","fromUrl","templateProvider","fromProvider","UrlMatcher","$value","decode","$UrlMatcherFactory","$$getDefaultValue","addParameter","quoteRegExp","isOptional","paramConfig","compiled","segment","$types","$subPattern","sourceSearch","sourcePath","strict","caseInsensitive","getDefaultConfig","isStrictMode","isCaseInsensitive","isInjectable","flushTypeQueue","typeQueue","def","enqueue","defaultTypes","bool","encode","getFullYear","getMonth","getDate","strictMode","isMatcher","$UrlRouterProvider","$locationProvider","$urlMatcherFactory","regExpPrefix","re","interpolate","handleIfMatch","handler","$match","appendBasePath","isHtml5","absolute","update","evt","rule","handled","rules","otherwise","listen","interceptDeferred","sync","read","urlMatcher","validates","slash","redirect","handlerIsString","strategies","sticky","deferIntercept","$StateProvider","$urlRouterProvider","isRelative","stateName","findState","stateOrName","isStr","rel","pathLength","state","states","queueState","parentName","registerState","stateBuilder","$delegates","abstractKey","$stateParams","$state","navigable","transitionTo","isGlob","doesStateMatchGlob","glob","globSegments","l","func","$view","$resolve","$urlRouter","handleRedirect","TransitionAborted","retry","$retry","TransitionFailed","retryTransition","transition","TransitionSuperseded","to","toParams","resolveState","paramsAreFiltered","globals","views","view","injectables","controllerProvider","injectLocals","$$controller","$$state","$$controllerAs","TransitionPrevented","reload","go","relative","fromParams","fromPath","toState","redirectResult","toPath","keep","toLocals","ownParams","shouldTriggerReload","reloadOnSearch","entering","exiting","onExit","onEnter","lossy","nav","compositeName","paramNames","own","abstract","$ViewProvider","$templateFactory","$ViewScrollProvider","useAnchorScroll","$ViewDirective","$uiViewScroll","getRenderer","statics","cb","$animator","animate","cleanupLastView","previousEl","currentEl","renderer","updateView","firstTime","getUiViewName","previousLocals","latestLocals","$ViewDirectiveFill","initial","uiView","parseStateRef","preparsed","paramExpr","stateContext","el","stateData","$StateRefDirective","allowedOptions","uiSrefActive","uiSref","isForm","optionsOverride","uiSrefOpts","newHref","activeDirective","$$setStateInfo","shiftKey","$StateRefActiveDirective","isMatch","activeClass","uiSrefActiveEq","matchesParams","newState","$IsStateFilter","$IncludedByStateFilter","searchParams","parameters","nTotal","nPath","sub","u","U","g","c","V","tt","Fe","me","J","Te","Q","__chain__","__wrapped__","X","be","nt","wt","$e","ce","K","Ae","T","F","W","P","z","C","St","ke","Ut","__bindData__","De","funcNames","funcDecomp","ge","O","E","Mt","et","rt","st","ut","yt","ot","D","q","oe","dt","it","Pe","at","he","Re","ft","lt","createCallback","ct","ie","we","pt","Be","Wt","vt","pe","ht","gt","We","mt","bt","_t","jt","kt","xt","Xt","Ct","Ie","Ot","Nt","It","Et","Rt","At","Dt","$t","Tt","Ft","Bt","Se","zt","qt","Pt","Kt","Ve","Lt","Vt","ve","Ue","_e","leading","maxWait","trailing","Gt","Ht","Jt","Qt","Y","G","pick","A","Yt","Boolean","Zt","ne","te","ee","ue","TypeError","ae","fe","le","se","ye","getPrototypeOf","de","je","defineProperty","create","xe","Ce","Oe","Ne","Ee","random","B","support","templateSettings","evaluate","N","variable","imports","qe","ze","Ke","Le","Me","now","Ge","I","bindAll","bindKey","compact","compose","countBy","curry","debounce","difference","flatten","forEachRight","forIn","forInRight","forOwn","forOwnRight","functions","groupBy","indexBy","intersection","invert","mapValues","memoize","omit","once","pairs","partial","partialRight","pluck","pull","range","rest","shuffle","sortBy","tap","throttle","L","times","toArray","transform","union","uniq","where","without","xor","zip","zipObject","collect","drop","each","eachRight","methods","tail","unique","unzip","cloneDeep","every","findIndex","findKey","findLast","findLastIndex","findLastKey","isArguments","isBoolean","isEmpty","isEqual","isNull","isPlainObject","mixin","noConflict","reduce","reduceRight","runInContext","some","sortedIndex","S","x","R","w","uniqueId","any","detect","findWhere","foldl","foldr","include","inject","sample","take","head","VERSION","configurable","enumerable","writable","boolean","function","\\","\n","\r","\t","
","
","Configurer","RestangularResource","configurer","resource","defaultRequestParams","isSafe","configuration","safeMethods","operation","absolutePattern","isAbsoluteUrl","setSelfLinkAbsoluteUrl","baseUrl","setBaseUrl","newBaseUrl","extraFields","setExtraFields","newExtraFields","defaultHttpFields","setDefaultHttpFields","withHttpValues","httpLocalConfig","encodeIds","setEncodeIds","setDefaultRequestParams","param1","param2","requestParams","defaultHeaders","setDefaultHeaders","methodOverriders","setMethodOverriders","overriders","isOverridenMethod","jsonp","setJsonp","urlCreator","setUrlCreator","urlCreatorFactory","restangularFields","route","parentResource","restangularCollection","cannonicalId","etag","selfLink","getList","trace","getRestangularUrl","getRequestedUrl","putElement","addRestangularMethod","getParentList","ids","httpConfig","reqParams","several","oneUrl","allUrl","customPUT","customPOST","customDELETE","customGET","customGETLIST","customOperation","doPUT","doPOST","doDELETE","doGET","doGETLIST","fromServer","withConfig","withHttpConfig","singleOne","plain","save","setRestangularFields","resFields","isRestangularized","setFieldToElem","properties","idValue","getFieldFromElem","setIdToElem","getIdFromElem","isValidId","elemId","setUrlToElem","getUrlFromElem","useCannonicalId","setUseCannonicalId","getCannonicalIdFromElem","actualId","defaultResponseInterceptor","responseExtractor","theData","addResponseInterceptor","extractor","setResponseInterceptor","setResponseExtractor","requestInterceptors","defaultInterceptor","fullRequestInterceptor","defaultRequest","addRequestInterceptor","setRequestInterceptor","addFullRequestInterceptor","setFullRequestInterceptor","errorInterceptor","setErrorInterceptor","onBeforeElemRestangularized","setOnBeforeElemRestangularized","onElemRestangularized","setOnElemRestangularized","shouldSaveParent","setParentless","setRequestSuffix","newSuffix","transformers","addElementTransformer","secondArg","thirdArg","isCollection","transformer","typeTransformers","coll","extendCollection","extendModel","transformElem","Restangular","force","transformLocalElements","changedElem","setTransformOnlyServerElements","fullResponse","setFullResponse","BaseCreator","setConfig","parentsArray","reverse","localHttpConfig","callHeaders","callParams","Path","__this","acum","elemUrl","elemSelfLink","fetchUrl","fetchRequestedUrl","globalConfiguration","createServiceForConfiguration","restangularizeBase","urlHandler","addRestangularMethodFunction","copyRestangularizedElement","stripRestangular","parentId","parentUrl","restangularFieldsForParent","restangularizeElem","restangularizeCollection","restangularizePromise","valueToFill","promiseCall","promiseGet","$object","callArgs","filledValue","addCustomOperation","customFunction","oper","callFunction","callOperation","fetchFunction","fromElement","toElement","copiedElement","localElem","getFunction","putFunction","postFunction","deleteFunction","headFunction","traceFunction","optionsFunction","patchFunction","putElementFunction","getById","restangularizeCollectionAndElements","elemToPut","filledArray","serverElem","newArray","parseResponse","resData","whatFetched","fullParams","processedData","elemFunction","resParams","callObj","filledObject","okCallback","errorCallback","isOverrideOperation","X-HTTP-Method-Override","defaultParams","defaultElem","bindedFunction","createdFunction","withConfigurationFunction","newConfig","toService","serv","restangularizeElement","AppController","Configuration","applicationName","title","DashboardController","PanelBuilder","edit","getPanels","panels","getPanelsData","panel","entityConfig","entities","columns","getFields","dashboard","entityName","entity","grid","dimensions","getIdentifier","SidebarController","getEntities","computeCurrentEntity","urlParts","currentEntity","displayList","isActive","CrudManager","getEntityNames","getEntity","getAll","Validator","validation","propertyName","Application","Configurable","baseApiUrl","addEntity","order","hasEntity","getHeaders","headersc","Field","fieldName","availableTypes","availableEditions","defaultValueTransformer","defaultValueCallback","edition","valueTransformer","isEditLink","truncateList","choices","defaultValue","getTruncatedListValue","setEntity","getSortName","getCallbackValue","getListValue","clear","processDefaultValue","Reference","referencedValue","targetEntity","targetLabel","Exception","getChoices","setChoices","ReferencedList","targetField","targetFields","getItems","setItems","getReferenceManyFields","fields","getGridColumns","ReferenceMany","getTitle","Entity","quickFilters","fieldTypes","defaultPaginationLink","page","maxPerPage","per_page","defaultFilterQuery","query","defaultFilterParams","defaultTotalItems","defaultListingTitle","defaultEditionTitle","defaultCreationTitle","defaultDescription","defaultSortParams","dir","_sort","_sortDir","titleList","titleCreate","titleEdit","description","perPage","pagination","filterQuery","filterParams","infinitePagination","totalItems","extraParams","sortParams","addField","getField","getReferences","references","getFieldsOfType","referencesMany","getReferencedLists","getExtraParams","getSortParams","sortField","sortDir","getListTitle","getCreateTitle","getEditTitle","getDescription","addQuickFilter","getQuickFilterNames","getQuickFilterParams","isNew","NgAdminConfiguration","configure","OrderElement","objectKey","field1","field2","fs","Cc","Ci","xpcIsWindows","progIds","xmlRegExp","bodyRegExp","hasLocation","defaultProtocol","defaultHostName","defaultPort","buildMap","masterConfig","strip","matches","jsEscape","progId","parseName","modName","ext","temp","moduleName","xdRegExp","useXhr","uProtocol","uHostName","uPort","finishLoad","onLoad","isBuild","inlineText","nonStripName","toUrl","write","pluginName","asModule","writeFile","extPart","fileName","textWrite","env","process","versions","nodeRequire","readFileSync","onXhr","onXhrComplete","Packages","java","stringBuffer","encoding","io","File","lineSeparator","lang","System","getProperty","BufferedReader","InputStreamReader","FileInputStream","StringBuffer","readLine","close","Components","interfaces","utils","inStream","convertStream","fileObj","readData","FileUtils","createInstance","nsIFileInputStream","nsIConverterInputStream","available","DEFAULT_REPLACEMENT_CHARACTER","DashboardPanel","dashboardPanelView","Menu","menuView","routing","$stateProvider","layoutTemplate","dashboardTemplate","loader","MainModule","$SanitizeProvider","buf","htmlParser","htmlSanitizeWriter","sanitizeText","writer","parseStartTag","tagName","blockElements","inlineElements","parseEndTag","optionalEndTagElements","voidElements","ATTR_REGEXP","doubleQuotedValue","singleQuotedValue","unquotedValue","decodeEntities","specialElements","COMMENT_REGEXP","CDATA_REGEXP","comment","DOCTYPE_REGEXP","BEGING_END_TAGE_REGEXP","END_TAG_REGEXP","BEGIN_TAG_REGEXP","START_TAG_REGEXP","$sanitizeMinErr","spaceRe","spaceBefore","spaceAfter","hiddenPre","innerText","encodeEntities","SURROGATE_PAIR_REGEXP","hi","low","NON_ALPHANUMERIC_REGEXP","uriValidator","ignore","validElements","lkey","validAttrs","uriAttrs","optionalEndTagBlockElements","optionalEndTagInlineElements","$sanitize","LINKY_URL_REGEXP","MAILTO_REGEXP","addText","addLink","raw","WebkitTransition","MozTransition","OTransition","transitionEndEventName","animationEndEventName","height","scrollHeight","offsetWidth","collapse","closeOthers","groups","isOpen","addGroup","removeGroup","heading","isDisabled","setHeading","toggleOpen","accordionTransclude","closeable","bindHtmlUnsafe","toggleEvent","btnRadio","uncheckable","btnCheckboxTrue","btnCheckboxFalse","pause","slides","currentSlide","noTransition","direction","leaving","$currentTransition","indexOfSlide","prev","play","noPause","addSlide","removeSlide","parsers","year","month","hours","getComputedStyle","offsetParent","position","top","clientTop","scrollTop","clientLeft","scrollLeft","getBoundingClientRect","width","pageYOffset","pageXOffset","positionElements","center","bottom","formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","datepickerMode","minMode","maxMode","showWeeks","startingDay","yearRange","minDate","maxDate","modes","refreshView","activeDate","initDate","activeDateId","_refreshView","createDateObject","disabled","dateDisabled","step","years","months","toggleMode",13,32,33,34,35,36,37,38,39,40,"keydown","altKey","handleKeyDown","setDate","getDay","setMonth","secondary","labels","abbr","rows","weekNumbers","datepickerPopup","currentText","clearText","closeText","closeOnDateSelection","appendToBody","showButtonBar","datepickerAppendToBody","ng-model","ng-change","datepickerOptions","watchData","dateSelection","openClass","getToggleElement","focusToggleElement","onToggle","toggle","toggleElement","aria-haspopup","aria-expanded","createNew","removeTop","backdropClass","windowClass","getTop","backdrop","currentTarget","dismiss","modalDomEl","modalScope","keyboard","template-url","windowTemplateUrl","window-class","dismissAll","opened","$close","$dismiss","$modalInstance","numPages","itemsPerPage","totalPages","calculateTotalPages","selectPage","noPrevious","noNext","boundaryLinks","directionLinks","firstText","previousText","nextText","lastText","rotate","maxSize","pages","align","placement","popupDelay","click","setTriggers","show","hide","tt_isOpen","tt_popupDelay","tt_content","display","tt_animation","tt_placement","tt_title","bars","addBar","percent","removeBar","stateOn","stateOff","ratingStates","buildTemplateObjects","rate","readonly","onHover","onLeave","onKeydown","tabs","onDeselect","onSelect","addTab","removeTab","vertical","justified","$transcludeFn","tabContentTransclude","headingElement","hourStep","minuteStep","showMeridian","meridians","readonlyInput","mousewheel","meridian","minutes","invalidHours","invalidMinutes","getMinutes","setupMousewheelEvents","setupInputEvents","time","originalEvent","wheelDelta","deltaY","detail","incrementHours","decrementHours","incrementMinutes","decrementMinutes","updateHours","updateMinutes","setMinutes","toggleMeridian","itemName","viewMapper","modelMapper","typeaheadMinLength","typeaheadWaitMs","typeaheadEditable","typeaheadLoading","typeaheadOnSelect","typeaheadInputFormatter","typeaheadAppendToBody","typeahead","aria-autocomplete","aria-owns","typeaheadTemplateUrl","activeIdx","model","$model","$item","$label","selectActive","selectMatch","toolbar","focussed","toolbarGroup","toolbarButton","toolbarButtonActive","textEditor","htmlEditor","setup","textEditorSetup","htmlEditorSetup","defaultFileDropHandler","FileReader","readAsDataURL","customAttribute","renderLogic","buttontext","tooltip","ul","ol","undo","redo","bold","italic","underline","justifyLeft","justifyRight","justifyCenter","indent","outdent","insertImage","dialogPrompt","hotkey","insertVideo","insertLink","tooltiptext","$editor","switchView","activeState","showHtml","queryFormatBlockState","wrapSelection","iconclass","queryCommandState","commandKeyCode","getSelectionElement","displayElements","updateTaBindtaTextElement","hidePopover","popover","popoverContainer","showPopover","showResizeOverlay","prompt","onElementSelect","onlyWithAttrs","max-width","overflow","text-overflow","white-space","vertical-align","contentEditable","setSelectionRange","sheet","cssRules","insertRule","addRule","removeRule","deleteRule","serial","taDefaultWrap","taFocussedClass","taTextEditorClass","taHtmlEditorClass","taTextEditorSetup","taHtmlEditorSetup","fileDropHandler","taFileDrop","forminput","scrollWindow","popoverArrow","resize","overlay","background","anchors","reflowPopover","offsetHeight","offsetTop","offsetLeft","reflowResizeOverlay","clientX","clientY","hideResizeOverlay","ng-show","ta-bind","ng-hide","taUnsafeSanitizer","tabindex","taDisabled","updateTaBindtaHtmlElement","_actionRunning","startAction","rangy","saveSelection","restoreSelection","endAction","removeMarkers","updateSelectedStyles","activeElement","unfocus","queryCommandValue","_elementSelectTriggered","taTargetToolbars","registerEditor","taToolbar","taToolbarClass","taToolbarGroupClass","taToolbarButtonClass","taToolbarActiveButtonClass","unregisterEditor","triggerElementSelect","files","_bUpdateSelectedStyles","sendKeyCommand","setSelectionToElementEnd","getOnlySelectedElements","outerHTML","execCommand","disableSanitizer","clipboardData","getData","selection","createRange","pasteHTML","setSelectionToElementStart","$oldViewValue","dataTransfer","taReadonly","taMaxText","taMinText","_$element","_display","_lastToolDefinition","tools","_parent","displayActiveToolClass","executeAction","updateToolDisplay","addTool","registerToolbar","unregisterToolbar","toolbars","_registerToolbar","editorFunctions","disable","enable","tool","retrieveEditor","retrieveToolbar","retrieveToolbarsViaEditor","updateToolsDisplay","resetToolsDisplay","resetToolDisplay","updateToolbarToolDisplay","resetToolbarToolDisplay","removeTool","addToolToToolbar","refreshEditor","hasChildNodes","startContainer","endContainer","commonAncestorContainer","getSelection","isCollapsed","getRangeAt","parentElement","rangeCount","setStart","anchorNode","anchorOffset","setEnd","focusNode","focusOffset","collapsed","selectNodeContents","removeAllRanges","addRange","createTextRange","moveToElementText","moveEnd","moveStart","ListController","entityLabel","displayFilterQuery","clearParams","clearFilter","notification","deleteOne","back","startnotification","addnCls","submitCreation","createOne","submitEdition","updateOne","item","DeleteController","entityId","getOne","fillSimpleReference","sortEntity","getReferencedValues","referencedValues","rawEntities","rawEntity","fillReferencesValuesFromCollection","truncateListValue","currentPage","getEditionFields","filterType","calls","reference","responses","getReferenceChoices","getReferencedListValues","lists","filterReferencedList","referencedList","targetIdentifier","referenceField","win","doc","ENV","ctx","preferred","fallback","transSupport","useFilter","_checkTransition","vendors","webkit","Moz","vendor","Humane","baseCls","waitForMove","clickToClose","timeoutAfterMove","container","_setupEl","removeEvent","transEvent","_afterAnimation","_run","_afterTimeout","currentMsg","removeEventsSet","_animating","currentTimer","_showMsg","_setOpacity","opacity","Opacity","_hideMsg","opt","spawn","NProgress","clamp","toBarPerc","barPositionCSS","speed","ease","barCSS","Settings","positionUsing","margin-left","classList","oldList","newList","removeElement","settings","minimum","easing","trickle","trickleRate","trickleSpeed","showSpinner","barSelector","spinnerSelector","started","isStarted","bar","getPositioningCSS","work","inc","$promise","always","fromStart","isRendered","spinner","perc","getVendorProp","vendorName","cssPrefixes","capName","getStyleProp","cssProps","applyCss","Compile","StringField","stringFieldView","PasswordField","passwordFieldView","EmailField","emailFieldView","TextField","textFieldView","NumberField","numberFieldView","DateField","dateFieldView","toggleDatePicker","BooleanField","booleanFieldView","ChoiceField","choiceFieldView","ChoicesField","choicesFieldView","ReferenceField","referenceFieldView","ReferenceManyField","ReferenceManyFieldDirective","referenceManyFieldView","WysiwygField","wysiwygFieldView","CallbackField","callbackFieldView","StringColumn","stringColumnView","PasswordColumn","passwordColumnView","EmailColumn","emailColumnView","TextColumn","textColumnView","NumberColumn","numberColumnView","DateColumn","dateColumnView","BooleanColumn","booleanColumnView","isOk","column","ChoiceColumn","choiceColumnView","ChoicesColumn","choicesColumnView","ReferenceColumn","referenceColumnView","ReferenceManyColumn","referenceManyColumnView","WysiwygColumn","wysiwygColumnView","CallbackColumn","callbackColumnView","DatagridController","retrieveColumns","isSorting","itemClass","DatagridDirective","datagridView","DatagridPaginationController","loadingPage","computePagination","hasPagination","offsetBegin","offsetEnd","nbPages","nextPage","nextData","setPage","DatagridPaginationDirective","paginationView","innerHeight","scrollY","QuickFilterController","currentQuickFilter","quickFilter","QuickFilterDirective","quickFilterView","cacheTemplate","editAttributeTemplate","listTemplate","createTemplate","editTemplate","deleteTemplate","referencedListValues","CrudModule","oldParse","paths","angular-resource","angular-sanitize","angular-route","angular-ui-router","lodash","angular-bootstrap","angular-bootstrap-tpls","restangular","humane","nprogress","textangular","shim","jquery"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"ng-admin.min.js","sources":["ng-admin.min.js"],"names":["root","factory","define","amd","exports","module","ngAdmin","this","requirejs","require","undef","hasProp","obj","prop","hasOwn","call","normalize","name","baseName","nameParts","nameSegment","mapValue","foundMap","lastIndex","foundI","foundStarMap","starI","i","j","part","baseParts","split","map","config","starMap","charAt","slice","length","nodeIdCompat","jsSuffixRegExp","test","replace","concat","splice","join","indexOf","substring","makeRequire","relName","forceSync","args","aps","arguments","push","req","apply","makeNormalize","makeLoad","depName","value","defined","callDep","waiting","defining","main","Error","splitPrefix","prefix","index","makeConfig","makeMap","handlers","Object","prototype","hasOwnProperty","plugin","parts","f","n","pr","p","e","id","uri","deps","callback","cjsModule","ret","usingExports","callbackType","load","undefined","alt","setTimeout","cfg","_defined","jQuery","window","angular","inherit","parent","extra","extend","merge","dst","forEach","key","ancestors","first","second","path","objectKeys","object","keys","result","val","arraySearch","array","Array","Number","len","from","Math","ceil","floor","inheritParams","currentParams","newParams","$current","$to","parentParams","parents","inherited","inheritList","params","equalForKeys","a","b","k","filterByKeys","values","filtered","$Resolve","$q","$injector","VISIT_IN_PROGRESS","VISIT_DONE","NOTHING","NO_DEPENDENCIES","NO_LOCALS","NO_PARENT","when","$$promises","$$values","study","invocables","visit","visited","cycle","isString","plan","get","annotate","param","pop","isResolve","isObject","then","invocableKeys","locals","self","done","wait","merged","$$inheritedValues","resolution","resolve","fail","reason","$$failure","reject","omit","copy","isArray","invoke","invocable","onfailure","invocation","proceed","isDefined","promise","defer","waitParams","dep","promises","ii","$TemplateFactory","$http","$templateCache","fromConfig","template","fromString","templateUrl","fromUrl","templateProvider","fromProvider","isFunction","url","cache","headers","Accept","response","data","provider","UrlMatcher","pattern","$value","type","decode","$UrlMatcherFactory","$$getDefaultValue","addParameter","Type","quoteRegExp","string","isOptional","flag","paramConfig","m","placeholder","compiled","last","segments","source","regexp","segment","exec","$types","RegExp","$subPattern","search","sourceSearch","sourcePath","strict","caseInsensitive","getDefaultConfig","isStrictMode","isCaseInsensitive","isInjectable","flushTypeQueue","typeQueue","def","injector","$$UrlMatcherFactoryProvider","enqueue","defaultTypes","int","parseInt","is","toString","bool","encode","date","equals","toISOString","Date","getFullYear","getMonth","getDate","strictMode","compile","isMatcher","o","$get","$UrlRouterProvider","$locationProvider","$urlMatcherFactory","regExpPrefix","re","interpolate","match","what","handleIfMatch","handler","$match","$location","$rootScope","$browser","appendBasePath","isHtml5","absolute","baseHref","update","evt","check","rule","handled","defaultPrevented","rules","otherwise","listen","listener","$on","location","interceptDeferred","sync","read","urlMatcher","options","format","href","validates","html5Mode","enabled","hashPrefix","slash","port","protocol","host","redirect","handlerIsString","strategies","matcher","regex","global","sticky","deferIntercept","$inject","$StateProvider","$urlRouterProvider","isRelative","stateName","findState","stateOrName","base","isStr","rel","pathLength","current","state","states","queueState","parentName","queue","registerState","lastIndexOf","stateBuilder","$delegates","abstractKey","$stateParams","$state","navigable","transitionTo","isGlob","text","doesStateMatchGlob","glob","globSegments","unshift","MAX_VALUE","l","decorator","func","definition","$view","$resolve","$urlRouter","handleRedirect","$broadcast","TransitionAborted","retry","$retry","TransitionFailed","retryTransition","transition","TransitionSuperseded","to","toParams","resolveState","paramsAreFiltered","globals","views","view","injectables","$template","controllerProvider","injectLocals","$$controller","controller","$$state","$$controllerAs","controllerAs","all","TransitionPrevented","reload","notify","go","relative","fromParams","fromPath","toState","redirectResult","toPath","keep","toLocals","ownParams","shouldTriggerReload","reloadOnSearch","resolved","entering","exiting","onExit","onEnter","error","includes","lossy","nav","context","compositeName","paramNames","v","own","abstract","$ViewProvider","$templateFactory","defaults","async","$ViewScrollProvider","useAnchorScroll","$anchorScroll","$timeout","$element","scrollIntoView","$ViewDirective","$uiViewScroll","$interpolate","getService","service","has","getRenderer","attrs","scope","statics","enter","element","target","cb","after","leave","remove","$animate","$animator","animate","directive","restrict","terminal","priority","transclude","tElement","tAttrs","$transclude","cleanupLastView","previousEl","currentScope","$destroy","currentEl","renderer","updateView","firstTime","newScope","getUiViewName","previousLocals","latestLocals","$new","clone","$emit","autoScrollExp","$eval","onloadExp","onload","autoscroll","$ViewDirectiveFill","$compile","$controller","initial","html","link","contents","$scope","children","uiView","inheritedData","parseStateRef","ref","parsed","preparsed","paramExpr","stateContext","el","stateData","$StateRefDirective","allowedOptions","uiSrefActive","uiSref","newHref","isAnchor","isForm","nodeName","attr","optionsOverride","uiSrefOpts","option","newVal","activeDirective","$$setStateInfo","$set","$watch","bind","button","which","ctrlKey","metaKey","shiftKey","preventDefault","ignorePreventDefaultCount","cancel","$StateRefActiveDirective","$attrs","isMatch","addClass","activeClass","removeClass","uiSrefActiveEq","matchesParams","newState","$IsStateFilter","$IncludedByStateFilter","searchParams","parameters","nTotal","nPath","encodeURIComponent","sub","substr","filter","t","r","u","charCodeAt","U","h","g","false","null","number","true","_","c","s","V","tt","Fe","H","me","J","Te","Q","__chain__","__wrapped__","X","be","nt","wt","$e","Z","ce","K","Ae","T","F","W","P","z","C","input","St","ke","Ut","__bindData__","De","funcNames","funcDecomp","ge","O","E","Mt","et","rt","st","ut","yt","ot","D","q","oe","$","constructor","dt","it","Pe","at","he","Re","ft","y","lt","createCallback","ct","ie","we","pt","Be","Wt","vt","pe","ht","gt","We","mt","bt","sort","_t","jt","kt","xt","Xt","Ct","Ie","Ot","Nt","It","Et","Rt","At","Dt","$t","Tt","Ft","Bt","Se","zt","qt","Pt","Kt","Ve","Lt","Vt","ve","Ue","_e","leading","maxWait","trailing","Gt","chain","Ht","Jt","Qt","Y","G","pick","A","Yt","Boolean","Zt","ne","Function","te","ee","ue","String","TypeError","ae","fe","le","se","clearTimeout","ye","getPrototypeOf","de","je","defineProperty","create","xe","Ce","isFinite","Oe","isNaN","Ne","max","min","Ee","random","B","support","templateSettings","escape","evaluate","N","variable","imports","M","&","<",">","\"","'","qe","ze","valueOf","Ke","Le","Me","now","getTime","Ge","d","I","assign","bindAll","bindKey","compact","compose","constant","countBy","curry","debounce","delay","difference","flatten","forEachRight","forIn","forInRight","forOwn","forOwnRight","functions","groupBy","indexBy","intersection","invert","mapValues","memoize","once","pairs","partial","partialRight","pluck","property","pull","range","rest","shuffle","sortBy","tap","throttle","L","times","toArray","transform","union","uniq","where","without","wrap","xor","zip","zipObject","collect","drop","each","eachRight","methods","select","tail","unique","unzip","cloneDeep","contains","every","find","findIndex","findKey","findLast","findLastIndex","findLastKey","identity","isArguments","isBoolean","isDate","isElement","nodeType","isEmpty","isEqual","parseFloat","isNull","isNumber","isPlainObject","isRegExp","isUndefined","mixin","noConflict","noop","reduce","reduceRight","runInContext","size","some","sortedIndex","S","x","R","w","unescape","uniqueId","any","detect","findWhere","foldl","foldr","include","inject","sample","take","head","VERSION","configurable","enumerable","writable","boolean","function","\\","\n","\r","\t","
","
","Configurer","init","RestangularResource","configurer","resource","defaultRequestParams","method","toLowerCase","isSafe","configuration","safeMethods","operation","absolutePattern","isAbsoluteUrl","absoluteUrl","setSelfLinkAbsoluteUrl","baseUrl","setBaseUrl","newBaseUrl","extraFields","setExtraFields","newExtraFields","defaultHttpFields","setDefaultHttpFields","withHttpValues","httpLocalConfig","encodeIds","setEncodeIds","post","put","common","setDefaultRequestParams","param1","param2","requestParams","defaultHeaders","setDefaultHeaders","methodOverriders","setMethodOverriders","overriders","isOverridenMethod","jsonp","setJsonp","active","one","urlCreator","setUrlCreator","urlCreatorFactory","restangularFields","route","parentResource","restangularCollection","cannonicalId","etag","selfLink","getList","trace","patch","getRestangularUrl","getRequestedUrl","putElement","addRestangularMethod","getParentList","ids","httpConfig","reqParams","several","oneUrl","allUrl","customPUT","customPOST","customDELETE","customGET","customGETLIST","customOperation","doPUT","doPOST","doDELETE","doGET","doGETLIST","fromServer","withConfig","withHttpConfig","singleOne","plain","save","setRestangularFields","resFields","isRestangularized","setFieldToElem","field","elem","properties","idValue","getFieldFromElem","setIdToElem","getIdFromElem","isValidId","elemId","setUrlToElem","getUrlFromElem","useCannonicalId","setUseCannonicalId","getCannonicalIdFromElem","actualId","responseInterceptors","defaultResponseInterceptor","responseExtractor","deferred","interceptors","theData","interceptor","addResponseInterceptor","extractor","setResponseInterceptor","setResponseExtractor","requestInterceptors","defaultInterceptor","fullRequestInterceptor","defaultRequest","request","addRequestInterceptor","setRequestInterceptor","addFullRequestInterceptor","setFullRequestInterceptor","errorInterceptor","setErrorInterceptor","onBeforeElemRestangularized","setOnBeforeElemRestangularized","onElemRestangularized","setOnElemRestangularized","shouldSaveParent","setParentless","suffix","setRequestSuffix","newSuffix","transformers","addElementTransformer","secondArg","thirdArg","isCollection","transformer","typeTransformers","coll","extendCollection","fn","extendModel","transformElem","Restangular","force","transformLocalElements","changedElem","setTransformOnlyServerElements","fullResponse","setFullResponse","full","BaseCreator","setConfig","parentsArray","reverse","localHttpConfig","callHeaders","callParams","add","Path","__this","acum","elemUrl","elemSelfLink","fetchUrl","fetchRequestedUrl","sortedKeys","forEachSorted","iterator","encodeUriQuery","pctEncodeSpaces","toJson","globalConfiguration","createServiceForConfiguration","restangularizeBase","urlHandler","addRestangularMethodFunction","copyRestangularizedElement","stripRestangular","parentId","parentUrl","restangularFieldsForParent","restangularizeElem","restangularizeCollection","collection","restangularizePromise","valueToFill","promiseCall","promiseGet","$object","callArgs","filledValue","resolvePromise","addCustomOperation","customFunction","oper","alias","callFunction","callOperation","toUpperCase","fetchFunction","fromElement","toElement","copiedElement","localElem","getFunction","putFunction","postFunction","deleteFunction","headFunction","traceFunction","optionsFunction","patchFunction","putElementFunction","getById","restangularizeCollectionAndElements","idx","elemToPut","filledArray","serverElem","newArray","parseResponse","resData","whatFetched","fullParams","processedData","status","elemFunction","resParams","callObj","filledObject","okCallback","errorCallback","isOverrideOperation","X-HTTP-Method-Override","defaultParams","defaultElem","bindedFunction","createdFunction","withConfigurationFunction","newConfig","toService","serv","restangularizeElement","AppController","Configuration","applicationName","title","destroy","DashboardController","PanelBuilder","edit","retrievePanels","panel","panels","getPanelsData","fields","getDisplayedFields","entries","columns","label","entry","entityName","identifierValue","SidebarController","entities","getEntities","computeCurrentEntity","urlParts","currentEntity","displayList","entity","isActive","$filter","ListViewRepository","dashboardView","dashboards","getViewsOfType","getAll","Validator","validate","validation","getFields","validator","propertyName","Application","Configurable","baseApiUrl","addEntity","order","hasEntity","getEntity","getEntityNames","entityViews","getViewByEntityAndType","getOneViewOfType","inherits","child","Wrapper","camelCase","group1","defaultValueTemplate","Field","fieldName","utils","isEditLink","maps","availableTypes","editable","displayed","identifier","list","dashboard","required","maxlength","choices","defaultValue","cssClasses","getMappedValue","getCssClasses","classes","setView","getView","getSortName","getTemplateValue","__proto__","Entity","mappedFields","identifierField","getViews","getValue","setValue","addView","setEntity","addMappedField","getMappedFields","Entry","listValues","getTitle","defaultTitle","defaultDescription","View","actions","description","extraParams","addField","getFieldsOfType","results","getField","addAction","action","getActions","getDescription","getReferences","references","referencesMany","getReferencedLists","getExtraParams","getHeaders","mapEntries","rawEntries","mapEntry","rawEntry","resultEntity","removeFields","processFieldsDefaultValue","defaultSortParams","dir","_sort","_sortDir","defaultPaginationLink","page","maxPerPage","per_page","defaultFilterQuery","query","defaultFilterParams","defaultTotalItems","ListView","quickFilters","perPage","pagination","filterQuery","filterParams","infinitePagination","totalItems","sortParams","addQuickFilter","getQuickFilterNames","getQuickFilterParams","getSortParams","sortField","sortDir","getAllParams","getAllHeaders","Reference","referencedValue","referencedView","referencedViewConfigured","targetEntity","targetField","getChoices","targetLabel","targetIdentifier","getReferencedView","listView","getEntries","setEntries","getListValue","ReferencedList","edition","targetReferenceField","targetFields","getGridColumns","filterEntries","entityId","targetRefField","clear","ReferenceMany","Action","DashboardView","limit","CreateView","getFormName","getAttributeClass","isValid","showAttributeSuccess","EditView","DeleteView","NgAdminConfiguration","configure","OrderElement","objectKey","field1","field2","fs","Cc","Ci","xpcIsWindows","progIds","xmlRegExp","bodyRegExp","hasLocation","defaultProtocol","defaultHostName","hostname","defaultPort","buildMap","masterConfig","version","strip","content","matches","jsEscape","createXhr","xhr","progId","XMLHttpRequest","ActiveXObject","parseName","modName","ext","temp","moduleName","xdRegExp","useXhr","uProtocol","uHostName","uPort","finishLoad","onLoad","isBuild","inlineText","nonStripName","toUrl","err","write","pluginName","asModule","writeFile","extPart","fileName","textWrite","env","process","versions","node","nodeRequire","errback","file","readFileSync","header","open","setRequestHeader","onXhr","onreadystatechange","readyState","responseText","onXhrComplete","send","Packages","java","stringBuffer","line","encoding","io","File","lineSeparator","lang","System","getProperty","BufferedReader","InputStreamReader","FileInputStream","StringBuffer","readLine","append","close","Components","interfaces","inStream","convertStream","fileObj","readData","FileUtils","createInstance","nsIFileInputStream","nsIConverterInputStream","available","DEFAULT_REPLACEMENT_CHARACTER","readString","DashboardPanel","dashboardPanelView","Menu","menuView","http","$httpProvider","useApplyAsync","routing","$stateProvider","layoutTemplate","dashboardTemplate","loader","$window","progression","start","scrollTo","MainModule","run","$SanitizeProvider","$$sanitizeUri","buf","htmlParser","htmlSanitizeWriter","isImage","sanitizeText","chars","writer","str","items","parseStartTag","tag","tagName","unary","lowercase","blockElements","stack","inlineElements","parseEndTag","optionalEndTagElements","voidElements","ATTR_REGEXP","doubleQuotedValue","singleQuotedValue","unquotedValue","decodeEntities","pos","end","specialElements","COMMENT_REGEXP","CDATA_REGEXP","comment","DOCTYPE_REGEXP","BEGING_END_TAGE_REGEXP","END_TAG_REGEXP","BEGIN_TAG_REGEXP","START_TAG_REGEXP","$sanitizeMinErr","spaceRe","spaceBefore","spaceAfter","hiddenPre","innerHTML","textContent","innerText","encodeEntities","SURROGATE_PAIR_REGEXP","hi","low","NON_ALPHANUMERIC_REGEXP","uriValidator","ignore","out","validElements","lkey","validAttrs","uriAttrs","$$minErr","optionalEndTagBlockElements","optionalEndTagInlineElements","document","createElement","$sanitize","LINKY_URL_REGEXP","MAILTO_REGEXP","addText","addLink","raw","style","animation","$apply","unbind","css","WebkitTransition","MozTransition","OTransition","transitionEndEventName","animationEndEventName","height","scrollHeight","offsetWidth","collapse","closeOthers","groups","isOpen","addGroup","removeGroup","heading","isDisabled","setHeading","toggleOpen","accordionTransclude","closeable","bindHtmlUnsafe","toggleEvent","$render","toggleClass","$modelValue","btnRadio","hasClass","uncheckable","$setViewValue","btnCheckboxTrue","btnCheckboxFalse","interval","next","pause","slides","currentSlide","noTransition","direction","leaving","$currentTransition","indexOfSlide","prev","play","noPause","addSlide","removeSlide","parsers","yyyy","year","yy","MMMM","DATETIME_FORMATS","MONTH","month","MMM","SHORTMONTH","MM","dd","EEEE","DAY","EEE","SHORTDAY","parse","hours","currentStyle","getComputedStyle","offsetParent","position","offset","top","left","clientTop","scrollTop","clientLeft","scrollLeft","getBoundingClientRect","width","pageYOffset","documentElement","pageXOffset","positionElements","center","right","bottom","formatDay","formatMonth","formatYear","formatDayHeader","formatDayTitle","formatMonthTitle","datepickerMode","minMode","maxMode","showWeeks","startingDay","yearRange","minDate","maxDate","modes","$parent","refreshView","$id","activeDate","initDate","compare","activeDateId","uid","render","$setValidity","_refreshView","createDateObject","selected","disabled","dateDisabled","mode","setFullYear","move","step","years","months","toggleMode",13,32,33,34,35,36,37,38,39,40,"focus","keydown","altKey","stopPropagation","handleKeyDown","setHours","setDate","getDay","setMonth","round","secondary","labels","abbr","rows","weekNumbers","datepickerPopup","currentText","clearText","closeText","closeOnDateSelection","appendToBody","showButtonBar","datepickerAppendToBody","getText","$observe","ng-model","ng-change","datepickerOptions","watchData","$parsers","dateSelection","$viewValue","openClass","getToggleElement","focusToggleElement","onToggle","toggle","toggleElement","aria-haspopup","aria-expanded","createNew","removeTop","backdropClass","windowClass","querySelectorAll","getTop","backdrop","currentTarget","dismiss","empty","eq","modalDomEl","modalScope","keyboard","template-url","windowTemplateUrl","window-class","dismissAll","opened","$close","$dismiss","$modalInstance","numPages","itemsPerPage","totalPages","calculateTotalPages","selectPage","noPrevious","noNext","boundaryLinks","directionLinks","firstText","previousText","nextText","lastText","rotate","maxSize","pages","align","placement","popupDelay","mouseenter","click","setTriggers","trigger","show","hide","startSymbol","endSymbol","tt_isOpen","tt_popupDelay","tt_content","display","$digest","tt_animation","tt_placement","tt_title","bars","addBar","percent","toFixed","removeBar","stateOn","stateOff","ratingStates","buildTemplateObjects","rate","readonly","onHover","reset","onLeave","onKeydown","tabs","onDeselect","onSelect","addTab","removeTab","vertical","justified","$transcludeFn","hasAttribute","tabContentTransclude","headingElement","hourStep","minuteStep","showMeridian","meridians","readonlyInput","mousewheel","meridian","minutes","invalidHours","invalidMinutes","getHours","getMinutes","AMPMS","setupMousewheelEvents","setupInputEvents","$error","time","originalEvent","wheelDelta","deltaY","detail","incrementHours","decrementHours","incrementMinutes","decrementMinutes","updateHours","updateMinutes","setMinutes","toggleMeridian","itemName","viewMapper","modelMapper","typeaheadMinLength","typeaheadWaitMs","typeaheadEditable","typeaheadLoading","typeaheadOnSelect","typeaheadInputFormatter","typeaheadAppendToBody","ngModel","typeahead","aria-autocomplete","aria-owns","typeaheadTemplateUrl","activeIdx","removeAttr","model","$formatters","$model","$item","$label","selectActive","selectMatch","success","replaceWith","trim","toolbar","focussed","toolbarGroup","toolbarButton","toolbarButtonActive","textEditor","htmlEditor","setup","textEditorSetup","htmlEditorSetup","defaultFileDropHandler","FileReader","readAsDataURL","selector","customAttribute","renderLogic","buttontext","tooltip","pre","ul","ol","quote","undo","redo","bold","italic","underline","justifyLeft","justifyRight","justifyCenter","indent","outdent","insertImage","dialogPrompt","hotkey","insertVideo","insertLink","tooltiptext","$editor","switchView","activeState","showHtml","queryFormatBlockState","wrapSelection","iconclass","queryCommandState","commandKeyCode","getSelectionElement","displayElements","updateTaBindtaTextElement","hidePopover","popover","popoverContainer","on","showPopover","showResizeOverlay","prompt","onElementSelect","onlyWithAttrs","max-width","overflow","text-overflow","white-space","vertical-align","navigator","userAgent","addEventListener","event","contentEditable","parentNode","getElementById","setSelectionRange","ready","body","appendChild","createTextNode","insertBefore","firstChild","sheet","cssRules","insertRule","addRule","removeRule","deleteRule","serial","off","taDefaultWrap","taFocussedClass","taTextEditorClass","taHtmlEditorClass","taTextEditorSetup","taHtmlEditorSetup","fileDropHandler","taFileDrop","forminput","scrollWindow","popoverArrow","resize","overlay","background","anchors","info","reflowPopover","offsetHeight","offsetTop","offsetLeft","reflowResizeOverlay","clientX","clientY","hideResizeOverlay","ng-show","ta-bind","ng-hide","taUnsafeSanitizer","tabindex","taDisabled","updateTaBindtaHtmlElement","_actionRunning","startAction","rangy","saveSelection","restoreSelection","endAction","removeMarkers","updateSelectedStyles","activeElement","unfocus","triggerHandler","queryCommandValue","_elementSelectTriggered","taTargetToolbars","registerEditor","taToolbar","taToolbarClass","taToolbarGroupClass","taToolbarButtonClass","taToolbarActiveButtonClass","prepend","unregisterEditor","triggerElementSelect","files","_bUpdateSelectedStyles","sendKeyCommand","setSelectionToElementEnd","getOnlySelectedElements","childNodes","outerHTML","removeChild","execCommand","disableSanitizer","clipboardData","getData","selection","createRange","pasteHTML","keyCode","setSelectionToElementStart","$oldViewValue","dataTransfer","taReadonly","taMaxText","$dirty","taMinText","_$element","_display","_lastToolDefinition","tools","_parent","displayActiveToolClass","executeAction","updateToolDisplay","addTool","registerToolbar","unregisterToolbar","toolbars","_registerToolbar","editorFunctions","disable","enable","tool","retrieveEditor","retrieveToolbar","retrieveToolbarsViaEditor","updateToolsDisplay","resetToolsDisplay","resetToolDisplay","updateToolbarToolDisplay","resetToolbarToolDisplay","removeTool","group","addToolToToolbar","refreshEditor","$$phase","hasChildNodes","nextSibling","startContainer","endContainer","commonAncestorContainer","getSelection","isCollapsed","getRangeAt","parentElement","rangeCount","setStart","anchorNode","anchorOffset","setEnd","focusNode","focusOffset","collapsed","selectNodeContents","removeAllRanges","addRange","createTextRange","moveToElementText","moveEnd","moveStart","ListController","entityLabel","displayFilterQuery","clearParams","clearFilter","FormController","FormViewRepository","notification","deleteOne","back","form","$event","mappedObject","log","addnCls","submitCreation","$valid","createOne","submitEdition","updateOne","DeleteController","ViewRepository","fillSimpleReference","filters","referencedValues","getRawValues","getReferencedValues","refValues","fillReferencesValuesFromCollection","currentPage","sortView","reference","calls","responses","getReferencedListValues","referenceList","referenceLists","referenceField","getOne","rawEntity","Compile","StringField","stringFieldView","PasswordField","passwordFieldView","EmailField","emailFieldView","TextField","textFieldView","NumberField","numberFieldView","DateField","dateFieldView","toggleDatePicker","BooleanField","booleanFieldView","ChoiceField","choiceFieldView","ChoicesField","choicesFieldView","ReferenceField","referenceFieldView","ReferenceManyField","ReferenceManyFieldDirective","referenceManyFieldView","item","WysiwygField","wysiwygFieldView","TemplateField","templateFieldView","StringColumn","stringColumnView","PasswordColumn","passwordColumnView","EmailColumn","emailColumnView","TextColumn","textColumnView","NumberColumn","numberColumnView","DateColumn","dateColumnView","BooleanColumn","booleanColumnView","isOk","column","ChoiceColumn","choiceColumnView","ChoicesColumn","choicesColumnView","ReferenceColumn","referenceColumnView","ReferenceManyColumn","referenceManyColumnView","WysiwygColumn","wysiwygColumnView","TemplateColumn","templateColumnView","DatagridController","retrieveColumns","isSorting","itemClass","DatagridDirective","datagridView","DatagridPaginationController","loadingPage","computePagination","hasPagination","offsetBegin","offsetEnd","nbPages","nextPage","nextData","setPage","DatagridPaginationDirective","$document","paginationView","getAttribute","innerHeight","scrollY","QuickFilterController","currentQuickFilter","quickFilter","QuickFilterDirective","quickFilterView","cacheTemplate","editAttributeTemplate","listTemplate","createTemplate","editTemplate","deleteTemplate","referencedListValues","win","doc","ENV","attachEvent","removeEventListener","detachEvent","ctx","preferred","fallback","transSupport","useFilter","_checkTransition","vendors","webkit","Moz","ms","vendor","vendorPrefix","Humane","baseCls","timeout","waitForMove","clickToClose","timeoutAfterMove","container","_setupEl","removeEvent","transEvent","_afterAnimation","_run","_afterTimeout","currentMsg","removeEventsSet","_animating","currentTimer","msg","shift","className","_showMsg","_setOpacity","opacity","Opacity","setInterval","clearInterval","_hideMsg","opt","spawn","NProgress","clamp","toBarPerc","barPositionCSS","speed","ease","barCSS","Settings","positionUsing","margin-left","classList","oldList","newList","removeElement","settings","minimum","easing","trickle","trickleRate","trickleSpeed","showSpinner","barSelector","spinnerSelector","set","started","isStarted","progress","bar","querySelector","getPositioningCSS","work","inc","amount","$promise","always","fromStart","isRendered","spinner","perc","bodyStyle","pending","letter","getVendorProp","vendorName","cssPrefixes","capName","getStyleProp","cssProps","applyCss","CrudModule","$provide","$delegate","oldParse","paths","angular-resource","angular-sanitize","angular-route","angular-ui-router","lodash","angular-bootstrap","angular-bootstrap-tpls","restangular","humane","nprogress","textangular","shim"],"mappings":"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"} \ No newline at end of file diff --git a/index.html b/index.html index bafc0395..34130366 100644 --- a/index.html +++ b/index.html @@ -7,6 +7,7 @@ + diff --git a/package.json b/package.json index e00b1104..cd31b787 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ng-admin", - "version": "0.2.5", + "version": "0.3.0", "private": false, "main": "build/ng-admin.min.js", "repository": { diff --git a/src/javascripts/config-dist.js b/src/javascripts/config-dist.js index c4bfc378..d73cbad4 100644 --- a/src/javascripts/config-dist.js +++ b/src/javascripts/config-dist.js @@ -1,26 +1,26 @@ -(function() { +/*global angular*/ +(function () { "use strict"; var app = angular.module('myApp', ['ng-admin']); - app.directive('customPostLink', ['$location', function($location) { + app.directive('customPostLink', ['$location', function ($location) { return { restrict: 'E', - template: 'View post', - controller: function($scope, $location) { - - }, - link: function($scope, element, attributes) { - $scope.displayPost = function(entity) { - var postId = entity.getField('post_id').value; + template: 'View post', + link: function ($scope) { + $scope.displayPost = function (entry) { + var postId = entry.values.post_id; $location.path('/edit/posts/' + postId); - } + }; } - } + }; }]); - app.config(function(NgAdminConfigurationProvider, Application, Entity, Field, Reference, ReferencedList, ReferenceMany) { + app.config(function (NgAdminConfigurationProvider, Application, Entity, Field, Reference, ReferencedList, + ReferenceMany, DashboardView, ListView, CreateView, EditView, DeleteView) { + function truncate(value) { if (!value) { return ''; @@ -33,151 +33,186 @@ return { _start: (page - 1) * maxPerPage, _end: page * maxPerPage - } + }; } - var post = new Entity('posts'), - commentBody = new Field('body'), - commentId = new Field('id'); + var app = new Application('ng-admin backend demo') // application main title + .baseApiUrl('http://localhost:3000/'); // main API endpoint + + // define all entities at the top to allow references between them + var post = new Entity('posts'); // the API endpoint for posts will be http://localhost:3000/posts/:id - var tag = new Entity('tags') - .label('Tags') - .order(3) - .dashboard(10) - .pagination(pagination) - .infinitePagination(false) - .addField(new Field('id') - .order(1) - .label('ID') - .type('number') - .identifier(true) - .edition('read-only') - ) - .addField(new Field('name') - .order(2) - .label('Name') - .edition('editable') - .validation({ - "required": true, - "max-length" : 150 - }) - ).addField(new Field('actions') - .type('callback') - .list(true) - .label('Big Name') - .isEditLink(false) - .callback(function() { - return '{{ entity.getField("name").value.toUpperCase() }}'; - }) - ); - // var comment = new Entity('comments') - .order(2) - .label('Comments') - .description('Lists all the blog comments with an infinite pagination') - .dashboard(10) - .pagination(pagination) - .infinitePagination(true) - .addField(commentId - .order(1) - .label('ID') - .type('number') - .identifier(true) - .edition('read-only') + .identifier(new Field('id')) // you can optionally customize the identifier used in the api ('id' by default) + .addMappedField(new Field('post_id')); // a field to be read from the API, even if not displayed in any view (used later in template field) + + var tag = new Entity('tags'); + + // set the application entities + app + .addEntity(tag) + .addEntity(post) + .addEntity(comment); + + // customize entities and views + post + .order(1) // post should be the first item in the sidebar menu + .addView(new DashboardView('post-dashboard') // initialize a view with a name to ease routing + .order(1) // display the post panel first in the dashboard + .limit(5) // limit the panel to the 5 latest posts + .pagination(pagination) // use the custom pagination function to format the API request correctly + .label('Recent posts') + .addField(new Field('title').map(truncate)) ) - .addField(new Reference('post_id') - .dashboard(false) - .targetEntity(post) - .targetLabel('title') + .addView(new ListView('post-list') // initialize the datagrid + .title('All posts') // default title is "List of posts" + .pagination(pagination) + .addField(new Field('id').label('ID')) + .addField(new Field('title')) // the default list field type is "string", and displays as a string + .addField(new ReferenceMany('tags') // a Reference is a particular type of field that references another entity + .targetEntity(tag) // the tag entity is defined later in this file + .targetField(new Field('name')) // the field to be displayed in this list + ) ) - .addField(commentBody - .order(2) - .type('text') - .label('Comment') - .edition('editable') - .truncateList(truncate) - .validation({ - "required": true, - "max-length" : 150 - }) + .addView(new CreateView('post-create') // initialize the creation form + .title('Add a new post') // default title is "Create a post" + .addField(new Field('title')) // the default edit field type is "string", and displays as a text input + .addField(new Field('body').type('wysiwyg')) // overriding the type allows rich text editing for the body ) - .addField(new Field('created_at') - .order(3) - .label('Creation Date') - .type('date') - .edition('editable') - .dashboard(false) - .validation({ - "required": true - }) - ).addQuickFilter('Today', function() { - var now = new Date(), - year = now.getFullYear(), - month = now.getMonth() + 1, - day = now.getDate(); - - month = month < 10 ? '0' + month : month; - day = day < 10 ? '0' + day : day; - - return { - created_at: [year, month, day].join('-') - } - }) - .addField(new Field('actions') - .type('callback') - .list(true) - .label('Actions') - .isEditLink(false) - .callback(function() { - return ''; - }) + .addView(new EditView('post-edit') // initialize the edition form + .addField(new Field('title')) + .addField(new Field('body').type('wysiwyg')) + .addField(new ReferenceMany('tags') + .targetEntity(tag) + .targetField(new Field('name')) + ) + .addField(new ReferencedList('comments') + .targetEntity(comment) + .targetReferenceField('post_id') + .targetFields([ + new Field('id'), + new Field('body').label('Comment') + ]) + ) + ) + .addView(new DeleteView('post-delete') // initialize the deletion confirmation page + .title('Delete a post') ); + comment + .order(2) // comment should be the second item in the sidebar menu + .addView(new DashboardView('comment-dashboard') + .order(2) // display the comment panel second in the dashboard + .limit(5) + .pagination(pagination) + .label('Last comments') + .addField(new Field('id')) + .addField(new Field('body').label('Comment').map(truncate)) + .addField(new Field() // template fields don't need a name + .type('template') // a field which uses a custom template + .label('Actions') + .template(function () { // template() can take a function or a string + return ''; // you can use custom directives, too + }) + ) + ) + .addView(new ListView('comment-list') + .title('Comments') + .description('List of all comments with an infinite pagination') // description appears under the title + .pagination(pagination) + .addField(new Field('id').label('ID')) + .addField(new Reference('post_id') + .label('Post title') + .map(truncate) + .targetEntity(post) + .targetField(new Field('title')) + ) + .addField(new Field('body').map(truncate)) + .addField(new Field('created_at').label('Creation date').type('date')) + .addQuickFilter('Today', function () { // a quick filter displays a button to filter the list based on a set of query parameters passed to the API + var now = new Date(), + year = now.getFullYear(), + month = now.getMonth() + 1, + day = now.getDate(); + month = month < 10 ? '0' + month : month; + day = day < 10 ? '0' + day : day; + return { + created_at: [year, month, day].join('-') // ?created_at=... will be appended to the API call + }; + }) + ) + .addView(new CreateView('comment-create') + .addField(new Reference('post_id') + .label('Post title') + .map(truncate) + .targetEntity(post) + .targetField(new Field('title')) + ) + .addField(new Field('body').type('wysiwyg')) + ) + .addView(new EditView('comment-edit') + .addField(new Reference('post_id') + .label('Post title') + .map(truncate) + .targetEntity(post) + .targetField(new Field('title')) + ) + .addField(new Field('body').type('wysiwyg')) + .addField(new Field('created_at').label('Creation date').type('date')) + .addField(new Field() + .type('template') + .label('Actions') + .template('') // template() can take a function or a string + ) + ) + .addView(new DeleteView('comment-delete') + .title('Delete a comment') + ); - post - .label('Posts') - .order(1) - .dashboard(null) - .perPage(10) - .pagination(pagination) - .titleCreate('Create a post') - .titleEdit('Edit a post') - .description('Lists all the blog posts with a simple pagination') - .addField(new Field('id') - .label('ID') - .type('number') - .identifier(true) - .edition('read-only') + tag + .order(3) + .addView(new DashboardView('tag-dashboard') + .order(3) + .limit(10) + .pagination(pagination) + .label('Recent tags') + .addField(new Field('id').label('ID')) + .addField(new Field('name')) + .addField(new Field('published').label('Is published ?').type('boolean')) ) - .addField(new Field('title') - .label('Title') - .edition('editable') - .truncateList(truncate) + .addView(new ListView('tags-list') + .title('List of all tags') + .infinitePagination(false) // by default, the list view uses infinite pagination. Set to false to use regulat pagination + .pagination(pagination) + .addField(new Field('id').label('ID')) + .addField(new Field('name')) + .addField(new Field('published').type('boolean')) + .addField(new Field('custom') + .type('template') + .label('Upper name') + .template(function () { + return '{{ entry.values.name.toUpperCase() }}'; + }) + ) ) - .addField(new Field('body') - .label('Body') - .type('text') - .edition('editable') - .truncateList(truncate) + .addView(new CreateView('tags-create') + .addField(new Field('name') + .type('string') + .validation({ + "required": true, + "max-length" : 150 + }) + ) + .addField(new Field('published').type('boolean')) ) - .addField(new ReferencedList('comments') - .label('Comments') - .targetEntity(comment) - .targetField('post_id') - .targetFields([commentId, commentBody]) + .addView(new EditView('tags_edit') + .addField(new Field('name').editable(false)) + .addField(new Field('published').type('boolean')) ) - .addField(new ReferenceMany('tags') - .label('Tags') - .targetEntity(tag) - .targetLabel('name') + .addView(new DeleteView('tags-delete') + .title('Delete a tag') ); - var app = new Application('ng-admin backend demo') - .baseApiUrl('http://localhost:3000/') - .addEntity(post) - .addEntity(comment) - .addEntity(tag); - NgAdminConfigurationProvider.configure(app); - }) -})(); + }); +}()); diff --git a/src/javascripts/ng-admin.js b/src/javascripts/ng-admin.js index b4fd8206..07162462 100644 --- a/src/javascripts/ng-admin.js +++ b/src/javascripts/ng-admin.js @@ -1,6 +1,13 @@ +/*global require,define,angular*/ + +define('angular', [], function () { + 'use strict'; + + return angular; +}); + require.config({ paths: { - 'angular': 'bower_components/angular/angular', 'angular-resource': 'bower_components/angular-resource/angular-resource', 'angular-sanitize': 'bower_components/angular-sanitize/angular-sanitize', 'angular-route': 'bower_components/angular-route/angular-route', @@ -13,14 +20,10 @@ require.config({ 'humane': 'bower_components/humane/humane', 'nprogress': 'bower_components/nprogress/nprogress', 'textangular': 'bower_components/textAngular/dist/textAngular.min', - 'MainModule': 'ng-admin/Main/MainModule', 'CrudModule': 'ng-admin/Crud/CrudModule' }, shim: { - 'angular': { - exports: 'angular' - }, 'restangular': { deps: ['angular', 'lodash'] }, @@ -32,27 +35,12 @@ require.config({ }, 'angular-bootstrap-tpls': { deps: ['angular', 'angular-bootstrap'] - }, - 'jquery': { - exports: '$' - }, - 'angular-resource': { - deps: ['angular'] - }, - 'angular-sanitize': { - deps: ['angular'] - }, - 'angular-route': { - deps: ['angular'] - }, - 'nprogress': { - exports: 'NProgress' } } }); -define(function(require) { - "use strict"; +define(function (require) { + 'use strict'; var angular = require('angular'); require('MainModule'); diff --git a/src/javascripts/ng-admin/Crud/CrudModule.js b/src/javascripts/ng-admin/Crud/CrudModule.js index 896d8c01..d3b609dd 100644 --- a/src/javascripts/ng-admin/Crud/CrudModule.js +++ b/src/javascripts/ng-admin/Crud/CrudModule.js @@ -1,5 +1,7 @@ +/*global define*/ + define(function (require) { - "use strict"; + 'use strict'; var angular = require('angular'); @@ -14,14 +16,8 @@ define(function (require) { CrudModule.controller('FormController', require('ng-admin/Crud/component/controller/FormController')); CrudModule.controller('DeleteController', require('ng-admin/Crud/component/controller/DeleteController')); - CrudModule.service('CrudManager', require('ng-admin/Crud/component/service/CrudManager')); - - CrudModule.factory('notification', function () { - return require('humane'); - }); - CrudModule.factory('progress', function () { - return require('nprogress'); - }); + CrudModule.service('ListViewRepository', require('ng-admin/Crud/component/service/ListViewRepository')); + CrudModule.service('FormViewRepository', require('ng-admin/Crud/component/service/FormViewRepository')); CrudModule.directive('compile', require('ng-admin/Crud/component/directive/Compile')); @@ -37,7 +33,7 @@ define(function (require) { CrudModule.directive('referenceField', require('ng-admin/Crud/component/directive/field/ReferenceField')); CrudModule.directive('referenceManyField', require('ng-admin/Crud/component/directive/field/ReferenceManyField')); CrudModule.directive('wysiwygField', require('ng-admin/Crud/component/directive/field/WysiwygField')); - CrudModule.directive('callbackField', require('ng-admin/Crud/component/directive/field/CallbackField')); + CrudModule.directive('templateField', require('ng-admin/Crud/component/directive/field/TemplateField')); CrudModule.directive('stringColumn', require('ng-admin/Crud/component/directive/column/StringColumn')); CrudModule.directive('passwordColumn', require('ng-admin/Crud/component/directive/column/PasswordColumn')); @@ -51,7 +47,7 @@ define(function (require) { CrudModule.directive('referenceColumn', require('ng-admin/Crud/component/directive/column/ReferenceColumn')); CrudModule.directive('referenceManyColumn', require('ng-admin/Crud/component/directive/column/ReferenceManyColumn')); CrudModule.directive('wysiwygColumn', require('ng-admin/Crud/component/directive/column/WysiwygColumn')); - CrudModule.directive('callbackColumn', require('ng-admin/Crud/component/directive/column/CallbackColumn')); + CrudModule.directive('templateColumn', require('ng-admin/Crud/component/directive/column/TemplateColumn')); CrudModule.directive('datagrid', require('ng-admin/Crud/component/directive/Datagrid')); CrudModule.directive('datagridPagination', require('ng-admin/Crud/component/directive/DatagridPagination')); @@ -61,18 +57,28 @@ define(function (require) { CrudModule.config(require('ng-admin/Crud/config/routing')); + CrudModule.factory('notification', function () { + return require('humane'); + }); + + CrudModule.factory('progression', function () { + return require('nprogress'); + }); + + /** * Date Picker patch * https://github.com/angular-ui/bootstrap/commit/42cc3f269bae020ba17b4dcceb4e5afaf671d49b */ - CrudModule.config(['$provide', function($provide){ - $provide.decorator('dateParser', function($delegate){ + CrudModule.config(['$provide', function ($provide) { + $provide.decorator('dateParser', function ($delegate) { var oldParse = $delegate.parse; - $delegate.parse = function(input, format) { - if ( !angular.isString(input) || !format ) { + $delegate.parse = function (input, format) { + if (!angular.isString(input) || !format) { return input; } + return oldParse.apply(this, arguments); }; diff --git a/src/javascripts/ng-admin/Crud/component/controller/DeleteController.js b/src/javascripts/ng-admin/Crud/component/controller/DeleteController.js index 53afae5c..34e51eae 100644 --- a/src/javascripts/ng-admin/Crud/component/controller/DeleteController.js +++ b/src/javascripts/ng-admin/Crud/component/controller/DeleteController.js @@ -1,41 +1,40 @@ -define(function() { +/*global define*/ + +define(function () { 'use strict'; - var DeleteController = function($scope, $location, CrudManager, params, notification) { + var DeleteController = function ($scope, $location, FormViewRepository, params, Configuration) { this.$scope = $scope; this.$location = $location; - this.CrudManager = CrudManager; - this.params = params; - this.notification = notification; - - this.entityLabel = this.params.entity; - this.entityId = this.params.id; + this.FormViewRepository = FormViewRepository; + this.entityLabel = params.entity; + this.entityId = params.id; + this.view = Configuration().getViewByEntityAndType(this.entityLabel, 'DeleteView'); + this.title = this.view.title(); $scope.$on('$destroy', this.destroy.bind(this)); }; - DeleteController.prototype.deleteOne = function() { + DeleteController.prototype.deleteOne = function () { var self = this; - this.CrudManager.deleteOne(this.params.entity, this.params.id).then(function() { - self.notification.log('Element successfully deleted.', {addnCls: 'humane-flatty-success'}); - - self.$location.path('/list/' + self.params.entity); + this.FormViewRepository.deleteOne(this.view, this.entityId).then(function () { + self.$location.path('/list/' + self.entityLabel); }); }; - DeleteController.prototype.back = function() { - this.$location.path('/edit/' + this.params.entity + '/' + this.params.id); + DeleteController.prototype.back = function () { + this.$location.path('/edit/' + this.entityLabel + '/' + this.entityId); }; - DeleteController.prototype.destroy = function() { + DeleteController.prototype.destroy = function () { this.$scope = undefined; this.$location = undefined; - this.CrudManager = undefined; - this.params = undefined; + this.FormViewRepository = undefined; + this.view = undefined; }; - DeleteController.$inject = ['$scope', '$location', 'CrudManager', 'params', 'notification']; + DeleteController.$inject = ['$scope', '$location', 'FormViewRepository', 'params', 'NgAdminConfiguration']; return DeleteController; }); diff --git a/src/javascripts/ng-admin/Crud/component/controller/FormController.js b/src/javascripts/ng-admin/Crud/component/controller/FormController.js index 9dcb3152..96888dc5 100644 --- a/src/javascripts/ng-admin/Crud/component/controller/FormController.js +++ b/src/javascripts/ng-admin/Crud/component/controller/FormController.js @@ -1,73 +1,75 @@ -define(function() { +/*global define*/ + +define(function () { 'use strict'; - var FormController = function($scope, $location, $filter, CrudManager, Validator, entity, notification, progress) { - var isNew = entity.isNew(); + var FormController = function ($scope, $location, $filter, FormViewRepository, Validator, progression, notification, view, entry) { this.$scope = $scope; this.$location = $location; this.$filter = $filter; - this.CrudManager = CrudManager; + this.FormViewRepository = FormViewRepository; this.Validator = Validator; - this.entity = entity; - this.title = isNew ? entity.getCreateTitle() : entity.getEditTitle(); - this.description = entity.getDescription(); + this.progression = progression; this.notification = notification; - this.progress = progress; - - var searchParams = this.$location.search(); - - this.fields = entity.getFields(); - - if (isNew) { - for (var fieldName in this.fields) { - this.fields[fieldName].processDefaultValue(); - } - } + this.title = view.getTitle(); + this.description = view.getDescription(); + this.name = view.getFormName(); - this.entityLabel = entity.label(); - this.$scope.entity = this.entity; - this.$scope.entityConfig = this.entity; + this.fields = view.getFields(); + this.entityLabel = view.label(); this.$scope.edit = this.edit.bind(this); + this.$scope.entry = entry; + this.$scope.view = view; + this.view = view; + this.entity = this.view.getEntity(); $scope.$on('$destroy', this.destroy.bind(this)); }; - FormController.prototype.create = function() { + FormController.prototype.create = function () { this.$location.path('/create/' + this.entity.name()); }; - FormController.prototype.deleteOne = function() { - this.$location.path('/delete/' + this.entity.name() + '/' + this.entity.getIdentifier().value); + FormController.prototype.deleteOne = function () { + this.$location.path('/delete/' + this.entity.name() + '/' + this.$scope.entry.identifierValue); }; - FormController.prototype.back = function() { + FormController.prototype.back = function () { this.$location.path('/list/' + this.entity.name()); }; - FormController.prototype.validate = function(form, $event) { + FormController.prototype.validate = function (form, $event) { $event.preventDefault(); - this.progress.startnotification; + this.progression.start(); var value, + entry = this.$scope.entry, self = this, + fields = this.view.getFields(), + mappedObject, + field, + i, object = { - id: this.entity.getIdentifier().value + id: entry.identifierValue }; - angular.forEach(this.entity.getFields(), function(field){ - value = field.value; + for (i in fields) { + field = fields[i]; + value = entry.values[field.name()]; if (field.type() === 'date') { value = self.$filter('date')(value, field.validation().format); } object[field.name()] = value; - }); + } + + mappedObject = this.view.mapEntry(object); try { - this.Validator.validate(this.entity.name(), object); - } catch(e) { - self.progress.done(); - self.notification.log(e, {addnCls: 'humane-flatty-error'}); + this.Validator.validate(this.view, mappedObject); + } catch (e) { + this.progression.done(); + this.notification.log(e, {addnCls: 'humane-flatty-error'}); return false; } @@ -75,62 +77,71 @@ define(function() { }; /** - * @param {Form }form + * @param {Object} form * @param {$event} $event */ - FormController.prototype.submitCreation = function(form, $event) { + FormController.prototype.submitCreation = function (form, $event) { + if (!form.$valid) { + this.notification.log('invalid form', {addnCls: 'humane-flatty-error'}); + + return false; + } + var object = this.validate(form, $event), self = this; - if (!object){ + if (!object) { return; } - this.CrudManager - .createOne(this.entity.name(), object) - .then(function(response) { - self.progress.done(); + this.FormViewRepository + .createOne(this.view, object) + .then(function (response) { + self.progression.done(); self.notification.log('Changes successfully saved.', {addnCls: 'humane-flatty-success'}); - self.$location.path('/edit/' + self.entity.name() + '/' + response.data.id); + self.$location.path('/edit/' + self.entity.name() + '/' + response.identifierValue); }); }; /** - * @param {Form }form + * @param {Object} form * @param {$event} $event */ - FormController.prototype.submitEdition = function(form, $event) { - var object = this.validate(form, $event), - self = this; + FormController.prototype.submitEdition = function (form, $event) { + var self = this, + object = this.validate(form, $event); - if (!object){ + if (!object) { return; } - this.CrudManager.updateOne(this.entity.name(), object).then(function() { - self.progress.done(); - self.notification.log('Changes successfully saved.', {addnCls: 'humane-flatty-success'}); - }); + this.FormViewRepository + .updateOne(this.view, object) + .then(function () { + self.progression.done(); + self.notification.log('Changes successfully saved.', {addnCls: 'humane-flatty-success'}); + }); }; /** * Link to edit entity page * - * @param {Object} item - * @param {Entity} entity + * @param {View} entry */ - FormController.prototype.edit = function(item, entity) { - this.$location.path('/edit/' +entity.name() + '/' + item[entity.getIdentifier().name()]); + FormController.prototype.edit = function (entry) { + this.$location.path('/edit/' + entry.getEntity().name() + '/' + entry.identifierValue); }; - FormController.prototype.destroy = function() { + FormController.prototype.destroy = function () { this.$scope = undefined; + this.$filter = undefined; this.$location = undefined; - this.CrudManager = undefined; + this.FormViewRepository = undefined; + this.view = undefined; this.entity = undefined; }; - FormController.$inject = ['$scope', '$location', '$filter', 'CrudManager', 'Validator', 'entity', 'notification', 'progress']; + FormController.$inject = ['$scope', '$location', '$filter', 'FormViewRepository', 'Validator', 'progression', 'notification', 'view', 'entry']; return FormController; }); diff --git a/src/javascripts/ng-admin/Crud/component/controller/ListController.js b/src/javascripts/ng-admin/Crud/component/controller/ListController.js index d0134c63..b27f8cdb 100644 --- a/src/javascripts/ng-admin/Crud/component/controller/ListController.js +++ b/src/javascripts/ng-admin/Crud/component/controller/ListController.js @@ -1,29 +1,31 @@ -define(function(require) { +/*global define*/ + +define(function () { 'use strict'; - var ListController = function($scope, $location, $anchorScroll, data) { + var ListController = function ($scope, $location, $anchorScroll, data) { this.$scope = $scope; this.$location = $location; this.data = data; this.$anchorScroll = $anchorScroll; - this.entityConfig = this.data.entityConfig; - this.entityLabel = data.entityConfig.label(); - this.title = data.entityConfig.getListTitle(); - this.description = data.entityConfig.getDescription(); - this.displayFilterQuery = data.entityConfig.filterQuery() !== false; + this.view = this.data.view; + this.entityLabel = this.view.label(); + this.title = this.view.getTitle(); + this.description = this.view.getDescription(); + this.displayFilterQuery = this.view.filterQuery() !== false; var searchParams = this.$location.search(); this.$scope.filterQuery = 'q' in searchParams ? searchParams.q : ''; this.$scope.edit = this.edit.bind(this); - this.$scope.entities = data.entities; - this.$scope.entityConfig = this.entityConfig; + this.$scope.entries = data.entries; + this.$scope.view = this.view; this.$scope.totalItems = this.data.totalItems; $scope.$on('$destroy', this.destroy.bind(this)); }; - ListController.prototype.clearParams = function() { + ListController.prototype.clearParams = function () { this.$location.search('q', null); this.$location.search('page', null); this.$location.search('sortField', null); @@ -33,35 +35,35 @@ define(function(require) { /** * Link to entity creation page */ - ListController.prototype.create = function() { + ListController.prototype.create = function () { this.clearParams(); - this.$location.path('/create/' + this.data.entityName); + this.$location.path('/create/' + this.view.getEntity().name()); this.$anchorScroll(0); }; /** * Link to edit entity page * - * @param {Entity} entity + * @param {ListView} entry */ - ListController.prototype.edit = function(entity) { + ListController.prototype.edit = function (entry) { this.clearParams(); - this.$location.path('/edit/' + entity.name() + '/' + entity.getIdentifier().value); + this.$location.path('/edit/' + entry.entityName + '/' + entry.identifierValue); this.$anchorScroll(0); }; - ListController.prototype.clearFilter = function() { + ListController.prototype.clearFilter = function () { this.$scope.filterQuery = ''; this.filter(); }; - ListController.prototype.filter = function() { + ListController.prototype.filter = function () { this.$location.search('q', this.$scope.filterQuery); }; - ListController.prototype.destroy = function() { + ListController.prototype.destroy = function () { this.$scope = undefined; this.$location = undefined; }; diff --git a/src/javascripts/ng-admin/Crud/component/controller/directive/DatagridController.js b/src/javascripts/ng-admin/Crud/component/controller/directive/DatagridController.js index ae61d59b..6dae00fb 100644 --- a/src/javascripts/ng-admin/Crud/component/controller/directive/DatagridController.js +++ b/src/javascripts/ng-admin/Crud/component/controller/directive/DatagridController.js @@ -1,4 +1,6 @@ -define(function() { +/*global define*/ + +define(function (require) { 'use strict'; /** @@ -18,25 +20,26 @@ define(function() { this.retrieveColumns(); } - DatagridController.prototype.retrieveColumns = function() { + DatagridController.prototype.retrieveColumns = function () { // Column can be set in edit form to display certain column of a ReferencedEntity if (this.$scope.columns) { return; } - var columns = []; + var columns = [], + fields = this.$scope.view.getDisplayedFields(), + field, + i; // Get identifier field, and build columns array (with only the fields defined with `"list" : true`) - angular.forEach(this.$scope.entityConfig.getFields(), function(field) { - if(!field.list()) { - return; - } + for (i in fields) { + field = fields[i]; columns.push({ field: field, label: field.label() }); - }); + } this.$scope.columns = columns; }; @@ -48,7 +51,7 @@ define(function() { * * @returns {Boolean} */ - DatagridController.prototype.isSorting = function(field) { + DatagridController.prototype.isSorting = function (field) { return this.sortField === field.getSortName(); }; @@ -58,7 +61,7 @@ define(function() { * @param {Number} index * @returns {string} */ - DatagridController.prototype.itemClass = function(index) { + DatagridController.prototype.itemClass = function (index) { return (index % 2 === 0) ? 'even' : 'odd'; }; @@ -66,7 +69,7 @@ define(function() { * * @param {Field} field */ - DatagridController.prototype.sort = function(field) { + DatagridController.prototype.sort = function (field) { var dir = 'ASC', fieldName = field.getSortName(); diff --git a/src/javascripts/ng-admin/Crud/component/controller/directive/DatagridPaginationController.js b/src/javascripts/ng-admin/Crud/component/controller/directive/DatagridPaginationController.js index 5f8107bf..b48d5c22 100644 --- a/src/javascripts/ng-admin/Crud/component/controller/directive/DatagridPaginationController.js +++ b/src/javascripts/ng-admin/Crud/component/controller/directive/DatagridPaginationController.js @@ -1,21 +1,23 @@ -define(function() { +/*global define*/ + +define(function () { 'use strict'; - function DatagridPaginationController($scope, $location, $anchorScroll, CrudManager, progress) { + function DatagridPaginationController($scope, $location, $anchorScroll, progression, ListViewRepository) { this.$scope = $scope; this.$location = $location; this.loadingPage = false; this.$anchorScroll = $anchorScroll; - this.CrudManager = CrudManager; - this.progress = progress; + this.progression = progression; + this.ListViewRepository = ListViewRepository; } DatagridPaginationController.prototype.computePagination = function () { - var perPage = this.$scope.entityConfig.perPage(), + var perPage = this.$scope.view.perPage(), currentPage = this.$location.search().page || 1, totalItems = this.$scope.totalItems; - this.infinitePagination = this.$scope.hasPagination && this.$scope.entityConfig.infinitePagination(); + this.infinitePagination = this.$scope.hasPagination && this.$scope.view.infinitePagination(); this.currentPage = currentPage; this.offsetBegin = (currentPage - 1) * perPage + 1; this.offsetEnd = Math.min(currentPage * perPage, totalItems); @@ -31,18 +33,19 @@ define(function() { * @param {int} max * @returns {Array} */ - DatagridPaginationController.prototype.range = function(min, max){ - var input = []; + DatagridPaginationController.prototype.range = function (min, max) { + var input = [], + i; - for (var i = min; i <= max; i ++) { + for (i = min; i <= max; i++) { input.push(i); } return input; }; - DatagridPaginationController.prototype.nextPage = function() { - var entityConfig = this.$scope.entityConfig; + DatagridPaginationController.prototype.nextPage = function () { + var view = this.$scope.view; if (this.loadingPage || !this.infinitePagination || this.currentPage === this.nbPages) { return; } @@ -55,13 +58,15 @@ define(function() { this.loadingPage = true; this.currentPage++; - self.progress.start(); - this.CrudManager.getAll(entityConfig.name(), this.currentPage, null, true, null, sortField, sortDir).then(function(nextData) { - self.progress.done(); + this.progression.start(); + this.ListViewRepository + .getAll(view, this.currentPage, true, null, sortField, sortDir) + .then(function (nextData) { + self.progression.done(); - self.$scope.entities = self.$scope.entities.concat(nextData.entities); - self.loadingPage = false; - }); + self.$scope.entries = self.$scope.entries.concat(nextData.entries); + self.loadingPage = false; + }); }; /** @@ -70,7 +75,7 @@ define(function() { * @param {int} number */ DatagridPaginationController.prototype.setPage = function (number) { - if(number <= 0 || number > this.nbPages) { + if (number <= 0 || number > this.nbPages) { return; } @@ -78,8 +83,7 @@ define(function() { this.$anchorScroll(0); }; - - DatagridPaginationController.$inject = ['$scope', '$location', '$anchorScroll', 'CrudManager', 'progress']; + DatagridPaginationController.$inject = ['$scope', '$location', '$anchorScroll', 'progression', 'ListViewRepository']; return DatagridPaginationController; }); diff --git a/src/javascripts/ng-admin/Crud/component/controller/directive/QuickFilterController.js b/src/javascripts/ng-admin/Crud/component/controller/directive/QuickFilterController.js index 7a4592bb..3139995a 100644 --- a/src/javascripts/ng-admin/Crud/component/controller/directive/QuickFilterController.js +++ b/src/javascripts/ng-admin/Crud/component/controller/directive/QuickFilterController.js @@ -1,4 +1,6 @@ -define(function(require) { +/*global define*/ + +define(function () { 'use strict'; /** @@ -12,12 +14,12 @@ define(function(require) { this.$location = $location; var searchParams = this.$location.search(); - this.quickFilters = this.$scope.entityConfig.getQuickFilterNames(); + this.quickFilters = this.$scope.view.getQuickFilterNames(); this.currentQuickFilter = 'quickFilter' in searchParams ? searchParams.quickFilter : null; - this.displayFilterQuery = this.$scope.entityConfig.filterQuery() !== false; + this.displayFilterQuery = this.$scope.view.filterQuery() !== false; } - QuickFilterController.prototype.filter = function(label) { + QuickFilterController.prototype.filter = function (label) { this.$location.search('quickFilter', label); }; diff --git a/src/javascripts/ng-admin/Crud/component/directive/Compile.js b/src/javascripts/ng-admin/Crud/component/directive/Compile.js index 9b149ac7..3d555b54 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/Compile.js +++ b/src/javascripts/ng-admin/Crud/component/directive/Compile.js @@ -1,21 +1,20 @@ +/*global define*/ // @see https://docs.angularjs.org/api/ng/service/$compile -define(function(require) { +define(function () { 'use strict'; - var angular = require('angular'); - function Compile($injector) { var $compile = $injector.get('$compile'); return { - link: function(scope, element, attrs) { + link: function (scope, element, attrs) { scope.$watch( - function(scope) { + function (scope) { // watch the 'compile' expression for changes return scope.$eval(attrs.compile); }, - function(value) { + function (value) { // when the 'compile' expression changes assign it into the current DOM element.html(value); diff --git a/src/javascripts/ng-admin/Crud/component/directive/Datagrid.js b/src/javascripts/ng-admin/Crud/component/directive/Datagrid.js index 1062e325..1e5f00a5 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/Datagrid.js +++ b/src/javascripts/ng-admin/Crud/component/directive/Datagrid.js @@ -1,8 +1,9 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'), - datagridView = require('text!../../view/datagrid.html'), + var datagridView = require('text!../../view/datagrid.html'), DatagridController = require('ng-admin/Crud/component/controller/directive/DatagridController'); function DatagridDirective() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/DatagridPagination.js b/src/javascripts/ng-admin/Crud/component/directive/DatagridPagination.js index 74fab200..dffde115 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/DatagridPagination.js +++ b/src/javascripts/ng-admin/Crud/component/directive/DatagridPagination.js @@ -1,4 +1,6 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; var angular = require('angular'), @@ -9,7 +11,7 @@ define(function(require) { return { restrict: 'E', template: paginationView, - controllerAs: 'pagination', + controllerAs: 'paginationCtrl', controller: DatagridPaginationController, link: function (scope, element, attrs, controller) { var offset = attrs.offset || 100, diff --git a/src/javascripts/ng-admin/Crud/component/directive/QuickFilter.js b/src/javascripts/ng-admin/Crud/component/directive/QuickFilter.js index b71a6000..760268a4 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/QuickFilter.js +++ b/src/javascripts/ng-admin/Crud/component/directive/QuickFilter.js @@ -1,15 +1,16 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'), - quickFilterView = require('text!../../view/quick-filter.html'), + var quickFilterView = require('text!../../view/quick-filter.html'), QuickFilterController = require('ng-admin/Crud/component/controller/directive/QuickFilterController'); function QuickFilterDirective() { return { restrict: 'E', template: quickFilterView, - controllerAs: 'quickFilter', + controllerAs: 'quickFilterCtrl', controller: QuickFilterController }; } diff --git a/src/javascripts/ng-admin/Crud/component/directive/column/BooleanColumn.js b/src/javascripts/ng-admin/Crud/component/directive/column/BooleanColumn.js index 819e7cf6..927e5f75 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/column/BooleanColumn.js +++ b/src/javascripts/ng-admin/Crud/component/directive/column/BooleanColumn.js @@ -1,15 +1,16 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var booleanColumnView = require('text!../../../view/column/boolean.html'); function BooleanColumn() { return { restrict: 'E', template: booleanColumnView, - controller: ['$scope', function($scope) { - $scope.isOk = !!$scope.entity.getField($scope.column.field.name()).value; + controller: ['$scope', function ($scope) { + $scope.isOk = !!$scope.entry.values[$scope.column.field.name()]; }] }; } diff --git a/src/javascripts/ng-admin/Crud/component/directive/column/CallbackColumn.js b/src/javascripts/ng-admin/Crud/component/directive/column/CallbackColumn.js deleted file mode 100644 index 09ba1f6c..00000000 --- a/src/javascripts/ng-admin/Crud/component/directive/column/CallbackColumn.js +++ /dev/null @@ -1,17 +0,0 @@ -define(function(require) { - 'use strict'; - - var angular = require('angular'); - var callbackColumnView = require('text!../../../view/column/callback.html'); - - function CallbackColumn() { - return { - restrict: 'E', - template: callbackColumnView - }; - } - - CallbackColumn.$inject = []; - - return CallbackColumn; -}); diff --git a/src/javascripts/ng-admin/Crud/component/directive/column/ChoiceColumn.js b/src/javascripts/ng-admin/Crud/component/directive/column/ChoiceColumn.js index e2fa6210..fca1bcf4 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/column/ChoiceColumn.js +++ b/src/javascripts/ng-admin/Crud/component/directive/column/ChoiceColumn.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var choiceColumnView = require('text!../../../view/column/choice.html'); function ChoiceColumn() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/column/ChoicesColumn.js b/src/javascripts/ng-admin/Crud/component/directive/column/ChoicesColumn.js index a0b4dbe0..c7104c8e 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/column/ChoicesColumn.js +++ b/src/javascripts/ng-admin/Crud/component/directive/column/ChoicesColumn.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var choicesColumnView = require('text!../../../view/column/choices.html'); function ChoicesColumn() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/column/DateColumn.js b/src/javascripts/ng-admin/Crud/component/directive/column/DateColumn.js index 5b83eb1f..4feb66f2 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/column/DateColumn.js +++ b/src/javascripts/ng-admin/Crud/component/directive/column/DateColumn.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var dateColumnView = require('text!../../../view/column/date.html'); function DateColumn() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/column/EmailColumn.js b/src/javascripts/ng-admin/Crud/component/directive/column/EmailColumn.js index 7490cec5..d1ae43de 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/column/EmailColumn.js +++ b/src/javascripts/ng-admin/Crud/component/directive/column/EmailColumn.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var emailColumnView = require('text!../../../view/column/email.html'); function EmailColumn() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/column/NumberColumn.js b/src/javascripts/ng-admin/Crud/component/directive/column/NumberColumn.js index b63b015f..87dec543 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/column/NumberColumn.js +++ b/src/javascripts/ng-admin/Crud/component/directive/column/NumberColumn.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var numberColumnView = require('text!../../../view/column/number.html'); function NumberColumn() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/column/PasswordColumn.js b/src/javascripts/ng-admin/Crud/component/directive/column/PasswordColumn.js index 751efa73..6719713f 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/column/PasswordColumn.js +++ b/src/javascripts/ng-admin/Crud/component/directive/column/PasswordColumn.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var passwordColumnView = require('text!../../../view/column/password.html'); function PasswordColumn() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/column/ReferenceColumn.js b/src/javascripts/ng-admin/Crud/component/directive/column/ReferenceColumn.js index 7e58c358..19b06ac3 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/column/ReferenceColumn.js +++ b/src/javascripts/ng-admin/Crud/component/directive/column/ReferenceColumn.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var referenceColumnView = require('text!../../../view/column/reference.html'); function ReferenceColumn() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/column/ReferenceManyColumn.js b/src/javascripts/ng-admin/Crud/component/directive/column/ReferenceManyColumn.js index d3650740..6f87ab56 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/column/ReferenceManyColumn.js +++ b/src/javascripts/ng-admin/Crud/component/directive/column/ReferenceManyColumn.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var referenceManyColumnView = require('text!../../../view/column/referenceMany.html'); function ReferenceManyColumn() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/column/StringColumn.js b/src/javascripts/ng-admin/Crud/component/directive/column/StringColumn.js index 3b310979..f48fefb0 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/column/StringColumn.js +++ b/src/javascripts/ng-admin/Crud/component/directive/column/StringColumn.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var stringColumnView = require('text!../../../view/column/string.html'); function StringColumn() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/column/TemplateColumn.js b/src/javascripts/ng-admin/Crud/component/directive/column/TemplateColumn.js new file mode 100644 index 00000000..a989dca9 --- /dev/null +++ b/src/javascripts/ng-admin/Crud/component/directive/column/TemplateColumn.js @@ -0,0 +1,18 @@ +/*global define*/ + +define(function (require) { + 'use strict'; + + var templateColumnView = require('text!../../../view/column/template.html'); + + function TemplateColumn() { + return { + restrict: 'E', + template: templateColumnView + }; + } + + TemplateColumn.$inject = []; + + return TemplateColumn; +}); diff --git a/src/javascripts/ng-admin/Crud/component/directive/column/TextColumn.js b/src/javascripts/ng-admin/Crud/component/directive/column/TextColumn.js index 4394c84d..05c23ecb 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/column/TextColumn.js +++ b/src/javascripts/ng-admin/Crud/component/directive/column/TextColumn.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var textColumnView = require('text!../../../view/column/text.html'); function TextColumn() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/column/WysiwygColumn.js b/src/javascripts/ng-admin/Crud/component/directive/column/WysiwygColumn.js index 95d5b4bd..a832d919 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/column/WysiwygColumn.js +++ b/src/javascripts/ng-admin/Crud/component/directive/column/WysiwygColumn.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var wysiwygColumnView = require('text!../../../view/column/wysiwyg.html'); function WysiwygColumn() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/field/BooleanField.js b/src/javascripts/ng-admin/Crud/component/directive/field/BooleanField.js index fcbdd5ae..e6e2d252 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/field/BooleanField.js +++ b/src/javascripts/ng-admin/Crud/component/directive/field/BooleanField.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var booleanFieldView = require('text!../../../view/field/boolean.html'); function BooleanField() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/field/CallbackField.js b/src/javascripts/ng-admin/Crud/component/directive/field/CallbackField.js deleted file mode 100644 index 5ac9655c..00000000 --- a/src/javascripts/ng-admin/Crud/component/directive/field/CallbackField.js +++ /dev/null @@ -1,17 +0,0 @@ -define(function(require) { - 'use strict'; - - var angular = require('angular'); - var callbackFieldView = require('text!../../../view/field/callback.html'); - - function CallbackField() { - return { - restrict: 'E', - template: callbackFieldView - }; - } - - CallbackField.$inject = []; - - return CallbackField; -}); diff --git a/src/javascripts/ng-admin/Crud/component/directive/field/ChoiceField.js b/src/javascripts/ng-admin/Crud/component/directive/field/ChoiceField.js index 51f40dde..34988f8b 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/field/ChoiceField.js +++ b/src/javascripts/ng-admin/Crud/component/directive/field/ChoiceField.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var choiceFieldView = require('text!../../../view/field/choice.html'); function ChoiceField() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/field/ChoicesField.js b/src/javascripts/ng-admin/Crud/component/directive/field/ChoicesField.js index 144a541b..a0aa2f0e 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/field/ChoicesField.js +++ b/src/javascripts/ng-admin/Crud/component/directive/field/ChoicesField.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var choicesFieldView = require('text!../../../view/field/choices.html'); function ChoicesField() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/field/DateField.js b/src/javascripts/ng-admin/Crud/component/directive/field/DateField.js index 284a8654..795eb298 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/field/DateField.js +++ b/src/javascripts/ng-admin/Crud/component/directive/field/DateField.js @@ -1,22 +1,23 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var dateFieldView = require('text!../../../view/field/date.html'); function DateField() { return { restrict: 'E', template: dateFieldView, - controller: ['$scope', function($scope) { + controller: ['$scope', function ($scope) { $scope.isOpen = false; - $scope.toggleDatePicker = function($event) { + $scope.toggleDatePicker = function ($event) { $event.preventDefault(); $event.stopPropagation(); $scope.isOpen = !$scope.isOpen; - } + }; }] }; } diff --git a/src/javascripts/ng-admin/Crud/component/directive/field/EmailField.js b/src/javascripts/ng-admin/Crud/component/directive/field/EmailField.js index 965ecc4f..6769ce78 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/field/EmailField.js +++ b/src/javascripts/ng-admin/Crud/component/directive/field/EmailField.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var emailFieldView = require('text!../../../view/field/email.html'); function EmailField() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/field/NumberField.js b/src/javascripts/ng-admin/Crud/component/directive/field/NumberField.js index 873faad5..78b9879b 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/field/NumberField.js +++ b/src/javascripts/ng-admin/Crud/component/directive/field/NumberField.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var numberFieldView = require('text!../../../view/field/number.html'); function NumberField() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/field/PasswordField.js b/src/javascripts/ng-admin/Crud/component/directive/field/PasswordField.js index 50b97c11..31c395f7 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/field/PasswordField.js +++ b/src/javascripts/ng-admin/Crud/component/directive/field/PasswordField.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var passwordFieldView = require('text!../../../view/field/password.html'); function PasswordField() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/field/ReferenceField.js b/src/javascripts/ng-admin/Crud/component/directive/field/ReferenceField.js index ef8f0cfe..9a2a1b63 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/field/ReferenceField.js +++ b/src/javascripts/ng-admin/Crud/component/directive/field/ReferenceField.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var referenceFieldView = require('text!../../../view/field/reference.html'); function ReferenceField() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/field/ReferenceManyField.js b/src/javascripts/ng-admin/Crud/component/directive/field/ReferenceManyField.js index 719bedf4..1c3e1f72 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/field/ReferenceManyField.js +++ b/src/javascripts/ng-admin/Crud/component/directive/field/ReferenceManyField.js @@ -1,18 +1,19 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var referenceManyFieldView = require('text!../../../view/field/referenceMany.html'); function ReferenceManyField() { } - ReferenceManyField.prototype.contains = function(collection, item) { + ReferenceManyField.prototype.contains = function (collection, item) { if (!collection) { return false; } - for(var i = 0, l = collection.length; i < l; i++) { + for (var i = 0, l = collection.length; i < l; i++) { if (collection[i] == item) { return true; } diff --git a/src/javascripts/ng-admin/Crud/component/directive/field/StringField.js b/src/javascripts/ng-admin/Crud/component/directive/field/StringField.js index 60170826..3a07eb9f 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/field/StringField.js +++ b/src/javascripts/ng-admin/Crud/component/directive/field/StringField.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var stringFieldView = require('text!../../../view/field/string.html'); function StringField() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/field/TemplateField.js b/src/javascripts/ng-admin/Crud/component/directive/field/TemplateField.js new file mode 100644 index 00000000..57aabfd0 --- /dev/null +++ b/src/javascripts/ng-admin/Crud/component/directive/field/TemplateField.js @@ -0,0 +1,18 @@ +/*global define*/ + +define(function (require) { + 'use strict'; + + var templateFieldView = require('text!../../../view/field/template.html'); + + function TemplateField() { + return { + restrict: 'E', + template: templateFieldView + }; + } + + TemplateField.$inject = []; + + return TemplateField; +}); diff --git a/src/javascripts/ng-admin/Crud/component/directive/field/TextField.js b/src/javascripts/ng-admin/Crud/component/directive/field/TextField.js index 9682a2ef..82f4f019 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/field/TextField.js +++ b/src/javascripts/ng-admin/Crud/component/directive/field/TextField.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var textFieldView = require('text!../../../view/field/text.html'); function TextField() { diff --git a/src/javascripts/ng-admin/Crud/component/directive/field/WysiwygField.js b/src/javascripts/ng-admin/Crud/component/directive/field/WysiwygField.js index cd8ee193..7777a896 100644 --- a/src/javascripts/ng-admin/Crud/component/directive/field/WysiwygField.js +++ b/src/javascripts/ng-admin/Crud/component/directive/field/WysiwygField.js @@ -1,7 +1,8 @@ -define(function(require) { +/*global define*/ + +define(function (require) { 'use strict'; - var angular = require('angular'); var wysiwygFieldView = require('text!../../../view/field/wysiwyg.html'); function WysiwygField() { diff --git a/src/javascripts/ng-admin/Crud/component/service/CrudManager.js b/src/javascripts/ng-admin/Crud/component/service/CrudManager.js deleted file mode 100644 index 3ccdfa4f..00000000 --- a/src/javascripts/ng-admin/Crud/component/service/CrudManager.js +++ /dev/null @@ -1,461 +0,0 @@ -define(function(require) { - 'use strict'; - - var angular = require('angular'); - - /** - * - * @param {$q} $q - * @param {Restangular} Restangular - * @param {Application} Configuration - * @constructor - */ - function CrudManager($q, Restangular, Configuration, Field) { - this.$q = $q; - this.Restangular = Restangular; - this.config = Configuration(); - this.Field = Field; - - this.Restangular.setBaseUrl(this.config.baseApiUrl()); - this.Restangular.setFullResponse(true); // To get also the headers - } - - /** - * Get one entity - * - * @param {String} entityName name of the entity - * @param {Number} entityId id of the entity - * - * @returns {promise} (list of fields (with their values if set) & the entity name, label & id- - */ - CrudManager.prototype.getOne = function(entityName, entityId) { - if (!this.config.hasEntity(entityName)) { - return this.$q.reject('Entity ' + entityName + ' not found.'); - } - - var entityConfig = this.config.getEntity(entityName), - interceptor = entityConfig.interceptor(), - params = entityConfig.getExtraParams(), - headers = this.config.getHeaders(entityName, 'getOne'); - - if (interceptor) { - this.Restangular.addResponseInterceptor(interceptor); - } - - // Get element data - return this.Restangular - .one(entityName, entityId) - .get(params, headers) - .then(function(response) { - - var fields = entityConfig.getFields(), - entity = response.data; - - // Transform each values with `valueTransformer` - angular.forEach(fields, function(field, index) { - entityConfig.getField(index).value = field.valueTransformer()(entity[field.name()]); - }); - - return entityConfig; - }); - }; - - /** - * Create a new entity - * Post the data to the API to create the new object - * - * @param {String} entityName the name of the entity - * @param {Object} entity the entity's object - * - * @returns {promise} the new object - */ - CrudManager.prototype.createOne = function (entityName, entity) { - if (!this.config.hasEntity(entityName)) { - return this.$q.reject('Entity ' + entityName + ' not found.'); - } - - var headers = this.config.getHeaders(entityName, 'createOne'); - - // Get element data - return this.Restangular - .restangularizeElement(null, entity, entityName) - .post(null, entity, null, headers); - }; - - /** - * Update an entity - * Put the data to the API to create the new object - * - * @param {String} entityName the name of the entity - * @param {Object} entity the entity's object - * - * @returns {promise} the updated object - */ - CrudManager.prototype.updateOne = function(entityName, entity) { - if (!this.config.hasEntity(entityName)) { - return this.$q.reject('Entity ' + entityName + ' not found.'); - } - - var headers = this.config.getHeaders(entityName, 'updateOne'); - - // Get element data - return this.Restangular - .restangularizeElement(null, entity, entityName) - .put(null, headers); - }; - - - /** - * Delete an entity - * Delete the data to the API - * - * @param {String} entityName the name of the entity - * @param {String} entityId the entity's id - * - * @returns {promise} - */ - CrudManager.prototype.deleteOne = function(entityName, entityId) { - var headers = this.config.getHeaders(entityName, 'deleteOne'); - - return this.Restangular - .one(entityName, entityId) - .remove(null, headers); - }; - - - /** - * Return the list of all object of entityName type - * Get all the object from the API - * - * @param {String} entityName the name of the entity - * @param {Number} page the page number - * @param {Number|Bool} limit the pagination limit - * @param {Boolean} fillSimpleReference should we fill Reference list - * @param {String} query searchQuery to filter elements - * @param {String} sortField the field to be sorted ex: entity.fieldName - * @param {String} sortDir the direction of the sort - * @param {Object} filters filter specific fields - * - * @returns {promise} the entity config & the list of objects - */ - CrudManager.prototype.getAll = function (entityName, page, limit, fillSimpleReference, query, sortField, sortDir, filters) { - page = (typeof(page) === 'undefined') ? 1 : parseInt(page); - fillSimpleReference = (typeof(fillSimpleReference) === 'undefined') ? true : fillSimpleReference; - filters = (typeof(filters) === 'undefined') ? {} : filters; - - if (!this.config.hasEntity(entityName)) { - return this.$q.reject('Entity ' + entityName + ' not found.'); - } - - var self = this, - entityConfig = this.config.getEntity(entityName), - fields = entityConfig.getFields(), - pagination = entityConfig.pagination(), - perPage = limit || entityConfig.perPage(), - interceptor = entityConfig.interceptor(), - params = entityConfig.getExtraParams(), - headers = this.config.getHeaders(entityName, 'getAll'), - sortEntity = sortField ? sortField.split('.')[0] : '', - sortParams = sortEntity === entityName ? entityConfig.getSortParams(sortField.split('.').pop(), sortDir) : null, - response; - - filters = entityConfig.filterParams()(filters); - - // Add sort param headers - if (sortParams && sortParams.headers) { - headers = angular.extend(headers, sortParams.headers); - } - - // Add pagination params - if (pagination && limit !== false) { - params = angular.extend(params, pagination(page, perPage)); - } - - // Add sort params - if (sortParams && 'params' in sortParams) { - params = angular.extend(params, sortParams.params); - } - - // Add query params - if (query && query.length) { - var filterQuery = entityConfig.filterQuery(); - params = angular.extend(params, filterQuery(query)); - } - - // Add filters - angular.forEach(filters, function(value, fieldName) { - params[fieldName] = value; - }); - - if (interceptor) { - this.Restangular.addResponseInterceptor(interceptor); - } - - // Get grid data - return this.Restangular - .all(entityConfig.name()) - .getList(params, headers) - .then(function (data) { - response = data; - - return self.getReferencedValues(entityName); - }) - .then(function(referencedValues) { - var rawEntities = response.data, - entities = []; - - // Map each rawEntity to an Entity - for (var i = 0, l = rawEntities.length; i < l; i++) { - var rawEntity = rawEntities[i], - entity = angular.copy(entityConfig); - - angular.forEach(fields, function(field, fieldName) { - - if (field.type() === 'callback') { - entity.getField(fieldName).value = field.getCallbackValue(rawEntity); - }else if (field.name() in rawEntity) { - entity.getField(fieldName).value = field.valueTransformer()(rawEntity[field.name()]); - } - }); - - entities.push(entity); - } - - entities = self.fillReferencesValuesFromCollection(entities, referencedValues, fillSimpleReference); - entities = self.truncateListValue(entities); - - return { - entityName: entityName, - entityConfig: entityConfig, - entities: entities, - currentPage: page, - perPage: perPage, - totalItems: entityConfig.totalItems()(response) - }; - }); - }; - - - /** - * Get the edition fields of an entity: - * - * @param {String} entityName name of the entity - * @param {String|Array} filterType optional filter on the edition type (can be `read-only` or `editable`) - * - * @returns {Promise} (list of fields & the entity name, label & id) - */ - CrudManager.prototype.getEditionFields = function(entityName, filterType) { - var filters = []; - - if (typeof(filterType) !== 'undefined') { - if (typeof(filterType) === 'string') { - filters.push(filterType); - } else if (filterType.length) { - filters = filterType; - } - } - - if (!this.config.hasEntity(entityName)) { - throw 'Entity ' + entityName + ' not found.'; - } - - var entity = this.config.getEntity(entityName); - entity.clear(); - - return entity; - }; - - /** - * Returns all References for an entity with associated values [{targetEntity.identifier: targetLabel}, ...] - * - * @param {String} entityName - * - * @returns {Promise} - */ - CrudManager.prototype.getReferencedValues = function(entityName) { - var self = this, - references = this.getReferences(entityName), - calls = []; - - angular.forEach(references, function(reference) { - calls.push(self.getAll(reference.targetEntity().name(), 1, false)) - }); - - return this.$q.all(calls) - .then(function(responses) { - var i = 0; - angular.forEach(references, function(reference, index) { - references[index].setChoices(self.getReferenceChoices(reference, responses[i++].entities)); - }); - - return references; - }); - }; - - /** - * Returns all ReferencedList for an entity for associated values [{targetEntity.identifier: [targetFields, ...]}} - * - * @param {String} entityName - * @param {Entity} entity - * @param {String} sortField - * @param {String} sortDir - * - * @returns {Promise} - */ - CrudManager.prototype.getReferencedListValues = function(entityName, entity, sortField, sortDir) { - var self = this, - lists = this.getReferencedLists(entityName), - entityId = entity.getIdentifier().value, - calls = []; - - angular.forEach(lists, function(list) { - calls.push(self.getAll(list.targetEntity().name(), 1, false, false, null, sortField, sortDir)) - }); - - return this.$q.all(calls) - .then(function(responses) { - var i = 0; - angular.forEach(lists, function(list, index) { - entity.getField(index).setItems(self.filterReferencedList(responses[i++].entities, list, entityId)); - }); - - return lists; - }); - }; - - /** - * Returns only referencedList values for an entity (filter it by identifier value) - * - * @param {[Entity]} entities - * @param {ReferencedList} referencedList - * @param {String|Number} entityId - * @returns {Array} - */ - CrudManager.prototype.filterReferencedList = function(entities, referencedList, entityId) { - var results = [], - targetField = referencedList.targetField(); - - angular.forEach(entities, function(entity) { - if (entity.getField(targetField).value == entityId) { - results.push(entity); - } - }); - - return results; - }; - - /** - * Returns all choices for a Reference from values : [{targetIdentifier: targetLabel}] - * - * @param {Reference} reference - * @param {[Entity]} entities - * - * @returns {Object} - */ - CrudManager.prototype.getReferenceChoices = function(reference, entities) { - var result = {}, - targetEntity = reference.targetEntity(), - targetIdentifier = targetEntity.getIdentifier().name(); - - angular.forEach(entities, function(entity) { - result[entity.getField(targetIdentifier).value] = entity.getField(reference.targetLabel()).value; - }); - - return result; - }; - - /** - * Returns all references of an entity - * - * @param {String} entityName - * @returns {Array} - */ - CrudManager.prototype.getReferences = function(entityName) { - if (!this.config.hasEntity(entityName)) { - throw ('Entity ' + entityName + ' not found.'); - } - - return this.config.getEntity(entityName).getReferences(); - }; - - /** - * Returns all referenced lists of an entity - * - * @param {String} entityName - * - * @returns {Object} - */ - CrudManager.prototype.getReferencedLists = function(entityName) { - if (!this.config.hasEntity(entityName)) { - throw ('Entity ' + entityName + ' not found.'); - } - - return this.config.getEntity(entityName).getReferencedLists(); - }; - - /** - * Fill ReferencedMany & Reference values from a collection a values - * - * @param {[Entity]} collection - * @param {Array} referencedValues - * @param {Boolean} fillSimpleReference - * @returns {Array} - */ - CrudManager.prototype.fillReferencesValuesFromCollection = function (collection, referencedValues, fillSimpleReference) { - fillSimpleReference = typeof(fillSimpleReference) === 'undefined' ? false : fillSimpleReference; - - angular.forEach(referencedValues, function(reference, referenceField) { - var choices = reference.getChoices(), - value, - targetField; - - for (var i = 0, l = collection.length; i < l; i++) { - var entity = collection[i], - identifier = reference.valueTransformer()(entity.getField(referenceField).value); - - if (reference.type() === 'reference-many') { - entity.getField(referenceField).value = []; - - angular.forEach(identifier, function(id) { - entity.getField(referenceField).value.push(choices[id]); - }); - } else if (fillSimpleReference && identifier && identifier in choices) { - targetField = reference.targetEntity().getField(reference.targetLabel()); - value = choices[identifier]; - entity.getField(referenceField).referencedValue = targetField.getTruncatedListValue(value); - } - } - }); - - return collection; - }; - - /** - * Truncate all values depending of the `truncateList` configuration of a field - * - * @param {[Entity]} entities - */ - CrudManager.prototype.truncateListValue = function(entities) { - if (!entities.length) { - return []; - } - - for (var i = 0, l = entities.length; i < l; i++) { - var entity = entities[i]; - - for(var fieldName in entity.getFields()) { - var field = entity.getField(fieldName); - - if (typeof(field.getTruncatedListValue) === 'function') { - entities[i].getField(fieldName).value = field.getTruncatedListValue(entity.getField(fieldName).value); - } - } - } - - return entities; - }; - - CrudManager.$inject = ['$q', 'Restangular', 'NgAdminConfiguration', 'Field']; - - return CrudManager; -}); diff --git a/src/javascripts/ng-admin/Crud/component/service/FormViewRepository.js b/src/javascripts/ng-admin/Crud/component/service/FormViewRepository.js new file mode 100644 index 00000000..c5c54076 --- /dev/null +++ b/src/javascripts/ng-admin/Crud/component/service/FormViewRepository.js @@ -0,0 +1,109 @@ +/*global define*/ +define(function (require) { + 'use strict'; + + var utils = require('ng-admin/lib/utils'), + ViewRepository = require('ng-admin/Crud/component/service/ViewRepository'); + + /** + * @constructor + */ + function FormViewRepository() { + ViewRepository.apply(this, arguments); + } + + utils.inherits(FormViewRepository, ViewRepository); + + /** + * Get one entity + * + * @param {View} view the list view associated to the entity + * @param {Number} entityId id of the entity + * + * @returns {promise} (list of fields (with their values if set) & the entity name, label & id- + */ + FormViewRepository.prototype.getOne = function (view, entityId) { + var interceptor = view.interceptor(), + params = view.getExtraParams(), + headers = view.getHeaders(); + + if (interceptor) { + this.Restangular.addResponseInterceptor(interceptor); + } + + // Get element data + return this.Restangular + .one(view.getEntity().name(), entityId) + .get(params, headers) + .then(function (response) { + return view.mapEntry(response.data); + }); + }; + + /** + * Create a new entity + * Post the data to the API to create the new object + * + * @param {View} view the formView related to the entity + * @param {Object} rawEntity the entity's object + * + * @returns {promise} the new object + */ + FormViewRepository.prototype.createOne = function (view, rawEntity) { + var entityName = view.getEntity().name(), + headers = view.getHeaders(); + + // Get element data + return this.Restangular + .restangularizeElement(null, rawEntity, entityName) + .post(null, rawEntity, null, headers) + .then(function (response) { + return view.mapEntry(response.data); + }); + }; + + /** + * Update an entity + * Put the data to the API to create the new object + * + * @param {View} view the formView related to the entity + * @param {Object} rawEntity the entity's object + * + * @returns {promise} the updated object + */ + FormViewRepository.prototype.updateOne = function (view, rawEntity) { + var entityName = view.getEntity().name(), + headers = view.getHeaders(); + + // Get element data + return this.Restangular + .restangularizeElement(null, rawEntity, entityName) + .put(null, headers) + .then(function (response) { + return view.mapEntry(response.data); + }); + }; + + + /** + * Delete an entity + * Delete the data to the API + * + * @param {String} view the formView related to the entity + * @param {*} entityId the entity's id + * + * @returns {promise} + */ + FormViewRepository.prototype.deleteOne = function (view, entityId) { + var entityName = view.getEntity().name(), + headers = view.getHeaders(); + + return this.Restangular + .one(entityName, entityId) + .remove(null, headers); + }; + + FormViewRepository.$inject = ['$q', 'Restangular', 'NgAdminConfiguration']; + + return FormViewRepository; +}); diff --git a/src/javascripts/ng-admin/Crud/component/service/ListViewRepository.js b/src/javascripts/ng-admin/Crud/component/service/ListViewRepository.js new file mode 100644 index 00000000..025ec54f --- /dev/null +++ b/src/javascripts/ng-admin/Crud/component/service/ListViewRepository.js @@ -0,0 +1,232 @@ +/*global define*/ + +define(function (require) { + 'use strict'; + + var utils = require('ng-admin/lib/utils'), + ViewRepository = require('ng-admin/Crud/component/service/ViewRepository'); + + /** + * @constructor + */ + function ListViewRepository() { + ViewRepository.apply(this, arguments); + } + + utils.inherits(ListViewRepository, ViewRepository); + + /** + * Return the list of all object of entityName type + * Get all the object from the API + * + * @param {ListView} view the view associated to the entity + * @param {Number} page the page number + * @param {Boolean} fillSimpleReference should we fill Reference list + * @param {String} query searchQuery to filter elements + * @param {String} sortField the field to be sorted ex: entity.fieldName + * @param {String} sortDir the direction of the sort + * @param {Object} filters filter specific fields + * + * @returns {promise} the entity config & the list of objects + */ + ListViewRepository.prototype.getAll = function (view, page, fillSimpleReference, query, sortField, sortDir, filters) { + var rawEntries, + entries, + referencedValues, + self = this; + + page = page || 1; + fillSimpleReference = typeof (fillSimpleReference) === 'undefined' ? true : fillSimpleReference; + + return this.getRawValues(view, page, query, sortField, sortDir, filters) + .then(function (values) { + rawEntries = values; + + return self.getReferencedValues(view); + }).then(function (refValues) { + referencedValues = refValues; + + entries = view.mapEntries(rawEntries.data); + + entries = self.fillReferencesValuesFromCollection(entries, referencedValues, fillSimpleReference); + entries = view.getMappedValue(entries); + + return { + view: view, + entries: entries, + currentPage: page, + perPage: view.perPage(), + totalItems: view.totalItems()(rawEntries) + }; + }); + }; + + /** + * Return the list of all object of entityName type + * Get all the object from the API + * + * @param {ListView} listView the view associated to the entity + * @param {Number} page the page number + * @param {String} query searchQuery to filter elements + * @param {String} sortField the field to be sorted ex: entity.fieldName + * @param {String} sortDir the direction of the sort + * @param {Object} filters filter specific fields + * + * @returns {promise} the entity config & the list of objects + */ + ListViewRepository.prototype.getRawValues = function (listView, page, query, sortField, sortDir, filters) { + page = (typeof (page) === 'undefined') ? 1 : parseInt(page, 10); + filters = (typeof (filters) === 'undefined') ? {} : filters; + + var interceptor = listView.interceptor(), + sortView = sortField ? sortField.split('.')[0] : '', + sortParams = sortView === listView.name() ? listView.getSortParams(sortField.split('.').pop(), sortDir) : null, + params = listView.getAllParams(page, sortParams, query), + headers = listView.getAllHeaders(sortParams), + fieldName; + + filters = listView.filterParams()(filters); + + // Add filters + for (fieldName in filters) { + params[fieldName] = filters[fieldName]; + } + + if (interceptor) { + this.Restangular.addResponseInterceptor(interceptor); + } + + // Get grid data + return this.Restangular + .all(listView.getEntity().name()) + .getList(params, headers); + }; + + /** + * Returns all References for an entity with associated values [{targetEntity.identifier: targetLabel}, ...] + * + * @param {View} view + * + * @returns {promise} + */ + ListViewRepository.prototype.getReferencedValues = function (view) { + var self = this, + references = view.getReferences(), + calls = [], + reference, + i, + j; + + for (i in references) { + reference = references[i]; + + calls.push(self.getRawValues(reference.getReferencedView(), 1, false)); + } + + return this.$q.all(calls) + .then(function (responses) { + i = 0; + + for (j in references) { + references[j].setEntries(responses[i++].data); + } + + return references; + }); + }; + + /** + * Returns all ReferencedList for an entity for associated values [{targetEntity.identifier: [targetFields, ...]}} + * + * @param {View} view + * @param {String} sortField + * @param {String} sortDir + * @param {*} entityId + * + * @returns {promise} + */ + ListViewRepository.prototype.getReferencedListValues = function (view, sortField, sortDir, entityId) { + var self = this, + referenceLists = view.getReferencedLists(), + calls = [], + referenceList, + referencedView, + i; + + for (i in referenceLists) { + referenceList = referenceLists[i]; + + calls.push(self.getRawValues(referenceList.getReferencedView(), 1, null, sortField, sortDir)); + } + + return this.$q.all(calls) + .then(function (responses) { + var j = 0; + + for (i in referenceLists) { + referenceList = referenceLists[i]; + referencedView = referenceList.getReferencedView(); + + + referenceList + .setEntries(responses[j++].data) + // Map entries + .setEntries(referencedView.mapEntries(referenceList.getEntries())) + .filterEntries(entityId); + } + + return referenceLists; + }); + }; + + /** + * Fill ReferencedMany & Reference values from a collection a values + * + * @param {[View]} collection + * @param {Object} referencedValues + * @param {Boolean} fillSimpleReference + * @returns {Array} + */ + ListViewRepository.prototype.fillReferencesValuesFromCollection = function (collection, referencedValues, fillSimpleReference) { + fillSimpleReference = typeof (fillSimpleReference) === 'undefined' ? false : fillSimpleReference; + + var choices, + entry, + entries = [], + reference, + referenceField, + i, + j, + l, + id, + identifier; + + for (referenceField in referencedValues) { + reference = referencedValues[referenceField]; + choices = reference.getChoices(); + + for (i = 0, l = collection.length; i < l; i++) { + entry = collection[i]; + entries = []; + identifier = reference.getMappedValue(entry.values[referenceField]); + + if (reference.type() === 'ReferenceMany') { + for (j in identifier) { + id = identifier[j]; + entries.push(choices[id]); + } + + entry.listValues[referenceField] = entries; + } else if (fillSimpleReference && identifier && identifier in choices) { + entry.listValues[referenceField] = reference.getMappedValue(choices[identifier]); + } + } + } + + return collection; + }; + + ListViewRepository.$inject = ['$q', 'Restangular', 'NgAdminConfiguration']; + + return ListViewRepository; +}); diff --git a/src/javascripts/ng-admin/Crud/component/service/ViewRepository.js b/src/javascripts/ng-admin/Crud/component/service/ViewRepository.js new file mode 100644 index 00000000..68cad72d --- /dev/null +++ b/src/javascripts/ng-admin/Crud/component/service/ViewRepository.js @@ -0,0 +1,25 @@ +/*global define*/ + +define(function () { + 'use strict'; + + /** + * + * @param {$q} $q + * @param {Restangular} Restangular + * @param {Application} Configuration + * @constructor + */ + function ViewRepository($q, Restangular, Configuration) { + this.$q = $q; + this.Restangular = Restangular; + this.config = Configuration(); + + this.Restangular.setBaseUrl(this.config.baseApiUrl()); + this.Restangular.setFullResponse(true); // To get also the headers + } + + ViewRepository.$inject = ['$q', 'Restangular', 'NgAdminConfiguration']; + + return ViewRepository; +}); diff --git a/src/javascripts/ng-admin/Crud/config/routing.js b/src/javascripts/ng-admin/Crud/config/routing.js index 06198de9..f9fc4a32 100644 --- a/src/javascripts/ng-admin/Crud/config/routing.js +++ b/src/javascripts/ng-admin/Crud/config/routing.js @@ -1,5 +1,7 @@ +/*global define*/ + define(function (require) { - "use strict"; + 'use strict'; var listTemplate = require('text!../view/list.html'), createTemplate = require('text!../view/create.html'), @@ -24,10 +26,9 @@ define(function (require) { controllerAs: 'listController', template: listTemplate, resolve: { - data: ['$stateParams', 'CrudManager', 'NgAdminConfiguration', function($stateParams, CrudManager, Configuration) { + data: ['$stateParams', 'ListViewRepository', 'NgAdminConfiguration', function ($stateParams, ListViewRepository, Configuration) { var config = Configuration(), - entity = $stateParams.entity, - entityConfig = config.getEntity(entity), + listView = config.getViewByEntityAndType($stateParams.entity, 'ListView'), page = $stateParams.page, query = $stateParams.q, sortField = $stateParams.sortField, @@ -36,10 +37,10 @@ define(function (require) { filters = null; if (quickFilter) { - filters = entityConfig.getQuickFilterParams(quickFilter); + filters = listView.getQuickFilterParams(quickFilter); } - return CrudManager.getAll(entity, page, null, true, query, sortField, sortDir, filters); + return ListViewRepository.getAll(listView, page, true, query, sortField, sortDir, filters); }] } }); @@ -52,11 +53,22 @@ define(function (require) { controllerAs: 'formController', template: createTemplate, resolve: { - entity: ['$stateParams', 'CrudManager', function($stateParams, CrudManager) { - return CrudManager.getEditionFields($stateParams.entity, 'editable'); + view: ['$stateParams', 'NgAdminConfiguration', function ($stateParams, Configuration) { + var config = Configuration(); + + return config.getViewByEntityAndType($stateParams.entity, 'CreateView'); + }], + entry: ['view', function (view) { + var entry = view + .mapEntry({}); + + view.processFieldsDefaultValue(entry); + + return entry; + }], - referencedValues: ['$stateParams', 'CrudManager', function($stateParams, CrudManager) { - return CrudManager.getReferencedValues($stateParams.entity); + referencedValues: ['ListViewRepository', 'view', function (ListViewRepository, view) { + return ListViewRepository.getReferencedValues(view); }] } }); @@ -75,17 +87,22 @@ define(function (require) { sortDir: null }, resolve: { - entity: ['$stateParams', 'CrudManager', function($stateParams, CrudManager) { - return CrudManager.getOne($stateParams.entity, $stateParams.id); + view: ['$stateParams', 'NgAdminConfiguration', function ($stateParams, Configuration) { + var config = Configuration(); + + return config.getViewByEntityAndType($stateParams.entity, 'EditView'); + }], + entry: ['$stateParams', 'FormViewRepository', 'view', function ($stateParams, FormViewRepository, view) { + return FormViewRepository.getOne(view, $stateParams.id); }], - referencedValues: ['$stateParams', 'CrudManager', function($stateParams, CrudManager) { - return CrudManager.getReferencedValues($stateParams.entity); + referencedValues: ['ListViewRepository', 'view', function (ListViewRepository, view) { + return ListViewRepository.getReferencedValues(view); }], - referencedListValues: ['$stateParams', 'entity', 'CrudManager', function($stateParams, entity, CrudManager) { + referencedListValues: ['$stateParams', 'ListViewRepository', 'view', 'entry', function ($stateParams, ListViewRepository, view, entry) { var sortField = $stateParams.sortField, sortDir = $stateParams.sortDir; - return CrudManager.getReferencedListValues($stateParams.entity, entity, sortField, sortDir); + return ListViewRepository.getReferencedListValues(view, sortField, sortDir, entry.identifierValue); }] } }); @@ -98,7 +115,7 @@ define(function (require) { controllerAs: 'deleteController', template: deleteTemplate, resolve: { - params: ['$stateParams', function($stateParams) { + params: ['$stateParams', function ($stateParams) { return $stateParams; }] } diff --git a/src/javascripts/ng-admin/Crud/run/cacheTemplate.js b/src/javascripts/ng-admin/Crud/run/cacheTemplate.js index ec5821d2..a8b1331b 100644 --- a/src/javascripts/ng-admin/Crud/run/cacheTemplate.js +++ b/src/javascripts/ng-admin/Crud/run/cacheTemplate.js @@ -1,5 +1,7 @@ -define(function(require) { - "use strict"; +/*global define*/ + +define(function (require) { + 'use strict'; var editAttributeTemplate = require('text!../view/edit-attribute.html'); diff --git a/src/javascripts/ng-admin/Crud/view/column/boolean.html b/src/javascripts/ng-admin/Crud/view/column/boolean.html index a73b797b..20b28aeb 100644 --- a/src/javascripts/ng-admin/Crud/view/column/boolean.html +++ b/src/javascripts/ng-admin/Crud/view/column/boolean.html @@ -1,7 +1,7 @@
    - + - +
    diff --git a/src/javascripts/ng-admin/Crud/view/column/callback.html b/src/javascripts/ng-admin/Crud/view/column/callback.html deleted file mode 100644 index 754693d8..00000000 --- a/src/javascripts/ng-admin/Crud/view/column/callback.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/javascripts/ng-admin/Crud/view/column/choice.html b/src/javascripts/ng-admin/Crud/view/column/choice.html index 5fa081a6..e96fae67 100644 --- a/src/javascripts/ng-admin/Crud/view/column/choice.html +++ b/src/javascripts/ng-admin/Crud/view/column/choice.html @@ -1,7 +1,5 @@ -
    - - {{ entity.getField(column.field.name()).value }} - +
    + {{ value }} - {{ entity.getField(column.field.name()).value }} + {{ value }}
    diff --git a/src/javascripts/ng-admin/Crud/view/column/choices.html b/src/javascripts/ng-admin/Crud/view/column/choices.html index cc4f509c..569213f0 100644 --- a/src/javascripts/ng-admin/Crud/view/column/choices.html +++ b/src/javascripts/ng-admin/Crud/view/column/choices.html @@ -1,12 +1,13 @@
    - - + + + {{ ref }} - + {{ ref }} diff --git a/src/javascripts/ng-admin/Crud/view/column/date.html b/src/javascripts/ng-admin/Crud/view/column/date.html index 61fc2a5c..f0742942 100644 --- a/src/javascripts/ng-admin/Crud/view/column/date.html +++ b/src/javascripts/ng-admin/Crud/view/column/date.html @@ -1,7 +1,5 @@ -
    - - {{ entity.getField(column.field.name()).value | date:column.field.format() }} - +
    + {{ value }} - {{ entity.getField(column.field.name()).value | date:column.field.format() }} + {{ value }}
    diff --git a/src/javascripts/ng-admin/Crud/view/column/email.html b/src/javascripts/ng-admin/Crud/view/column/email.html index 5fa081a6..e96fae67 100644 --- a/src/javascripts/ng-admin/Crud/view/column/email.html +++ b/src/javascripts/ng-admin/Crud/view/column/email.html @@ -1,7 +1,5 @@ -
    - - {{ entity.getField(column.field.name()).value }} - +
    + {{ value }} - {{ entity.getField(column.field.name()).value }} + {{ value }}
    diff --git a/src/javascripts/ng-admin/Crud/view/column/number.html b/src/javascripts/ng-admin/Crud/view/column/number.html index 5fa081a6..e96fae67 100644 --- a/src/javascripts/ng-admin/Crud/view/column/number.html +++ b/src/javascripts/ng-admin/Crud/view/column/number.html @@ -1,7 +1,5 @@ -
    - - {{ entity.getField(column.field.name()).value }} - +
    + {{ value }} - {{ entity.getField(column.field.name()).value }} + {{ value }}
    diff --git a/src/javascripts/ng-admin/Crud/view/column/password.html b/src/javascripts/ng-admin/Crud/view/column/password.html index c552a965..f4abfbf6 100644 --- a/src/javascripts/ng-admin/Crud/view/column/password.html +++ b/src/javascripts/ng-admin/Crud/view/column/password.html @@ -1,7 +1,5 @@ -
    - - xxx - +
    + xxx xxx
    diff --git a/src/javascripts/ng-admin/Crud/view/column/reference.html b/src/javascripts/ng-admin/Crud/view/column/reference.html index 1d26a5d9..d9ba0f9c 100644 --- a/src/javascripts/ng-admin/Crud/view/column/reference.html +++ b/src/javascripts/ng-admin/Crud/view/column/reference.html @@ -1,7 +1,5 @@ -
    - - {{ entity.getField(column.field.name()).getListValue() }} - +
    + {{ value }} - {{ entity.getField(column.field.name()).getListValue() }} + {{ value }}
    diff --git a/src/javascripts/ng-admin/Crud/view/column/referenceMany.html b/src/javascripts/ng-admin/Crud/view/column/referenceMany.html index cc4f509c..dae82f52 100644 --- a/src/javascripts/ng-admin/Crud/view/column/referenceMany.html +++ b/src/javascripts/ng-admin/Crud/view/column/referenceMany.html @@ -1,12 +1,12 @@
    - - + + {{ ref }} - + {{ ref }} diff --git a/src/javascripts/ng-admin/Crud/view/column/string.html b/src/javascripts/ng-admin/Crud/view/column/string.html index 36c76773..e96fae67 100644 --- a/src/javascripts/ng-admin/Crud/view/column/string.html +++ b/src/javascripts/ng-admin/Crud/view/column/string.html @@ -1,7 +1,5 @@ -
    - - {{ entity.getField(column.field.name()).value }} - +
    + {{ value }} - {{ entity.getField(column.field.name()).value }} + {{ value }}
    diff --git a/src/javascripts/ng-admin/Crud/view/column/template.html b/src/javascripts/ng-admin/Crud/view/column/template.html new file mode 100644 index 00000000..aab799b3 --- /dev/null +++ b/src/javascripts/ng-admin/Crud/view/column/template.html @@ -0,0 +1 @@ + diff --git a/src/javascripts/ng-admin/Crud/view/column/text.html b/src/javascripts/ng-admin/Crud/view/column/text.html index 5fa081a6..e96fae67 100644 --- a/src/javascripts/ng-admin/Crud/view/column/text.html +++ b/src/javascripts/ng-admin/Crud/view/column/text.html @@ -1,7 +1,5 @@ -
    - - {{ entity.getField(column.field.name()).value }} - +
    + {{ value }} - {{ entity.getField(column.field.name()).value }} + {{ value }}
    diff --git a/src/javascripts/ng-admin/Crud/view/column/wysiwyg.html b/src/javascripts/ng-admin/Crud/view/column/wysiwyg.html index 5fa081a6..e96fae67 100644 --- a/src/javascripts/ng-admin/Crud/view/column/wysiwyg.html +++ b/src/javascripts/ng-admin/Crud/view/column/wysiwyg.html @@ -1,7 +1,5 @@ -
    - - {{ entity.getField(column.field.name()).value }} - +
    + {{ value }} - {{ entity.getField(column.field.name()).value }} + {{ value }}
    diff --git a/src/javascripts/ng-admin/Crud/view/create.html b/src/javascripts/ng-admin/Crud/view/create.html index 7185df2d..4eb80eda 100644 --- a/src/javascripts/ng-admin/Crud/view/create.html +++ b/src/javascripts/ng-admin/Crud/view/create.html @@ -10,7 +10,7 @@

    {{ formController.description }}

    -
    +
    diff --git a/src/javascripts/ng-admin/Crud/view/datagrid-pagination.html b/src/javascripts/ng-admin/Crud/view/datagrid-pagination.html index 288b24e3..579fc95a 100644 --- a/src/javascripts/ng-admin/Crud/view/datagrid-pagination.html +++ b/src/javascripts/ng-admin/Crud/view/datagrid-pagination.html @@ -1,17 +1,17 @@ -
    +
    - {{ pagination.offsetBegin }} - {{ pagination.offsetEnd }} on {{ pagination.totalItems }} + {{ paginationCtrl.offsetBegin }} - {{ paginationCtrl.offsetEnd }} on {{ paginationCtrl.totalItems }}
    diff --git a/src/javascripts/ng-admin/Crud/view/datagrid.html b/src/javascripts/ng-admin/Crud/view/datagrid.html index 88882690..e9bbbf2e 100644 --- a/src/javascripts/ng-admin/Crud/view/datagrid.html +++ b/src/javascripts/ng-admin/Crud/view/datagrid.html @@ -12,7 +12,7 @@ - + @@ -30,13 +30,13 @@ - + - + - + diff --git a/src/javascripts/ng-admin/Crud/view/delete.html b/src/javascripts/ng-admin/Crud/view/delete.html index dc9aba75..ac4da098 100644 --- a/src/javascripts/ng-admin/Crud/view/delete.html +++ b/src/javascripts/ng-admin/Crud/view/delete.html @@ -1,6 +1,7 @@ diff --git a/src/javascripts/ng-admin/Crud/view/edit-attribute.html b/src/javascripts/ng-admin/Crud/view/edit-attribute.html index 782a74b5..ea61ff8f 100644 --- a/src/javascripts/ng-admin/Crud/view/edit-attribute.html +++ b/src/javascripts/ng-admin/Crud/view/edit-attribute.html @@ -1,7 +1,9 @@ -
    - +
    + -
    +
    @@ -18,20 +20,24 @@ - + - + - + - + + + + +
    -
    +
    -

    {{ field.value }}

    +

    {{ entry.values[field.name()] }}

    diff --git a/src/javascripts/ng-admin/Crud/view/edit.html b/src/javascripts/ng-admin/Crud/view/edit.html index bd777c6e..5ec9dc7a 100644 --- a/src/javascripts/ng-admin/Crud/view/edit.html +++ b/src/javascripts/ng-admin/Crud/view/edit.html @@ -10,7 +10,7 @@

    {{ formController.description }}

    - +
    diff --git a/src/javascripts/ng-admin/Crud/view/field/boolean.html b/src/javascripts/ng-admin/Crud/view/field/boolean.html index dadedb9e..14205870 100644 --- a/src/javascripts/ng-admin/Crud/view/field/boolean.html +++ b/src/javascripts/ng-admin/Crud/view/field/boolean.html @@ -1,5 +1,6 @@ diff --git a/src/javascripts/ng-admin/Crud/view/field/callback.html b/src/javascripts/ng-admin/Crud/view/field/callback.html deleted file mode 100644 index 3f5e45c4..00000000 --- a/src/javascripts/ng-admin/Crud/view/field/callback.html +++ /dev/null @@ -1 +0,0 @@ - diff --git a/src/javascripts/ng-admin/Crud/view/field/choice.html b/src/javascripts/ng-admin/Crud/view/field/choice.html index 7a4d142e..f94d8f3e 100644 --- a/src/javascripts/ng-admin/Crud/view/field/choice.html +++ b/src/javascripts/ng-admin/Crud/view/field/choice.html @@ -1,7 +1,12 @@ - + - diff --git a/src/javascripts/ng-admin/Crud/view/field/choices.html b/src/javascripts/ng-admin/Crud/view/field/choices.html index 808466a5..8ce4f10a 100644 --- a/src/javascripts/ng-admin/Crud/view/field/choices.html +++ b/src/javascripts/ng-admin/Crud/view/field/choices.html @@ -1,7 +1,8 @@ diff --git a/src/javascripts/ng-admin/Crud/view/field/date.html b/src/javascripts/ng-admin/Crud/view/field/date.html index b4bb1318..6b449d94 100644 --- a/src/javascripts/ng-admin/Crud/view/field/date.html +++ b/src/javascripts/ng-admin/Crud/view/field/date.html @@ -1,11 +1,10 @@
    diff --git a/src/javascripts/ng-admin/Crud/view/field/email.html b/src/javascripts/ng-admin/Crud/view/field/email.html index dbba5dcd..754e9c2c 100644 --- a/src/javascripts/ng-admin/Crud/view/field/email.html +++ b/src/javascripts/ng-admin/Crud/view/field/email.html @@ -1,5 +1,6 @@ diff --git a/src/javascripts/ng-admin/Crud/view/field/number.html b/src/javascripts/ng-admin/Crud/view/field/number.html index 28bd93d9..e6c3b171 100644 --- a/src/javascripts/ng-admin/Crud/view/field/number.html +++ b/src/javascripts/ng-admin/Crud/view/field/number.html @@ -1,6 +1,8 @@ diff --git a/src/javascripts/ng-admin/Crud/view/field/password.html b/src/javascripts/ng-admin/Crud/view/field/password.html index aa5e4c4f..40ba8468 100644 --- a/src/javascripts/ng-admin/Crud/view/field/password.html +++ b/src/javascripts/ng-admin/Crud/view/field/password.html @@ -1,6 +1,8 @@ + ng-minlength="field.validation().minlength" + maxlength="{{ field.validation().maxlength }}" /> diff --git a/src/javascripts/ng-admin/Crud/view/field/reference.html b/src/javascripts/ng-admin/Crud/view/field/reference.html index 35ad8023..ff540386 100644 --- a/src/javascripts/ng-admin/Crud/view/field/reference.html +++ b/src/javascripts/ng-admin/Crud/view/field/reference.html @@ -1,7 +1,12 @@ - + - diff --git a/src/javascripts/ng-admin/Crud/view/field/referenceMany.html b/src/javascripts/ng-admin/Crud/view/field/referenceMany.html index 74c74215..4d4938da 100644 --- a/src/javascripts/ng-admin/Crud/view/field/referenceMany.html +++ b/src/javascripts/ng-admin/Crud/view/field/referenceMany.html @@ -1,5 +1,12 @@ - + + diff --git a/src/javascripts/ng-admin/Crud/view/field/string.html b/src/javascripts/ng-admin/Crud/view/field/string.html index b69c29db..fc0fd55a 100644 --- a/src/javascripts/ng-admin/Crud/view/field/string.html +++ b/src/javascripts/ng-admin/Crud/view/field/string.html @@ -1,6 +1,7 @@ + maxlength="{{ field.validation().maxlength }}" /> diff --git a/src/javascripts/ng-admin/Crud/view/field/template.html b/src/javascripts/ng-admin/Crud/view/field/template.html new file mode 100644 index 00000000..28130098 --- /dev/null +++ b/src/javascripts/ng-admin/Crud/view/field/template.html @@ -0,0 +1 @@ + diff --git a/src/javascripts/ng-admin/Crud/view/field/text.html b/src/javascripts/ng-admin/Crud/view/field/text.html index a6be901b..affaffbe 100644 --- a/src/javascripts/ng-admin/Crud/view/field/text.html +++ b/src/javascripts/ng-admin/Crud/view/field/text.html @@ -1,5 +1,7 @@ - + diff --git a/src/javascripts/ng-admin/Crud/view/field/wysiwyg.html b/src/javascripts/ng-admin/Crud/view/field/wysiwyg.html index 6811d74d..1082b6b4 100644 --- a/src/javascripts/ng-admin/Crud/view/field/wysiwyg.html +++ b/src/javascripts/ng-admin/Crud/view/field/wysiwyg.html @@ -1,5 +1,6 @@
    diff --git a/src/javascripts/ng-admin/Crud/view/quick-filter.html b/src/javascripts/ng-admin/Crud/view/quick-filter.html index a864462d..92e58ef0 100644 --- a/src/javascripts/ng-admin/Crud/view/quick-filter.html +++ b/src/javascripts/ng-admin/Crud/view/quick-filter.html @@ -1,11 +1,11 @@ -
    -
    +
    diff --git a/src/javascripts/ng-admin/lib/polyfill/bind.js b/src/javascripts/ng-admin/lib/polyfill/bind.js new file mode 100644 index 00000000..a5c0dabf --- /dev/null +++ b/src/javascripts/ng-admin/lib/polyfill/bind.js @@ -0,0 +1,22 @@ +if (!Function.prototype.bind) { + Function.prototype.bind = function (oThis) { + if (typeof this !== "function") { + throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable"); + } + + var aArgs = Array.prototype.slice.call(arguments, 1), + fToBind = this, + fNOP = function () {}, + fBound = function () { + return fToBind.apply(this instanceof fNOP && oThis + ? this + : oThis, + aArgs.concat(Array.prototype.slice.call(arguments))); + }; + + fNOP.prototype = this.prototype; + fBound.prototype = new fNOP(); + + return fBound; + }; +} diff --git a/src/javascripts/ng-admin/lib/utils.js b/src/javascripts/ng-admin/lib/utils.js new file mode 100644 index 00000000..a96ea52d --- /dev/null +++ b/src/javascripts/ng-admin/lib/utils.js @@ -0,0 +1,42 @@ +/*global define*/ + +define(function () { + 'use strict'; + + /** + * Simple Javascript inheritance helper + * @param {Object} child + * @param {Object} parent + */ + function inherits(child, parent) { + var Wrapper = new Function(); + Wrapper.prototype = parent.prototype; + + child.prototype = new Wrapper(); + child.prototype.constructor = child; + } + + /** + * camelCase a string + * + * @see http://stackoverflow.com/questions/10425287/convert-string-to-camelcase-with-regular-expression + * @see http://phpjs.org/functions/ucfirst/ + * + * @param {String} input + * @returns {string} + */ + function camelCase(input) { + var f = input.charAt(0).toUpperCase(); + + input = f + input.substr(1); + + return input.replace(/-(.)/g, function (match, group1) { + return group1.toUpperCase(); + }); + } + + return { + inherits: inherits, + camelCase: camelCase + }; +}); diff --git a/src/javascripts/test/.jshintrc b/src/javascripts/test/.jshintrc index b1be025b..d6ebff0c 100644 --- a/src/javascripts/test/.jshintrc +++ b/src/javascripts/test/.jshintrc @@ -5,7 +5,7 @@ "bitwise": true, "camelcase": true, "curly": true, - "eqeqeq": true, + "eqeqeq": false, "immed": true, "indent": 2, "latedef": true, diff --git a/src/javascripts/test/app-test.js b/src/javascripts/test/app-test.js index 69226656..74e3da6b 100644 --- a/src/javascripts/test/app-test.js +++ b/src/javascripts/test/app-test.js @@ -1,5 +1,9 @@ -var tests = []; -for (var file in window.__karma__.files) { +/*global requirejs,window*/ + +var tests = [], + file; + +for (file in window.__karma__.files) { if (window.__karma__.files.hasOwnProperty(file)) { if (/Spec\.js$/.test(file)) { tests.push(file); diff --git a/src/javascripts/test/karma.conf.js b/src/javascripts/test/karma.conf.js index a80dd9d4..3b482cd4 100644 --- a/src/javascripts/test/karma.conf.js +++ b/src/javascripts/test/karma.conf.js @@ -1,4 +1,6 @@ -module.exports = function(config) { +module.exports = function (config) { + 'use strict'; + config.set({ basePath: '../', frameworks: ['requirejs', 'jasmine'], @@ -8,10 +10,11 @@ module.exports = function(config) { files: [ {pattern: 'bower_components/angular/angular.js', included: false}, {pattern: 'bower_components/angular-mocks/angular-mocks.js', included: false}, + {pattern: 'ng-admin/lib/polyfill/bind.js', included: true}, // ng-admin application files - {pattern: 'ng-admin/**/component/**/*.js', included: false}, - {pattern: 'ng-admin/**/config/**/*.js', included: false}, + {pattern: 'ng-admin/**/**/**/*.js', included: false}, + {pattern: 'ng-admin/lib/**/*.js', included: false}, {pattern: 'ng-admin/**/view/**/*.html', included: false}, // Test files diff --git a/src/javascripts/test/mock/Restangular.js b/src/javascripts/test/mock/Restangular.js index 1d19c010..9c8cbafc 100644 --- a/src/javascripts/test/mock/Restangular.js +++ b/src/javascripts/test/mock/Restangular.js @@ -1,8 +1,8 @@ -/*global jasmine*/ +/*global jasmine,define*/ define('mock/Restangular', [ 'mixins' -], function(mixins) { +], function (mixins) { "use strict"; var Restangular = {}; diff --git a/src/javascripts/test/mock/mixins.js b/src/javascripts/test/mock/mixins.js index ab5ef358..589ae6d3 100644 --- a/src/javascripts/test/mock/mixins.js +++ b/src/javascripts/test/mock/mixins.js @@ -1,11 +1,13 @@ -define('mixins', [], function() { +/*global define*/ + +define('mixins', [], function () { "use strict"; - var buildPromise = function(output) { - return (function(){ + var buildPromise = function (output) { + return (function () { var result; return { - then: function(cb) { + 'then': function (cb) { result = cb(output); if (result && result.then) { @@ -16,7 +18,7 @@ define('mixins', [], function() { // We chain the result into a new promise return buildPromise(result); }, - finally: function(cb) { + 'finally': function (cb) { cb(); return this; } diff --git a/src/javascripts/test/mock/q.js b/src/javascripts/test/mock/q.js index b6017e7d..e17eb18e 100644 --- a/src/javascripts/test/mock/q.js +++ b/src/javascripts/test/mock/q.js @@ -1,6 +1,8 @@ +/*global define*/ + define('mock/q', [ 'mixins' -], function(mixins) { +], function (mixins) { "use strict"; var $q = { diff --git a/src/javascripts/test/unit/Crud/component/service/CrudManagerSpec.js b/src/javascripts/test/unit/Crud/component/service/CrudManagerSpec.js deleted file mode 100644 index ae60d43b..00000000 --- a/src/javascripts/test/unit/Crud/component/service/CrudManagerSpec.js +++ /dev/null @@ -1,545 +0,0 @@ -/*global require,describe,module,beforeEach,inject,it,expect*/ - -define(function(require) { - 'use strict'; - - var CrudManager = require('ng-admin/Crud/component/service/CrudManager'), - Application = require('ng-admin/Main/component/service/config/Application'), - Entity = require('ng-admin/Main/component/service/config/Entity'), - Field = require('ng-admin/Main/component/service/config/Field'), - Reference = require('ng-admin/Main/component/service/config/Reference'), - ReferencedList = require('ng-admin/Main/component/service/config/ReferencedList'), - mixins = require('mixins'), - $q = require('mock/q'), - Restangular = require('mock/Restangular'); - - describe("Service: CrudManager", function() { - var rawConfig, - crudManager, - catEntity, - catInterceptor, - catName, - catSummary, - humanReference, - referencedCats, - humanEntity; - - beforeEach(function() { - humanEntity = new Entity('human'); - catEntity = new Entity('cat') - .interceptor(catInterceptor = function(data, operation, what, url, response, deferred){ - data.push({id: 9, name: 'ninja', summary: 'Ninja cat !'}); - return data; - }) - .addField(new Field('id').label('ID').edition('read-only')) - .addField(catName = new Field('name').label('Name')) - .addField(catSummary = new Field('summary').label('Summary').valueTransformer(function(value) { - return value + "-test"; - })) - .addField(humanReference = new Reference('human_id').targetEntity(humanEntity).targetLabel('name')); - - humanEntity - .extraParams(function () { - return { - key: 'abc' - }; - }) - .pagination(function(page, maxPerPage) { - return { - offset: (page - 1) * maxPerPage, - limit: 100 - } - }) - .addField(new Field('id').identifier(true).label('ID').edition('read-only')) - .addField(new Field('name').label('Name')) - .addField( - referencedCats = new ReferencedList('cats') - .label('Cats') - .targetEntity(catEntity) - .targetField('human_id') - .targetFields([catName, catSummary]) - ); - - rawConfig = new Application('test') - .addEntity(catEntity) - .addEntity(humanEntity); - - var config = function() { - return rawConfig; - }; - - crudManager = new CrudManager($q, Restangular, config); - Restangular.addResponseInterceptor = jasmine.createSpy('addResponseInterceptor'); - }); - - describe('extra params', function() { - it('should be added to all getOne API calls.', function() { - Restangular.get = jasmine.createSpy('get').andReturn(mixins.buildPromise({data: {}})); - - crudManager.getOne('human', 1) - .then(function() { - expect(Restangular.one).toHaveBeenCalledWith('human', 1); - expect(Restangular.get).toHaveBeenCalledWith({key: 'abc'}, {}); - }); - }); - - it('should be added to all getAll API calls.', function() { - Restangular.getList = jasmine.createSpy('getList').andReturn(mixins.buildPromise({ - data: [], - headers: function() {} - })); - - crudManager.getAll('human') - .then(function() { - expect(Restangular.all).toHaveBeenCalledWith('human'); - expect(Restangular.getList).toHaveBeenCalledWith({key: 'abc', limit: 100, offset: 0}, {}); - }); - }); - }); - - describe('extra headers', function() { - it('should be added to all getOne API calls.', function() { - Restangular.get = jasmine.createSpy('get').andReturn(mixins.buildPromise({data: {}})); - rawConfig.headers(function() { - return { - coffee: true - } - }); - - crudManager.getOne('cat', 1) - .then(function() { - expect(Restangular.one).toHaveBeenCalledWith('cat', 1); - expect(Restangular.get).toHaveBeenCalledWith({}, {coffee: true}); - rawConfig.headers({}); - }); - }); - - it('should be added to all getAll API calls.', function() { - Restangular.getList = jasmine.createSpy('getList').andReturn(mixins.buildPromise({ - data: [], - headers: function() {} - })); - - rawConfig.headers(function() { - return { - coffee: "nope" - } - }); - - crudManager.getAll('cat') - .then(function() { - expect(Restangular.all).toHaveBeenCalledWith('cat'); - expect(Restangular.getList).toHaveBeenCalledWith({page : 1, per_page : 30}, {coffee: "nope"}); - rawConfig.headers({}); - }); - }); - }); - - describe('getOne', function() { - it('should return an the entity with only the editable fields.', function() { - Restangular.get = jasmine.createSpy('get').andReturn(mixins.buildPromise({ - data: { - "id":1, - "name":"Mizoute", - "summary":"A Cat" - } - })); - - crudManager.getOne('cat', 1) - .then(function(data) { - expect(Restangular.addResponseInterceptor).toHaveBeenCalledWith(catInterceptor); - expect(Restangular.one).toHaveBeenCalledWith('cat', 1); - - var fields = data.fields; - expect(fields.id.value).toBe(1); - expect(fields.name.value).toBe('Mizoute'); - // Test value transformer - expect(fields.summary.value).toBe('A Cat-test'); - }); - }); - }); - - describe('getAll', function() { - it('should return an error when we call a entity undefined in the config file.', function() { - crudManager.getAll('book') - .then(function() { - expect(Error()); - }, function (err) { - expect(err).toBe('Entity book not found.'); - }); - }); - - it('should return all objects from API & field definition.', function() { - Restangular.getList = jasmine.createSpy('getList').andReturn(mixins.buildPromise({ - data: [ - {"id":1,"title":"Mizu","summary":"First cat"}, - {"id":2,"title":"Suna","summary":"Mini cat"}, - {"id":3,"title":"Nao","summary":"Black cat"} - ], - headers: function() {} - })); - - crudManager.getAll('cat') - .then(function(data) { - expect(Restangular.addResponseInterceptor).toHaveBeenCalled(); - expect(data.entities.length).toBe(3); - expect(data.currentPage).toBe(1); - expect(data.entities[0].getField('summary').value).toBe("First cat-test"); - }); - }); - - it('should add sort params', function() { - Restangular.getList = jasmine.createSpy('getList').andReturn(mixins.buildPromise({ - data: [], - headers: function() {} - })); - - catEntity.sortParams(function(field, dir) { - return { - params:{ - sort: field, - direction: dir - }, - headers: { - } - } - }); - - crudManager.getAll('cat', 1, false, true, null, 'cat.name', 'DESC') - .then(function(data) { - expect(Restangular.getList.argsForCall[0][0]).toEqual({sort: 'name', direction: 'DESC'}); - }); - }); - - it('should add sort headers', function() { - Restangular.getList = jasmine.createSpy('getList').andReturn(mixins.buildPromise({ - data: [], - headers: function() {} - })); - - catEntity.sortParams(function(field, dir) { - return { - params:{ - }, - headers: { - sortField: field, - direction: dir - } - } - }); - - crudManager.getAll('cat', 1, false, true, null, 'cat.name', 'DESC') - .then(function(data) { - expect(Restangular.getList.argsForCall[0][1]).toEqual({sortField: 'name', direction: 'DESC'}); - }); - }); - - it('should add quick filters from callback', function() { - Restangular.getList = jasmine.createSpy('getList').andReturn(mixins.buildPromise({ - data: [], - headers: function() {} - })); - - catEntity.addQuickFilter('Today', function() { - return { - test: 'OK' - } - }); - - var filters = catEntity.getQuickFilterParams('Today'); - - crudManager.getAll('cat', 1, false, true, null, null, null, filters) - .then(function(data) { - expect(Restangular.getList.argsForCall[0][0]).toEqual({test: 'OK'}); - }); - }); - - it('should add quick filters from callback', function() { - Restangular.getList = jasmine.createSpy('getList').andReturn(mixins.buildPromise({ - data: [], - headers: function() {} - })); - - catEntity.addQuickFilter('Static', { - 'private': false - }); - - var filters = catEntity.getQuickFilterParams('Static'); - - crudManager.getAll('cat', 1, false, true, null, null, null, filters) - .then(function(data) { - expect(Restangular.getList.argsForCall[0][0]).toEqual({private: false}); - }); - }); - - it('should add global query filter', function() { - Restangular.getList = jasmine.createSpy('getList').andReturn(mixins.buildPromise({ - data: [], - headers: function() {} - })); - - catEntity.filterQuery(function(q) { - return { - query: q - } - }); - - var filters = catEntity.getQuickFilterParams('Static'); - - crudManager.getAll('cat', 1, false, true, 'hello') - .then(function(data) { - expect(Restangular.getList.argsForCall[0][0]).toEqual({query: 'hello'}); - }); - }); - }); - - describe('createOne', function() { - it('should create a new object.', function() { - var postData = { - name: "Mizu", - summary: "Cute cat" - }; - - crudManager.createOne('cat', postData); - - expect(Restangular.restangularizeElement).toHaveBeenCalledWith(null, postData, 'cat'); - expect(Restangular.post).toHaveBeenCalled(); - }); - }); - - describe('updateOne', function() { - it('should return an error when we call a entity undefined in the config file.', function() { - crudManager.updateOne('book', {}) - .then(function() { - expect(Error()); - }, function (err) { - expect(err).toBe('Entity book not found.'); - }); - }); - - it('should update the object.', function() { - var postData = { - name: "Mizu", - summary: "Cute cat" - }; - - crudManager.updateOne('cat', postData); - - expect(Restangular.restangularizeElement).toHaveBeenCalledWith(null, postData, 'cat'); - expect(Restangular.post).toHaveBeenCalled(); - }); - }); - - describe('deleteOne', function() { - it('should delete the object.', function() { - crudManager.deleteOne('cat', 1); - - expect(Restangular.one).toHaveBeenCalledWith('cat', 1); - expect(Restangular.remove).toHaveBeenCalled(); - }); - }); - - describe('getReferences', function() { - it('should returns all references of the object.', function() { - var references = crudManager.getReferences('cat'); - - expect('human_id' in references).toBe(true); - }); - }); - - describe('getReferencedLists', function() { - it('should returns all referenced lists of an entity.', function() { - var humanReferencedLists = crudManager.getReferencedLists('human'), - catReferencedLists = crudManager.getReferencedLists('cat'); - - expect(humanReferencedLists.cats.label()).toBe('Cats'); - expect(catReferencedLists).toEqual({}); - }); - }); - - describe('getReferencedListValues', function() { - it('should returns all referenced lists of an entity.', function() { - // Just mock getAll - Restangular.getList = jasmine.createSpy('getList').andReturn(mixins.buildPromise({ - data: [], - headers: function() {} - })); - - // Mock q.all - var entities = [ - angular.copy(catEntity), - angular.copy(catEntity), - angular.copy(catEntity) - ]; - - entities[0].getField('name').value = 'Mizu'; - entities[0].getField('human_id').value = 1; - entities[1].getField('name').value = 'Suna'; - entities[1].getField('human_id').value = 1; - entities[2].getField('name').value = 'Boby'; - entities[2].getField('human_id').value = 2; - - var responses = [{ - entities:entities - }]; - - $q.all = jasmine.createSpy('all').andReturn(mixins.buildPromise(responses)); - - humanEntity.getIdentifier().value = 1; - - crudManager.getReferencedListValues('human', humanEntity) - .then(function(data) { - var cats = data.cats.getItems(); - - expect(cats.length).toBe(2); - expect(cats[0].getField('name').value).toBe('Mizu'); - expect(cats[1].getField('name').value).toBe('Suna'); - }); - }); - }); - - - describe('fillReferencesValuesFromCollection', function() { - it('should returns all referenced lists of an entity.', function() { - var cats = [ - angular.copy(catEntity), - angular.copy(catEntity), - angular.copy(catEntity) - ]; - - cats[0].getField('name').value = 'Mizu'; - cats[0].getField('human_id').value = 1; - cats[1].getField('name').value = 'Suna'; - cats[1].getField('human_id').value = 1; - cats[2].getField('name').value = 'Boby'; - cats[2].getField('human_id').value = 2; - - humanReference.setChoices({ - 1: 'Billy', - 2: 'Joe' - }); - - var results = crudManager.fillReferencesValuesFromCollection(cats, {human_id: humanReference}, true); - - expect(results.length).toBe(3); - expect(results[0].getField('human_id').value).toBe(1); - expect(results[0].getField('human_id').referencedValue).toBe('Billy'); - expect(results[1].getField('human_id').value).toBe(1); - expect(results[1].getField('human_id').referencedValue).toBe('Billy'); - expect(results[2].getField('human_id').value).toBe(2); - expect(results[2].getField('human_id').referencedValue).toBe('Joe'); - }); - }); - - describe('getReferenceChoices', function() { - it('should return all choices for a reference', function() { - var references = crudManager.getReferences('cat'), - entity1 = angular.copy(humanEntity), - entity2 = angular.copy(humanEntity); - - entity1.getField('name').value = 'Billy'; - entity1.getField('id').value = 8; - - entity2.getField('name').value = 'Joe'; - entity2.getField('id').value = 9; - - var choices = crudManager.getReferenceChoices(references['human_id'], [entity1, entity2]); - - expect(8 in choices).toBe(true); - expect(choices[8]).toBe('Billy'); - expect(choices[9]).toBe('Joe'); - }); - }); - - describe('getReferencedValues', function() { - it('should returns all choices for all references of an entity.', function() { - - var entity1 = angular.copy(humanEntity), - entity2 = angular.copy(humanEntity); - - entity1.getField('name').value = 'Billy'; - entity1.getField('id').value = 8; - - entity2.getField('name').value = 'Joe'; - entity2.getField('id').value = 9; - - var responses = [{ - entities:[entity1, entity2] - }]; - - $q.all = jasmine.createSpy('all').andReturn(mixins.buildPromise(responses)); - Restangular.getList = jasmine.createSpy('getList').andReturn(mixins.buildPromise({ - data: [], - headers: function() {} - })); - - crudManager.getReferencedValues('cat') - .then(function(references){ - expect(references.human_id.getChoices()[8]).toBe('Billy'); - expect(references.human_id.getChoices()[9]).toBe('Joe'); - }); - }); - }); - - describe('getEditionFields', function() { - it('should return all the entity fields.', function() { - var data = crudManager.getEditionFields('cat'), - fields = data.fields; - - expect(Object.keys(fields)).toEqual([ 'id', 'name', 'summary', 'human_id' ]); - expect(fields.id.label()).toBe('ID'); - expect(fields.name.label()).toBe('Name'); - expect(fields.summary.label()).toBe('Summary'); - }); - }); - - describe('filterReferencedList', function() { - it('should filter only referenced values', function() { - var entities = [ - angular.copy(catEntity), - angular.copy(catEntity), - angular.copy(catEntity) - ]; - - entities[0].getField('name').value = 'Mizu'; - entities[0].getField('human_id').value = 1; - entities[1].getField('name').value = 'Suna'; - entities[1].getField('human_id').value = 1; - entities[2].getField('name').value = 'Boby'; - entities[2].getField('human_id').value = 2; - - var results = crudManager.filterReferencedList(entities, referencedCats, 1); - expect(results.length).toBe(2); - expect(results[0].getField('name').value).toBe('Mizu'); - expect(results[1].getField('name').value).toBe('Suna'); - }); - }); - - describe('truncateListValue', function() { - it('should call truncateList for each field', function() { - Restangular.getList = jasmine.createSpy('getList').andReturn(mixins.buildPromise({ - data: [ - {"id":1,"title":"Mizu","summary":"First cat"}, - {"id":2,"title":"Suna","summary":"Mini cat"} - ], - headers: function() {} - })); - - catSummary - .valueTransformer(function(value) { - return value; - }) - .truncateList(function(value) { - return 'truncated : ' + value; - }); - - - crudManager.getAll('cat') - .then(function(data) { - expect(data.entities[0].getField('summary').value).toBe('truncated : First cat'); - expect(data.entities[1].getField('summary').value).toBe('truncated : Mini cat'); - }); - }); - }); - }); -}); diff --git a/src/javascripts/test/unit/Crud/component/service/FormViewRepositorySpec.js b/src/javascripts/test/unit/Crud/component/service/FormViewRepositorySpec.js new file mode 100644 index 00000000..3e20eab7 --- /dev/null +++ b/src/javascripts/test/unit/Crud/component/service/FormViewRepositorySpec.js @@ -0,0 +1,136 @@ +/*global define,jasmine,angular,describe,it,expect,beforeEach*/ + +define(function (require) { + 'use strict'; + + var FormViewRepository = require('ng-admin/Crud/component/service/FormViewRepository'), + CreateView = require('ng-admin/Main/component/service/config/view/CreateView'), + Field = require('ng-admin/Main/component/service/config/Field'), + Entity = require('ng-admin/Main/component/service/config/Entity'), + Restangular = require('mock/Restangular'), + mixins = require('mixins'), + config, + entity, + view; + + describe("Service: FormViewRepository", function () { + + beforeEach(function () { + config = function () { + return { + baseApiUrl: angular.noop + }; + }; + + entity = new Entity('cat'); + view = new CreateView('myFormView') + .addField(new Field('id').identifier(true)) + .addField(new Field('name').type('text')); + + entity.addView(view); + + view.extraParams(null); + view.interceptor(null); + }); + + describe("getOne", function () { + + it('should return the entity with all fields.', function () { + Restangular.get = jasmine.createSpy('get').andReturn(mixins.buildPromise({ + data: { + "id": 1, + "name": "Mizoute", + "summary": "A Cat" + } + })); + + var formViewRepository = new FormViewRepository({}, Restangular, config); + + formViewRepository.getOne(view, 1) + .then(function (entry) { + expect(Restangular.one).toHaveBeenCalledWith('cat', 1); + expect(entry.identifierValue).toBe(1); + expect(entry.values.id).toBe(1); + expect(entry.values.name).toBe('Mizoute'); + + // Non mapped field should not be retrieved + expect(entry.values.summary).toBe(undefined); + }); + }); + + it('should add response interceptor, extra params & headers when calling getOne', function () { + var catInterceptor; + view.interceptor(catInterceptor = function () { + }); + + view.extraParams(function () { + return { + key: 'abc' + }; + }); + + view.headers(function () { + return { + pwd: '123456' + }; + }); + + Restangular.addResponseInterceptor = jasmine.createSpy('addResponseInterceptor'); + Restangular.get = jasmine.createSpy('get').andReturn(mixins.buildPromise({ + data: { + id: 1, + name: "Mizoute", + summary: "A Cat" + } + })); + + var formViewRepository = new FormViewRepository({}, Restangular, config); + + formViewRepository.getOne(view, 1) + .then(function () { + expect(Restangular.one).toHaveBeenCalledWith('cat', 1); + expect(Restangular.get).toHaveBeenCalledWith({key: 'abc'}, {pwd: '123456'}); + expect(Restangular.addResponseInterceptor).toHaveBeenCalledWith(catInterceptor); + }); + }); + + it('should POST an entity when calling createOne', function () { + var formViewRepository = new FormViewRepository({}, Restangular, config), + rawEntity = {name: 'Mizu'}; + + Restangular.post = jasmine.createSpy('post').andReturn(mixins.buildPromise({data: rawEntity})); + + formViewRepository.createOne(view, rawEntity) + .then(function (entry) { + expect(Restangular.restangularizeElement).toHaveBeenCalledWith(null, rawEntity, 'cat'); + expect(Restangular.post).toHaveBeenCalledWith(null, rawEntity, null, {}); + expect(entry.values.name).toEqual('Mizu'); + }); + }); + + it('should PUT an entity when calling updateOne', function () { + var formViewRepository = new FormViewRepository({}, Restangular, config), + rawEntity = {name: 'Mizu'}; + + Restangular.put = jasmine.createSpy('put').andReturn(mixins.buildPromise({data: rawEntity})); + + formViewRepository.updateOne(view, rawEntity) + .then(function (entry) { + expect(Restangular.restangularizeElement).toHaveBeenCalledWith(null, rawEntity, 'cat'); + expect(Restangular.put).toHaveBeenCalledWith(null, {}); + expect(entry.values.name).toEqual('Mizu'); + }); + }); + + it('should DELETE an entity when calling deleteone', function () { + var formViewRepository = new FormViewRepository({}, Restangular, config); + + formViewRepository.deleteOne(view, 1) + .then(function () { + expect(Restangular.one).toHaveBeenCalledWith('cat', 1); + expect(Restangular.remove).toHaveBeenCalledWith(null, {}); + }); + }); + }); + }); +}); diff --git a/src/javascripts/test/unit/Crud/component/service/ListViewRepositorySpec.js b/src/javascripts/test/unit/Crud/component/service/ListViewRepositorySpec.js new file mode 100644 index 00000000..52e86fca --- /dev/null +++ b/src/javascripts/test/unit/Crud/component/service/ListViewRepositorySpec.js @@ -0,0 +1,239 @@ +/*global define,jasmine,angular,describe,it,expect,beforeEach*/ + +define(function (require) { + 'use strict'; + + var ListViewRepository = require('ng-admin/Crud/component/service/ListViewRepository'), + ListView = require('ng-admin/Main/component/service/config/view/ListView'), + EditView = require('ng-admin/Main/component/service/config/view/EditView'), + Field = require('ng-admin/Main/component/service/config/Field'), + Entry = require('ng-admin/Main/component/service/config/Entry'), + Reference = require('ng-admin/Main/component/service/config/Reference'), + ReferencedList = require('ng-admin/Main/component/service/config/ReferencedList'), + ReferenceMany = require('ng-admin/Main/component/service/config/ReferenceMany'), + Entity = require('ng-admin/Main/component/service/config/Entity'), + Restangular = require('mock/Restangular'), + mixins = require('mixins'), + $q = require('mock/q'), + config, + rawCats, + catEntity, + humanEntity, + catView, + rawHumans; + + describe("Service: ListViewRepository", function () { + beforeEach(function () { + config = function () { + return { + baseApiUrl: angular.noop + }; + }; + + catEntity = new Entity('cat'); + humanEntity = new Entity('human'); + catView = new ListView('myListView') + .addField(new Field('id').identifier(true)) + .addField(new Field('name').type('text')) + .addField(new Reference('human_id').targetEntity(humanEntity).targetField(new Field('firstName'))); + + catEntity.addView(catView); + humanEntity.identifier(new Field('id')); + + rawCats = [{ + "id": 1, + "human_id": 1, + "name": "Mizoute", + "summary": "A Cat" + }, { + "id": 2, + "human_id": 1, + "name": "Suna", + "summary": "A little Cat" + }]; + + rawHumans = [{ + "id": 1, + "firstName": "Daph" + }, { + "id": 2, + "firstName": "Manu" + }, { + "id": 3, + "firstName": "Daniel" + }]; + }); + + it('should return all data to display a ListView', function () { + Restangular.getList = jasmine.createSpy('getList').andReturn(mixins.buildPromise({data: rawCats})); + $q.all = jasmine.createSpy('all').andReturn(mixins.buildPromise([{data: rawHumans}])); + + var listViewRepository = new ListViewRepository($q, Restangular, config); + + listViewRepository.getAll(catView) + .then(function (result) { + expect(result.currentPage).toEqual(1); + expect(result.perPage).toEqual(30); + expect(result.totalItems).toEqual(2); + expect(result.entries.length).toEqual(2); + + expect(result.entries[0].values.id).toEqual(1); + expect(result.entries[0].values.name).toEqual('Mizoute'); + + expect(result.entries[0].values.human_id).toEqual(1); + expect(result.entries[0].listValues.human_id).toEqual('Daph'); + }); + }); + + it('should return all rawEntities with an extra header', function () { + Restangular.getList = jasmine.createSpy('getList').andReturn(mixins.buildPromise({data: rawCats})); + + var listViewRepository = new ListViewRepository({}, Restangular, config); + + catView.perPage(10) + .headers({token: 'def'}); + + listViewRepository.getRawValues(catView) + .then(function (rawEntities) { + expect(Restangular.all).toHaveBeenCalledWith('cat'); + expect(Restangular.getList).toHaveBeenCalledWith({page : 1, per_page : 10}, {token: 'def'}); + expect(rawEntities.data.length).toEqual(2); + }); + }); + + it('should return all references values for a View', function () { + var listViewRepository = new ListViewRepository($q, Restangular, config), + post = new Entity('posts'), + postList = new ListView(), + author = new Entity('authors'), + authorRef = new Reference('author'); + + var rawAuthors = [{ + id: 'abc', + name: 'Rollo' + }, { + id: '19DFE', + name: 'Ragna' + }]; + + authorRef.targetEntity(author); + postList.addField(authorRef); + post.addView(postList); + + Restangular.getList = jasmine.createSpy('getList').andReturn(mixins.buildPromise({data: rawAuthors})); + $q.all = jasmine.createSpy('all').andReturn(mixins.buildPromise([{data: rawAuthors}])); + + listViewRepository.getReferencedValues(postList) + .then(function (references) { + expect(references.author.getEntries().length).toEqual(2); + expect(references.author.getEntries()[0].id).toEqual('abc'); + expect(references.author.getEntries()[1].name).toEqual('Ragna'); + }); + }); + + it('should return all referencedLists values for a View', function () { + var listViewRepository = new ListViewRepository($q, Restangular, config), + state = new Entity('states'), + stateId = new Field('id').identifier(true), + stateList = new ListView(), + character = new Entity('characters'), + stateCharacters = new ReferencedList('character'); + + var rawCharacters = [{ + id: 'abc', + state_id: 1, + name: 'Rollo', + age: 35, + eyes: 'blue' + }, { + id: '19DFE', + state_id: 1, + name: 'Ragna', + age: 33, + eyes: 'brown' + }, { + id: '1G53a', + state_id: 2, + name: 'Aelle', + age: 45, + eyes: 'brown' + }]; + + stateCharacters + .targetReferenceField('state_id') + .targetFields([ + new Field('id'), + new Field('name'), + new Field('state_id') + ]) + .targetEntity(character); + + stateList + .addField(stateId) + .addField(stateCharacters); + state.addView(stateList); + + Restangular.getList = jasmine.createSpy('getList').andReturn(mixins.buildPromise({data: rawCharacters})); + $q.all = jasmine.createSpy('all').andReturn(mixins.buildPromise([{data: rawCharacters}])); + + listViewRepository.getReferencedListValues(stateList, null, null, 1) + .then(function (references) { + var entries = references.character.getEntries(); + + expect(entries.length).toEqual(2); + expect(entries[0].values.name).toEqual('Rollo'); + expect(entries[1].values.id).toEqual('19DFE'); + }); + }); + + it('should fill reference values of a collection', function () { + var listViewRepository = new ListViewRepository({}, Restangular, config), + entry1 = new Entry(), + entry2 = new Entry('catList'), + entry3 = new Entry('catList'), + human = new Entity('humans').addView(new EditView('human-list')).identifier(new Field('id')), + tag = new Entity('tags').addView(new EditView('tags-list')).identifier(new Field('id')), + ref1 = new Reference('human_id'), + ref2 = new ReferenceMany('tags'); + + ref1 + .targetEntity(human) + .targetField(new Field('name')) + .setEntries([ + {id: 1, name: 'Bob'}, + {id: 2, name: 'Daniel'}, + {id: 3, name: 'Jack'} + ]); + + ref2 + .targetEntity(tag) + .targetField(new Field('label')) + .setEntries([ + {id: 1, label: 'Photo'}, + {id: 2, label: 'Watch'}, + {id: 3, label: 'Panda'} + ]); + + entry1.values.human_id = 1; + entry1.values.tags = [1, 3]; + entry2.values.human_id = 1; + entry2.values.tags = [2]; + entry3.values.human_id = 3; + + var collection = [entry1, entry2, entry3]; + var referencedValues = { + human_id: ref1, + tags: ref2 + }; + + collection = listViewRepository.fillReferencesValuesFromCollection(collection, referencedValues, true); + + expect(collection.length).toEqual(3); + expect(collection[0].listValues.human_id).toEqual('Bob'); + expect(collection[0].listValues.tags).toEqual(['Photo', 'Panda']); + expect(collection[1].listValues.tags).toEqual(['Watch']); + expect(collection[2].listValues.human_id).toEqual('Jack'); + expect(collection[2].listValues.tags).toEqual([]); + }); + }); +}); diff --git a/src/javascripts/test/unit/Main/component/controller/DashboardControllerSpec.js b/src/javascripts/test/unit/Main/component/controller/DashboardControllerSpec.js new file mode 100644 index 00000000..e7f479ef --- /dev/null +++ b/src/javascripts/test/unit/Main/component/controller/DashboardControllerSpec.js @@ -0,0 +1,54 @@ +/*global define,jasmine,angular,describe,it,expect*/ + +define(function (require) { + 'use strict'; + + var DashboardController = require('ng-admin/Main/component/controller/DashboardController'), + PanelBuilder = require('ng-admin/Main/component/service/PanelBuilder'), + Field = require('ng-admin/Main/component/service/config/Field'), + DashboardView = require('ng-admin/Main/component/service/config/view/DashboardView'), + mixins = require('mixins'); + + describe("Controller: Dashboard", function () { + + it('should retrieve panels', function () { + var view1 = new DashboardView('view1') + .label('dashboard1') + .addField(new Field('title').label('Title')), + view2 = new DashboardView('MyView2') + .label('my dashboard 2') + .addField(new Field('name').label('Name')); + + var responses = [ + { + view: view1, + entries: [], + currentPage: 1, + perPage: 10, + totalItems: 12 + }, + { + view: view2, + entries: [], + currentPage: 1, + perPage: 10, + totalItems: 4 + } + ]; + + var panelBuilder = new PanelBuilder(null, null, null, angular.noop); + panelBuilder.getPanelsData = jasmine.createSpy('getPanelsData').andReturn(mixins.buildPromise(responses)); + + var controller = new DashboardController({$on: angular.noop}, {}, panelBuilder); + + // Check that panels are retrieved + expect(controller.panels[0].label).toEqual('dashboard1'); + expect(controller.panels[1].label).toEqual('my dashboard 2'); + + expect(controller.panels[1].columns.length).toEqual(1); + expect(controller.panels[1].columns[0].label).toEqual('Name'); + expect(controller.panels[1].columns[0].field.name()).toEqual('name'); + }); + + }); +}); diff --git a/src/javascripts/test/unit/Main/component/filter/OrderElementSpec.js b/src/javascripts/test/unit/Main/component/filter/OrderElementSpec.js new file mode 100644 index 00000000..65cd475c --- /dev/null +++ b/src/javascripts/test/unit/Main/component/filter/OrderElementSpec.js @@ -0,0 +1,29 @@ +/*global define,jasmine,angular,describe,it,expect*/ + +define(function (require) { + 'use strict'; + + var OrderElement = require('ng-admin/Main/component/filter/OrderElement'); + + describe("Filter: OrderElement", function () { + + it('should order all elements', function () { + var orderElement = new OrderElement('view1'); + + var elements = [ + {order: function () { return 1; }, name: 'field1'}, + {order: function () { return 0; }, name: 'field2'}, + {order: function () { return 3; }, name: 'field3'} + ]; + + var orderedElements = orderElement(elements); + + // Check that elements are ordered + expect(orderedElements.length).toEqual(3); + expect(orderedElements[0].name).toEqual('field2'); + expect(orderedElements[1].name).toEqual('field1'); + expect(orderedElements[2].name).toEqual('field3'); + }); + + }); +}); diff --git a/src/javascripts/test/unit/Main/component/service/ValidatorSpec.js b/src/javascripts/test/unit/Main/component/service/ValidatorSpec.js new file mode 100644 index 00000000..c2f49490 --- /dev/null +++ b/src/javascripts/test/unit/Main/component/service/ValidatorSpec.js @@ -0,0 +1,38 @@ +/*global define,jasmine,angular,describe,it,expect*/ + +define(function (require) { + 'use strict'; + + var Validator = require('ng-admin/Main/component/service/Validator'), + View = require('ng-admin/Main/component/service/config/view/View'), + Entry = require('ng-admin/Main/component/service/config/Entry'), + Field = require('ng-admin/Main/component/service/config/Field'); + + describe("Service: Validator", function () { + + it('should call validator on each fields.', function () { + var validator = new Validator(), + entry = new Entry(), + view = new View('myView'), + field1 = new Field('notValidable').label('Complex'), + field2 = new Field('simple').label('Simple'); + + entry.values = { + notValidable: false, + simple: 1 + }; + + view.addField(field1).addField(field2); + + field1.validation().validator = function () { + throw new Error('Field "Complex" is not valid.'); + }; + field2.validation().validator = function () { + return true; + }; + + expect(function () { validator.validate(view, entry); }).toThrow('Field "Complex" is not valid.'); + }); + + }); +}); diff --git a/src/javascripts/test/unit/Main/component/service/config/ApplicationSpec.js b/src/javascripts/test/unit/Main/component/service/config/ApplicationSpec.js new file mode 100644 index 00000000..d35fc98a --- /dev/null +++ b/src/javascripts/test/unit/Main/component/service/config/ApplicationSpec.js @@ -0,0 +1,63 @@ +/*global define,jasmine,angular,describe,it,expect*/ + +define(function (require) { + 'use strict'; + + var Application = require('ng-admin/Main/component/service/config/Application'), + Entity = require('ng-admin/Main/component/service/config/Entity'), + DashboardView = require('ng-admin/Main/component/service/config/view/DashboardView'), + CreateView = require('ng-admin/Main/component/service/config/view/CreateView'); + + describe("Service: Application config", function () { + + describe('entity', function () { + it('should store entity by name.', function () { + var app = new Application(), + entity = new Entity('myEntity'); + app.addEntity(entity); + + expect(app.getEntity('myEntity').name()).toBe('myEntity'); + expect(app.getEntity('myEntity').order()).toBe(0); + expect(app.hasEntity('myEntity')).toBe(true); + }); + + it('should return all entity names.', function () { + var app = new Application(); + app.addEntity(new Entity('myEntity1')); + app.addEntity(new Entity('myEntity2')); + + expect(app.getEntityNames()).toEqual(['myEntity1', 'myEntity2']); + }); + }); + + describe('view', function () { + it('should returns all view of a certain type.', function () { + var app = new Application(), + entity1 = new Entity('myEntity1'), + entity2 = new Entity('myEntity2'), + dashboard = new DashboardView('dashboard'), + dashboard2 = new DashboardView('dashboard2'), + createView = new CreateView('form1'); + + entity1.addView(dashboard); + entity2.addView(dashboard2); + entity2.addView(createView); + app.addEntity(entity1); + app.addEntity(entity2); + + var dashboards = app.getViewsOfType('DashboardView'), + forms = app.getViewsOfType('CreateView'), + lists = app.getViewsOfType('ListView'); + + expect(dashboards.length).toBe(2); + expect(forms.length).toBe(1); + expect(lists.length).toBe(0); + + expect(dashboards[0].getEntity().name()).toBe('myEntity1'); + expect(dashboards[1].getEntity().name()).toBe('myEntity2'); + }); + + }); + + }); +}); diff --git a/src/javascripts/test/unit/Main/component/service/config/EntitySpec.js b/src/javascripts/test/unit/Main/component/service/config/EntitySpec.js new file mode 100644 index 00000000..b6104321 --- /dev/null +++ b/src/javascripts/test/unit/Main/component/service/config/EntitySpec.js @@ -0,0 +1,42 @@ +/*global define,jasmine,angular,describe,it,expect*/ + +define(function (require) { + 'use strict'; + + var Entity = require('ng-admin/Main/component/service/config/Entity'), + DashboardView = require('ng-admin/Main/component/service/config/view/DashboardView'), + CreateView = require('ng-admin/Main/component/service/config/view/CreateView'); + + describe("Service: Entity config", function () { + + describe('views', function () { + it('should store views by name.', function () { + var entity = new Entity('myEntity1'), + dashboard = new DashboardView('dashboard'), + createView = new CreateView('form1'); + + entity.addView(dashboard) + .addView(createView); + + expect(Object.keys(entity.getViews()).length).toBe(2); + expect(entity.getView('dashboard').name()).toBe('dashboard'); + expect(entity.getView('form1').getEntity().name()).toBe('myEntity1'); + }); + + it('should retrieve views by type.', function () { + var entity = new Entity('myEntity1'), + dashboard = new DashboardView('dashboard'), + createView = new CreateView('form1'); + + entity.addView(dashboard) + .addView(createView); + + expect(entity.getViewsOfType('DashboardView')[0].name()).toBe('dashboard'); + expect(entity.getViewsOfType('CreateView')[0].name()).toBe('form1'); + expect(entity.getViewsOfType('MyType').length).toBe(0); + }); + + }); + + }); +}); diff --git a/src/javascripts/test/unit/Main/component/service/config/FieldSpec.js b/src/javascripts/test/unit/Main/component/service/config/FieldSpec.js new file mode 100644 index 00000000..903eb432 --- /dev/null +++ b/src/javascripts/test/unit/Main/component/service/config/FieldSpec.js @@ -0,0 +1,85 @@ +/*global define,jasmine,angular,describe,it,expect*/ + +define(function (require) { + 'use strict'; + + var Field = require('ng-admin/Main/component/service/config/Field'), + ListView = require('ng-admin/Main/component/service/config/view/ListView'), + DashboardView = require('ng-admin/Main/component/service/config/view/DashboardView'), + Entity = require('ng-admin/Main/component/service/config/Entity'); + + describe("Service: Field config", function () { + + describe('type', function () { + it('should set type string.', function () { + var field = new Field(); + field.type('string'); + + expect(field.type()).toBe('string'); + }); + + it('should set a random string as name when not set.', function () { + var field = new Field(); + + expect(field.name()).not.toBe(null); + }); + + iit('should camelCase the name as the label by default.', function () { + var field = new Field('myField'); + + expect(field.label()).toEqual('MyField'); + }); + + it('should accept string for template value.', function () { + var field = new Field('myField') + .type('template') + .template('hello!'); + + expect(field.getTemplateValue()).toEqual('hello!'); + }); + + it('should accept function for template value.', function () { + var field = new Field('myField') + .type('template') + .template(function () { return 'hello function !'; }); + + expect(field.getTemplateValue()).toEqual('hello function !'); + }); + + it('should not allows type other type.', function () { + var field = new Field(); + + expect(function () { field.type('myType'); }) + .toThrow('Type should be one of : "number", "string", "text", "wysiwyg", "email", "date", "boolean", "choice", "choices", "password", "template" but "myType" was given.'); + }); + + }); + + describe('entity', function () { + it('should set view.', function () { + var field = new Field('field1'), + entity = new Entity('myEntity1'), + view = new ListView('list1'); + + entity.addView(view); + field.setView(view); + + expect(field.getSortName()).toBe('list1.field1'); + }); + }); + + describe('config', function () { + it('should call getMappedValue.', function () { + function truncate(val) { + return 'v' + val; + } + + var field = new Field('field1'); + field.map(truncate); + + expect(field.getMappedValue(123)).toBe('v123'); + }); + }); + + }); +}); diff --git a/src/javascripts/test/unit/Main/component/service/config/ReferenceSpec.js b/src/javascripts/test/unit/Main/component/service/config/ReferenceSpec.js new file mode 100644 index 00000000..e48913fd --- /dev/null +++ b/src/javascripts/test/unit/Main/component/service/config/ReferenceSpec.js @@ -0,0 +1,58 @@ +/*global define,jasmine,angular,describe,it,expect*/ + +define(function (require) { + 'use strict'; + + var Reference = require('ng-admin/Main/component/service/config/Reference'), + Field = require('ng-admin/Main/component/service/config/Field'), + ListView = require('ng-admin/Main/component/service/config/view/ListView'), + EditView = require('ng-admin/Main/component/service/config/view/EditView'), + Entity = require('ng-admin/Main/component/service/config/Entity'); + + describe("Service: Referenced config", function () { + + it('should retrieve choices.', function () { + var ref = new Reference('human_id'), + human = new Entity('human'), + editView = new EditView(); + + editView.addField(new Field('id').identifier(true)); + + ref.setEntries([ + { id: 1, human_id: 1, name: 'Suna'}, + { id: 2, human_id: 2, name: 'Boby'}, + { id: 3, human_id: 1, name: 'Mizute'} + ]); + + ref + .targetField(new Field('name')) + .targetEntity(human); + + human + .identifier(new Field('id')) + .addView(editView); + + var choices = ref.getChoices(); + expect(ref.type()).toEqual('Reference'); + expect(choices[1]).toEqual('Suna'); + expect(choices[2]).toEqual('Boby'); + expect(choices[3]).toEqual('Mizute'); + }); + + it('Should create a fake view to keep entity', function () { + var post = new Entity('posts'), + comment = new Entity('comments'); + + comment + .addView(new ListView('comment-list') + .addField(new Reference('post_id') + .targetEntity(post) + .targetField(new Field('id')) + ) + ); + + expect(comment.getOneViewOfType('ListView').getField('post_id').getReferencedView().getEntity().name()).toEqual('posts'); + }); + + }); +}); diff --git a/src/javascripts/test/unit/Main/component/service/config/ReferencedListSpec.js b/src/javascripts/test/unit/Main/component/service/config/ReferencedListSpec.js new file mode 100644 index 00000000..31e38787 --- /dev/null +++ b/src/javascripts/test/unit/Main/component/service/config/ReferencedListSpec.js @@ -0,0 +1,87 @@ +/*global define,jasmine,angular,describe,it,expect*/ + +define(function (require) { + 'use strict'; + + var ReferencedList = require('ng-admin/Main/component/service/config/ReferencedList'), + Field = require('ng-admin/Main/component/service/config/Field'), + ReferenceMany = require('ng-admin/Main/component/service/config/ReferenceMany'), + ListView = require('ng-admin/Main/component/service/config/view/ListView'), + EditView = require('ng-admin/Main/component/service/config/view/EditView'), + Entity = require('ng-admin/Main/component/service/config/Entity'); + + describe("Service: ReferencedList config", function () { + + it('should retrieve referenceMany fields.', function () { + var referencedList = new ReferencedList('myField'), + ref1 = new ReferenceMany('ref1'), + ref2 = new ReferenceMany('ref2'); + + referencedList.targetFields([ref1, ref2]); + + var references = referencedList.targetFields(); + + expect(references.length).toBe(2); + expect(references[0].name()).toBe('ref1'); + }); + + it('should return information about grid column.', function () { + var referencedList = new ReferencedList('myField'), + field1 = new Field('f1').label('Field 1'), + field2 = new Field('f2').label('Field 2'); + + referencedList.targetFields([field1, field2]); + + var columns = referencedList.getGridColumns(); + + expect(columns.length).toBe(2); + expect(columns[0].label).toBe('Field 1'); + expect(columns[1].field.name()).toBe('f2'); + }); + + it('should filter entries.', function () { + var referencedList = new ReferencedList('cats'), + human = new Entity('human'), + editView = new EditView(); + + editView + .addField(new Field('id')) + .addField(new Field('human_id')) + .addField(new Field('name')); + + human.addView(editView); + + referencedList + .targetReferenceField('human_id') + .setEntries(editView.mapEntries([ + { id: 1, human_id: 1, name: 'Suna'}, + { id: 2, human_id: 2, name: 'Boby'}, + { id: 3, human_id: 1, name: 'Mizute'} + ])); + + referencedList.filterEntries(1); + var entries = referencedList.getEntries(); + + expect(entries.length).toEqual(2); + expect(entries[0].values.name).toEqual('Suna'); + expect(entries[1].values.name).toEqual('Mizute'); + }); + + it('should store target entity configuration', function () { + var comment = new Entity('comments'); + + var post = new Entity('posts') + .addView(new EditView('post-edit') + .addField(new ReferencedList('comments') + .targetEntity(comment) + .targetField(new Field('id')) + ) + ); + + comment.addView(new ListView('comment-list')); + + expect(post.getOneViewOfType('EditView').getField('comments').targetEntity().views['comment-list']).not.toBe(null); + }); + + }); +}); diff --git a/src/javascripts/test/unit/Main/component/service/config/view/ListViewSpec.js b/src/javascripts/test/unit/Main/component/service/config/view/ListViewSpec.js new file mode 100644 index 00000000..42f412ec --- /dev/null +++ b/src/javascripts/test/unit/Main/component/service/config/view/ListViewSpec.js @@ -0,0 +1,72 @@ +/*global require,describe,module,beforeEach,inject,it,expect*/ + +define(function (require) { + 'use strict'; + + var ListView = require('ng-admin/Main/component/service/config/view/ListView'), + Entity = require('ng-admin/Main/component/service/config/Entity'), + Field = require('ng-admin/Main/component/service/config/Field'); + + describe("Service: ListView config", function () { + + it('should store quickfilter by name.', function () { + var list = new ListView(); + + list.addQuickFilter('Today', {'now': 1}); + + expect(list.getQuickFilterNames()).toEqual(['Today']); + expect(list.getQuickFilterParams('Today')).toEqual({'now': 1}); + }); + + it('should returns extra params.', function () { + var list = new ListView('allCats'), + entity = new Entity('cat'); + + list.perPage(10); + list.extraParams(function () { + return {token: 'abcde1'}; + }); + + list.pagination(function (page, maxPerPage) { + return { + begin: page, + end: page * maxPerPage + }; + }); + + entity.addView(list); + + var params = list.getAllParams(12, {params: {_sort: 'name'}}, 'mizu'); + + expect(params.token).toEqual('abcde1'); + expect(params.begin).toEqual(12); + expect(params.end).toEqual(120); + expect(params._sort).toEqual('name'); + expect(params.q).toEqual('mizu'); + }); + + it('should truncate list values.', function () { + var list = new ListView('allCats'), + entity = new Entity('cats'); + + entity.addView(list); + + list.addField(new Field('id').identifier(true)); + list.addField(new Field('name').map(function (value) { + return value.substr(0, 5) + '...'; + })); + + var entries = list.mapEntries([ + { id: 1, human_id: 1, name: 'Suna'}, + { id: 2, human_id: 2, name: 'Boby'}, + { id: 3, human_id: 1, name: 'Mizute'} + ]); + + expect(entries[0].values.id).toEqual(1); + expect(entries[0].values.name).toEqual('Suna...'); + expect(entries[2].values.id).toEqual(3); + expect(entries[2].values.name).toEqual('Mizut...'); + }); + + }); +}); diff --git a/src/javascripts/test/unit/Main/component/service/config/view/ViewSpec.js b/src/javascripts/test/unit/Main/component/service/config/view/ViewSpec.js new file mode 100644 index 00000000..dd793b55 --- /dev/null +++ b/src/javascripts/test/unit/Main/component/service/config/view/ViewSpec.js @@ -0,0 +1,111 @@ +/*global require,describe,module,beforeEach,inject,it,expect*/ + +define(function (require) { + 'use strict'; + + var View = require('ng-admin/Main/component/service/config/view/View'), + Action = require('ng-admin/Main/component/service/config/Action'), + Field = require('ng-admin/Main/component/service/config/Field'), + Entity = require('ng-admin/Main/component/service/config/Entity'), + ReferenceMany = require('ng-admin/Main/component/service/config/ReferenceMany'), + Reference = require('ng-admin/Main/component/service/config/Reference'); + + describe("Service: View config", function () { + + it('should returns it\'s name.', function () { + var view = new View('view-abx'); + + expect(view.name()).toEqual('view-abx'); + }); + + it('should returns a title and description from a function.', function () { + var view = new View(); + view.title(function () { + return 'my-title'; + }); + view.description(function () { + return 'my desc'; + }); + + expect(view.getTitle()).toEqual('my-title'); + expect(view.getDescription()).toEqual('my desc'); + }); + + it('should add a return field types.', function () { + var view = new View(); + var refMany = new ReferenceMany('refMany'); + var ref = new Reference('myRef'); + + var field = new Field('body'); + + view.addField(ref).addField(refMany).addField(field); + + expect(view.getFieldsOfType('ReferenceMany')['refMany'].name()).toEqual('refMany'); + expect(view.getReferences()['refMany'].name()).toEqual('refMany'); + expect(view.getReferences()['myRef'].name()).toEqual('myRef'); + expect(view.getFields()['body'].order()).toEqual(2); + }); + + it('should add actions.', function () { + var view = new View(); + var action = new Action('doSomething'); + view.addAction(action); + + expect(view.getActions()['doSomething'].order()).toEqual(0); + }); + + it('should returns the identifier.', function () { + var view = new View(), + entity = new Entity(), + field1 = new Field('post_id').identifier(true), + field2 = new Field('name').identifier(false); + + view.addField(field1).addField(field2); + entity.addView(view); + + expect(view.identifier().name()).toEqual('post_id'); + }); + + it('should map some raw entities', function () { + var view = new View(), + entity = new Entity(), + field1 = new Field('post_id').identifier(true), + field2 = new Field('title'); + + entity.addView(view); + + view + .addField(field1) + .addField(field2); + + var entries = view.mapEntries([ + { post_id: 1, title: 'Hello', published: true}, + { post_id: 2, title: 'World', published: false}, + { post_id: 3, title: 'How to use ng-admin', published: false} + ]); + + expect(entries.length).toEqual(3); + expect(entries[0].identifierValue).toEqual(1); + expect(entries[1].values.title).toEqual('World'); + expect(entries[1].values.published).toEqual(null); + }); + + it('should map some one entity when the identifier in not in the view', function () { + var view = new View(), + field = new Field('title'), + entity = new Entity('posts'); + + view + .addField(field); + + entity + .identifier(new Field('post_id')) + .addView(view); + + var entry = view.mapEntry({ post_id: 1, title: 'Hello', published: true}); + expect(entry.identifierValue).toEqual(1); + expect(entry.values.title).toEqual('Hello'); + }); + + }); +}); diff --git a/src/sass/ng-admin.scss b/src/sass/ng-admin.scss index 2479d873..9c41d8d9 100644 --- a/src/sass/ng-admin.scss +++ b/src/sass/ng-admin.scss @@ -44,6 +44,7 @@ $icon-font-path: if(compass-env() == 'development', "../src/javascripts/bower_co */ .dashboard-content { .panel-default { + margin-bottom: 20px!important; padding: 0; margin: 0 1%; overflow: scroll; @@ -202,6 +203,10 @@ div.bottom-loader { width: 100%; } + a { + cursor: pointer; + } + .ta-toolbar button { font-size: 12px; padding: 5px 8px;