diff --git a/api/api-iam/iam-internal/src/main/config/iam-internal-application-dev.yml b/api/api-iam/iam-internal/src/main/config/iam-internal-application-dev.yml index f6a54104cb6193a86ab9dfc260b30cb8ce1b5458..324b1ba3bedd8b6eebcd530d4c803e75ccdb47f7 100644 --- a/api/api-iam/iam-internal/src/main/config/iam-internal-application-dev.yml +++ b/api/api-iam/iam-internal/src/main/config/iam-internal-application-dev.yml @@ -12,7 +12,7 @@ spring: register: false data: mongodb: - uri: mongodb://mongod_dbuser_iam:mongod_dbpwd_iam@localhost:27018/iam?connectTimeoutMS=2000 + uri: mongodb://mongod_dbuser_iam:mongod_dbpwd_iam@dev.vitamui.com:27018/iam?connectTimeoutMS=2000 server-identity: identityName: vitamui-dev diff --git a/deployment/ansible.cfg b/deployment/ansible.cfg index 7ed4eebbc4c217ad481d0db48be836c7d33296b2..e79d18b90c1e04fab6284184962d299c9c14a7cc 100644 --- a/deployment/ansible.cfg +++ b/deployment/ansible.cfg @@ -9,6 +9,9 @@ filter_plugins = ./filter_plugins/ # This is 2 hours fact_caching_timeout = 7200 +gather_subset = !all +gather_timeout = 20 + # Mitogen host_key_checking = False strategy_plugins = ./lib/mitogen-0.2.9/ansible_mitogen/plugins/strategy diff --git a/deployment/scripts/mongod/1.0.0/03_application_ref.js.j2 b/deployment/scripts/mongod/1.0.0/03_application_ref.js.j2 index aa107c49b9df245dea6f262ee280a7a7eb991db8..13a4dcc927dc826718a17b4a412003827e505eaf 100644 --- a/deployment/scripts/mongod/1.0.0/03_application_ref.js.j2 +++ b/deployment/scripts/mongod/1.0.0/03_application_ref.js.j2 @@ -123,3 +123,35 @@ db.applications.insert({ "tooltip": "Consulter mes informations, Choisir la langue de l'interface", "target": "_self" }); + +// -------- PASTIS ----- + +db.applications.insert({ + "identifier" : "PASTIS_APP", + "url" : "https://{{ vitamui_services.ui_pastis.server_name }}", + "icon" : "vitamui-icon vitamui-icon-ontologie", + "name" : "PASTIS", + "category" : "referential", + "position" : NumberInt(51), + "hasCustomerList" : false, + "hasTenantList" : true, + "hasHighlight" : false, + "tooltip" : "Accéder, créer et modifier les profils d'archivage", + "target" : "_self" +}); + + +db.applications.insert({ + "_id" : ObjectId("5f02f30ed792810b68782526"), + "identifier" : "SEDA_APP", + "url" : "https://{{ vitamui_services.ui_pastis.server_name }}/sedaview", + "icon" : "vitamui-icon vitamui-icon-ontologie", + "name" : "SEDA View poste de DEV", + "category" : "referential", + "position" : NumberInt(51), + "hasCustomerList" : false, + "hasTenantList" : true, + "hasHighlight" : false, + "tooltip" : "Visualisation du SEDA en graph", + "target" : "_self" +}); diff --git a/pom.xml b/pom.xml index db1e2f1e253c2f44721d77ef402ea38d445ffb18..1617e6ecf5056258ada42dd3c0de58b24d938080 100644 --- a/pom.xml +++ b/pom.xml @@ -1353,6 +1353,12 @@ <angular.build.profile>:dev</angular.build.profile> <angular.test.profile>:conf-ci</angular.test.profile> </properties> + <repositories> + <repository> + <id>vitam</id> + <url>http://download.programmevitam.fr/vitam_repository/${vitam.version}/mvn_repo/</url> + </repository> + </repositories> <build> <resources> <resource> diff --git a/tools/docker/mongo/ansible.cfg b/tools/docker/mongo/ansible.cfg index 9e9c5f41eb71f4b3b4f4606f9229cd03196cc7b8..71aba452aaaf36c7dcd92f5188e02b2f1124c7ca 100644 --- a/tools/docker/mongo/ansible.cfg +++ b/tools/docker/mongo/ansible.cfg @@ -8,6 +8,7 @@ filter_plugins = ./../../../deployment/filter_plugins/ # The timeout is defined in seconds # This is 2 hours fact_caching_timeout = 7200 - +gather_subset = !all +gather_timeout = 20 [ssh_connection] pipelining = True diff --git a/tools/docker/mongo/database_scripts_templater.yml b/tools/docker/mongo/database_scripts_templater.yml index 5f8e6ed90c6b86f0e855216db30a83d392884854..68e605b5856dcc7926f6cc0d52085e37220dd00d 100644 --- a/tools/docker/mongo/database_scripts_templater.yml +++ b/tools/docker/mongo/database_scripts_templater.yml @@ -5,8 +5,8 @@ - hosts: localhost gather_facts: true roles: - - { - role: mongo_init, + - { + role: mongo_init, mongod_source_template_dir: "{{lookup('env','PWD')}}/../../../deployment/scripts/mongod/" } diff --git a/ui/pom.xml b/ui/pom.xml index 19495344923ed0555e67bfd1623b98b8e104d96f..d941d40204af97685996d64d46906fa0375cab7a 100644 --- a/ui/pom.xml +++ b/ui/pom.xml @@ -19,6 +19,7 @@ <module>ui-portal</module> <module>ui-identity</module> <module>ui-referential</module> + <module>ui-pastis</module> </modules> </project> diff --git a/ui/ui-frontend/angular.json b/ui/ui-frontend/angular.json index 417341c0a08af4f2e9920c7c31ea9f105471eb80..66c5fff4d1a9ae42839882be0e237b744091d814 100644 --- a/ui/ui-frontend/angular.json +++ b/ui/ui-frontend/angular.json @@ -498,6 +498,128 @@ } } } + }, + "pastis": { + "projectType": "application", + "schematics": { + "@schematics/angular:component": { + "style": "sass" + } + }, + "root": "projects/pastis", + "sourceRoot": "projects/pastis/src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-devkit/build-angular:browser", + "options": { + "outputPath": "dist/pastis", + "index": "projects/pastis/src/index.html", + "main": "projects/pastis/src/main.ts", + "polyfills": "projects/pastis/src/polyfills.ts", + "tsConfig": "projects/pastis/tsconfig.app.json", + "aot": false, + "assets": [ + "projects/pastis/src/favicon.ico", + "projects/pastis/src/assets" + ], + "styles": [ + "projects/pastis/src/styles.scss" + ], + "scripts": [ + "projects/pastis/src/assets/js/class-diagram.js", + "projects/pastis/src/assets/js/multiline-text.js" + ] + }, + "configurations": { + "production": { + "fileReplacements": [ + { + "replace": "projects/pastis/src/environments/environment.ts", + "with": "projects/pastis/src/environments/environment.prod.ts" + } + ], + "optimization": true, + "outputHashing": "all", + "sourceMap": false, + "extractCss": true, + "namedChunks": false, + "aot": true, + "extractLicenses": true, + "vendorChunk": false, + "buildOptimizer": true, + "budgets": [ + { + "type": "initial", + "maximumWarning": "2mb", + "maximumError": "5mb" + } + ] + } + } + }, + "serve": { + "builder": "@angular-devkit/build-angular:dev-server", + "options": { + "browserTarget": "pastis:build", + "host": "dev.vitamui.com", + "port": 4251 + }, + "configurations": { + "production": { + "browserTarget": "pastis:build:production" + } + } + }, + "extract-i18n": { + "builder": "@angular-devkit/build-angular:extract-i18n", + "options": { + "browserTarget": "pastis:build" + } + }, + "test": { + "builder": "@angular-devkit/build-angular:karma", + "options": { + "main": "projects/pastis/src/test.ts", + "polyfills": "projects/pastis/src/polyfills.ts", + "tsConfig": "projects/pastis/tsconfig.spec.json", + "karmaConfig": "projects/pastis/karma.conf.js", + "assets": [ + "projects/pastis/src/assets", + "projects/pastis/src/favicon.ico" + ], + "styles": [ + "projects/pastis/src/assets/css/styles.scss" + ], + "scripts": [] + } + }, + "lint": { + "builder": "@angular-devkit/build-angular:tslint", + "options": { + "tsConfig": [ + "projects/pastis/tsconfig.app.json", + "projects/pastis/tsconfig.spec.json", + "projects/pastis/e2e/tsconfig.json" + ], + "exclude": [ + "**/node_modules/**" + ] + } + }, + "e2e": { + "builder": "@angular-devkit/build-angular:protractor", + "options": { + "protractorConfig": "projects/pastis/e2e/protractor.conf.js", + "devServerTarget": "pastis:serve" + }, + "configurations": { + "production": { + "devServerTarget": "pastis:serve:production" + } + } + } + } } }, "defaultProject": "portal", diff --git a/ui/ui-frontend/package-lock.json b/ui/ui-frontend/package-lock.json index 11d01dd68c1bae2e8cec777480842965b005a862..9fa87cf58e582b2c823e5d8e38b40eeebf2e3439 100644 --- a/ui/ui-frontend/package-lock.json +++ b/ui/ui-frontend/package-lock.json @@ -101,6 +101,21 @@ "uri-js": "^4.2.2" } }, + "autoprefixer": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.1.tgz", + "integrity": "sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw==", + "dev": true, + "requires": { + "browserslist": "^4.6.3", + "caniuse-lite": "^1.0.30000980", + "chalk": "^2.4.2", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.17", + "postcss-value-parser": "^4.0.0" + } + }, "cacache": { "version": "12.0.2", "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.2.tgz", @@ -843,7 +858,7 @@ }, "@angular/material-moment-adapter": { "version": "8.2.3", - "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/@angular/material-moment-adapter/-/material-moment-adapter-8.2.3.tgz", + "resolved": "https://registry.npmjs.org/@angular/material-moment-adapter/-/material-moment-adapter-8.2.3.tgz", "integrity": "sha512-x0WE9MyQajqzGPYKm8eHcDmWWlwiobOX9rZ+V5uqY80fsvm2czk6TYnc1drFYcPAHIaIcx7je7NYOULPF1rTpw==", "requires": { "tslib": "^1.7.1" @@ -886,7 +901,6 @@ "version": "7.9.6", "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.9.6.tgz", "integrity": "sha512-5QPTrNen2bm7RBc7dsOmcA5hbrS4O2Vhmk5XOL4zWW/zD/hV0iinpefDlkm+tBBy8kDtFaaeEvmAqt+nURAV2g==", - "dev": true, "requires": { "browserslist": "^4.11.1", "invariant": "^2.2.4", @@ -897,7 +911,6 @@ "version": "4.12.0", "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", - "dev": true, "requires": { "caniuse-lite": "^1.0.30001043", "electron-to-chromium": "^1.3.413", @@ -908,8 +921,7 @@ "caniuse-lite": { "version": "1.0.30001066", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001066.tgz", - "integrity": "sha512-Gfj/WAastBtfxLws0RCh2sDbTK/8rJuSeZMecrSkNGYxPcv7EzblmDGfWQCFEQcSqYE2BRgQiJh8HOD07N5hIw==", - "dev": true + "integrity": "sha512-Gfj/WAastBtfxLws0RCh2sDbTK/8rJuSeZMecrSkNGYxPcv7EzblmDGfWQCFEQcSqYE2BRgQiJh8HOD07N5hIw==" } } }, @@ -1798,6 +1810,24 @@ } } }, + "@babel/runtime-corejs3": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.5.tgz", + "integrity": "sha512-roGr54CsTmNPPzZoCP1AmDXuBoNao7tnSA83TXTwt+UK5QVyh1DIJnrgYRPWKCF2flqZQXwa7Yr8v7VmLzF0YQ==", + "dev": true, + "requires": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + } + } + }, "@babel/template": { "version": "7.8.6", "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", @@ -2004,6 +2034,11 @@ "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==", "dev": true }, + "@types/d3": { + "version": "3.5.44", + "resolved": "https://registry.npmjs.org/@types/d3/-/d3-3.5.44.tgz", + "integrity": "sha512-hFEcf03YGJ2uQoDYEp3nFD5mXWxly5kf6KOstuOQFEs9sUCN7kNlKhcYkpZ3gK6PiHz4XRLkoHa80NVCJNeLBw==" + }, "@types/estree": { "version": "0.0.39", "resolved": "https://nexus.teamdlab.com/repository/npm/@types/estree/-/estree-0.0.39.tgz", @@ -2489,11 +2524,16 @@ "version": "3.2.1", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, "requires": { "color-convert": "^1.9.0" } }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true + }, "anymatch": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", @@ -2684,6 +2724,25 @@ "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", "dev": true }, + "assertion-error-formatter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/assertion-error-formatter/-/assertion-error-formatter-3.0.0.tgz", + "integrity": "sha512-6YyAVLrEze0kQ7CmJfUgrLHb+Y7XghmL2Ie7ijVa2Y9ynP3LV+VDiwFk62Dn0qtqbmY0BT0ss6p1xxpiF2PYbQ==", + "dev": true, + "requires": { + "diff": "^4.0.1", + "pad-right": "^0.2.2", + "repeat-string": "^1.6.1" + }, + "dependencies": { + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + } + } + }, "assign-symbols": { "version": "1.0.0", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/assign-symbols/-/assign-symbols-1.0.0.tgz", @@ -2742,18 +2801,74 @@ "dev": true }, "autoprefixer": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.6.1.tgz", - "integrity": "sha512-aVo5WxR3VyvyJxcJC3h4FKfwCQvQWb1tSI5VHNibddCVWrcD1NvlxEweg3TSgiPztMnWfjpy2FURKA2kvDE+Tw==", - "dev": true, + "version": "9.8.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", + "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", "requires": { - "browserslist": "^4.6.3", - "caniuse-lite": "^1.0.30000980", - "chalk": "^2.4.2", + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "colorette": "^1.2.1", "normalize-range": "^0.1.2", "num2fraction": "^1.2.2", - "postcss": "^7.0.17", - "postcss-value-parser": "^4.0.0" + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + }, + "dependencies": { + "browserslist": { + "version": "4.14.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.7.tgz", + "integrity": "sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ==", + "requires": { + "caniuse-lite": "^1.0.30001157", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.591", + "escalade": "^3.1.1", + "node-releases": "^1.1.66" + } + }, + "caniuse-lite": { + "version": "1.0.30001161", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001161.tgz", + "integrity": "sha512-JharrCDxOqPLBULF9/SPa6yMcBRTjZARJ6sc3cuKrPfyIk64JN6kuMINWqA99Xc8uElMFcROliwtz0n9pYej+g==" + }, + "electron-to-chromium": { + "version": "1.3.609", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.609.tgz", + "integrity": "sha512-kcmRWmlHsUKKLfsSKSf7VqeTX4takM5ndjVTM3et3qpDCceITYI1DixvIfSDIngALoaTnpoMXD3SXSMpzHkYKA==" + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==" + }, + "node-releases": { + "version": "1.1.67", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.67.tgz", + "integrity": "sha512-V5QF9noGFl3EymEwUYzO+3NTDpGfQB4ve6Qfnzf3UNydMhjQRVPR1DZTuvWiLzaFJYw2fmDwAfnRNEVb64hSIg==" + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } } }, "aws-sign2": { @@ -2924,6 +3039,12 @@ "tweetnacl": "^0.14.3" } }, + "becke-ch--regex--s0-0-v1--base--pl--lib": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/becke-ch--regex--s0-0-v1--base--pl--lib/-/becke-ch--regex--s0-0-v1--base--pl--lib-1.4.0.tgz", + "integrity": "sha1-Qpzuu/pffpNueNc/vcfacWKyDiA=", + "dev": true + }, "better-assert": { "version": "1.0.2", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/better-assert/-/better-assert-1.0.2.tgz", @@ -3574,11 +3695,18 @@ "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, + "chainsaw": { + "version": "0.0.9", + "resolved": "https://registry.npmjs.org/chainsaw/-/chainsaw-0.0.9.tgz", + "integrity": "sha1-EaBRAtHEx4W20EFdM21aOhYSkT4=", + "requires": { + "traverse": ">=0.3.0 <0.4" + } + }, "chalk": { "version": "2.4.2", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, "requires": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", @@ -3589,7 +3717,6 @@ "version": "5.5.0", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/supports-color/-/supports-color-5.5.0.tgz", "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, "requires": { "has-flag": "^3.0.0" } @@ -3732,6 +3859,50 @@ "restore-cursor": "^3.1.0" } }, + "cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "dev": true, + "requires": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, "cli-width": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", @@ -3860,7 +4031,6 @@ "version": "1.9.3", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, "requires": { "color-name": "1.1.3" } @@ -3868,14 +4038,12 @@ "color-name": { "version": "1.1.3", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" }, "colorette": { "version": "1.2.1", "resolved": "https://nexus.teamdlab.com/repository/npm/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", - "dev": true + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==" }, "colors": { "version": "1.1.2", @@ -3895,8 +4063,7 @@ "commander": { "version": "2.20.3", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" }, "commondir": { "version": "1.0.1", @@ -4170,6 +4337,12 @@ "yallist": "^3.0.2" } }, + "serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", + "dev": true + }, "yallist": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", @@ -4201,6 +4374,12 @@ } } }, + "core-js-pure": { + "version": "3.8.0", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.8.0.tgz", + "integrity": "sha512-fRjhg3NeouotRoIV0L1FdchA6CK7ZD+lyINyMoz19SyV+ROpC4noS1xItWHFtwZdlqfMfVPJEyEGdfri2bD1pA==", + "dev": true + }, "core-util-is": { "version": "1.0.2", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/core-util-is/-/core-util-is-1.0.2.tgz", @@ -4564,6 +4743,83 @@ "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", "dev": true }, + "cucumber": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cucumber/-/cucumber-6.0.5.tgz", + "integrity": "sha512-x+W9Fwk6TvcapQsYMxwFU5AsQJDOIJVGrPKmH15OC7jzb9/Dk7Hb0ZAyw4WcpaDcUDRc8bi2k2yJejDp5eTRlg==", + "dev": true, + "requires": { + "assertion-error-formatter": "^3.0.0", + "bluebird": "^3.4.1", + "cli-table3": "^0.5.1", + "colors": "^1.1.2", + "commander": "^3.0.1", + "cucumber-expressions": "^8.1.0", + "cucumber-tag-expressions": "^2.0.2", + "duration": "^0.2.1", + "escape-string-regexp": "^2.0.0", + "figures": "^3.0.0", + "gherkin": "5.0.0", + "glob": "^7.1.3", + "indent-string": "^4.0.0", + "is-generator": "^1.0.2", + "is-stream": "^2.0.0", + "knuth-shuffle-seeded": "^1.0.6", + "lodash": "^4.17.14", + "mz": "^2.4.0", + "progress": "^2.0.0", + "resolve": "^1.3.3", + "serialize-error": "^4.1.0", + "stack-chain": "^2.0.0", + "stacktrace-js": "^2.0.0", + "string-argv": "^0.3.0", + "title-case": "^2.1.1", + "util-arity": "^1.0.2", + "verror": "^1.9.0" + }, + "dependencies": { + "commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", + "dev": true + }, + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + } + } + }, + "cucumber-expressions": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/cucumber-expressions/-/cucumber-expressions-8.3.0.tgz", + "integrity": "sha512-cP2ya0EiorwXBC7Ll7Cj7NELYbasNv9Ty42L4u7sso9KruWemWG1ZiTq4PMqir3SNDSrbykoqI5wZgMbLEDjLQ==", + "dev": true, + "requires": { + "becke-ch--regex--s0-0-v1--base--pl--lib": "^1.4.0", + "xregexp": "^4.2.4" + } + }, + "cucumber-tag-expressions": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/cucumber-tag-expressions/-/cucumber-tag-expressions-2.0.3.tgz", + "integrity": "sha512-+x5j1IfZrBtbvYHuoUX0rl4nUGxaey6Do9sM0CABmZfDCcWXuuRm1fQeCaklIYQgOFHQ6xOHvDSdkMHHpni6tQ==", + "dev": true + }, "cuint": { "version": "0.2.2", "resolved": "https://nexus.teamdlab.com/repository/npm/cuint/-/cuint-0.2.2.tgz", @@ -4591,6 +4847,26 @@ "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", "dev": true }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "d3": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/d3/-/d3-3.5.17.tgz", + "integrity": "sha1-vEZ0gAQ3iyGjYMn8fPUjF5B2L7g=" + }, + "d3-svg-legend": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/d3-svg-legend/-/d3-svg-legend-1.13.0.tgz", + "integrity": "sha1-YhdHjJrdnWLLMzYX4ZYTEaQaTbM=" + }, "damerau-levenshtein": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", @@ -4984,6 +5260,16 @@ "stream-shift": "^1.0.0" } }, + "duration": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/duration/-/duration-0.2.2.tgz", + "integrity": "sha512-06kgtea+bGreF5eKYgI/36A6pLXggY7oR4p1pq4SmdFBn1ReOL5D8RhG64VrqfTTKNucqqtBAwEj8aB88mcqrg==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.46" + } + }, "ecc-jsbn": { "version": "0.1.2", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", @@ -5009,8 +5295,7 @@ "electron-to-chromium": { "version": "1.3.452", "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.452.tgz", - "integrity": "sha512-IdbjgCEqDvcU/1kUQa6C49I2NZOY3SBmU9Eus7mdFdJJBqn0Lg1Epfi/T4nqVcxTNBEGhcjwMhY1EysMBsXZrw==", - "dev": true + "integrity": "sha512-IdbjgCEqDvcU/1kUQa6C49I2NZOY3SBmU9Eus7mdFdJJBqn0Lg1Epfi/T4nqVcxTNBEGhcjwMhY1EysMBsXZrw==" }, "elliptic": { "version": "6.5.2", @@ -5213,6 +5498,15 @@ "is-arrayish": "^0.2.1" } }, + "error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "dev": true, + "requires": { + "stackframe": "^1.1.1" + } + }, "es-abstract": { "version": "1.17.5", "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", @@ -5243,6 +5537,28 @@ "is-symbol": "^1.0.2" } }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, "es6-promise": { "version": "4.2.8", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/es6-promise/-/es6-promise-4.2.8.tgz", @@ -5258,6 +5574,16 @@ "es6-promise": "^4.0.3" } }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, "escalade": { "version": "3.0.2", "resolved": "https://nexus.teamdlab.com/repository/npm/escalade/-/escalade-3.0.2.tgz", @@ -5279,8 +5605,7 @@ "escape-string-regexp": { "version": "1.0.5", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" }, "eslint-scope": { "version": "4.0.3", @@ -5485,6 +5810,23 @@ } } }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz", + "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==", + "dev": true + } + } + }, "extend": { "version": "3.0.2", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/extend/-/extend-3.0.2.tgz", @@ -6028,6 +6370,15 @@ "globule": "^1.0.0" } }, + "generate-schema": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/generate-schema/-/generate-schema-2.6.0.tgz", + "integrity": "sha512-EUBKfJNzT8f91xUk5X5gKtnbdejZeE065UAJ3BCzE8VEbvwKI9Pm5jaWmqVeK1MYc1g5weAVFDTSJzN7ymtTqA==", + "requires": { + "commander": "^2.9.0", + "type-of-is": "^3.4.0" + } + }, "genfun": { "version": "5.0.0", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/genfun/-/genfun-5.0.0.tgz", @@ -6076,6 +6427,12 @@ "assert-plus": "^1.0.0" } }, + "gherkin": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gherkin/-/gherkin-5.0.0.tgz", + "integrity": "sha1-lt70EZjsOQgli1Ea909lWidk0qE=", + "dev": true + }, "glob": { "version": "7.1.3", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/glob/-/glob-7.1.3.tgz", @@ -6273,8 +6630,7 @@ "has-flag": { "version": "3.0.0", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" }, "has-symbols": { "version": "1.0.1", @@ -6386,6 +6742,14 @@ "minimalistic-assert": "^1.0.1" } }, + "hashish": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/hashish/-/hashish-0.0.4.tgz", + "integrity": "sha1-bWC8b/r3Ebav1g5CbQd5iAFOZVQ=", + "requires": { + "traverse": ">=0.2.4" + } + }, "he": { "version": "1.2.0", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/he/-/he-1.2.0.tgz", @@ -6826,7 +7190,6 @@ "version": "2.2.4", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/invariant/-/invariant-2.2.4.tgz", "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "dev": true, "requires": { "loose-envify": "^1.0.0" } @@ -7001,6 +7364,12 @@ "number-is-nan": "^1.0.0" } }, + "is-generator": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-generator/-/is-generator-1.0.3.tgz", + "integrity": "sha1-wUwhBX7TbjKNuANHlmxpP4hjifM=", + "dev": true + }, "is-glob": { "version": "4.0.1", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/is-glob/-/is-glob-4.0.1.tgz", @@ -7432,8 +7801,7 @@ "js-tokens": { "version": "3.0.2", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/js-tokens/-/js-tokens-3.0.2.tgz", - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "dev": true + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" }, "js-yaml": { "version": "3.13.1", @@ -7844,6 +8212,15 @@ "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", "dev": true }, + "knuth-shuffle-seeded": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/knuth-shuffle-seeded/-/knuth-shuffle-seeded-1.0.6.tgz", + "integrity": "sha1-AfG2VzOqdUDuCNiwF0Fk0iCB5OE=", + "dev": true, + "requires": { + "seed-random": "~2.2.0" + } + }, "latest-version": { "version": "5.1.0", "resolved": "https://nexus.teamdlab.com/repository/npm/latest-version/-/latest-version-5.1.0.tgz", @@ -8046,7 +8423,6 @@ "version": "1.4.0", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, "requires": { "js-tokens": "^3.0.0 || ^4.0.0" } @@ -8061,6 +8437,12 @@ "signal-exit": "^3.0.0" } }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, "lowercase-keys": { "version": "1.0.1", "resolved": "https://nexus.teamdlab.com/repository/npm/lowercase-keys/-/lowercase-keys-1.0.1.tgz", @@ -8595,6 +8977,17 @@ "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, "nan": { "version": "2.14.1", "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", @@ -8639,6 +9032,12 @@ "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", "dev": true }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, "ng-packagr": { "version": "9.1.5", "resolved": "https://nexus.teamdlab.com/repository/npm/ng-packagr/-/ng-packagr-9.1.5.tgz", @@ -9031,6 +9430,59 @@ } } }, + "ng2-date-picker": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/ng2-date-picker/-/ng2-date-picker-8.0.0.tgz", + "integrity": "sha512-JSYeyk5YoQOCYRheAA8yykZBCwgb0p/Y8vqaV8bsNIpZr8cOw5gIksu8IDt3VqJHwQlzSAB5t2c+yzLyPmMJ2Q==", + "requires": { + "moment": "^2.24.0", + "tslib": "^1.9.0" + } + }, + "ng2-file-upload": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ng2-file-upload/-/ng2-file-upload-1.4.0.tgz", + "integrity": "sha512-3J/KPU/tyh/ad6TFeUbrxX+SihUj0iOEt2Zsg4EX7mB3GFiQscXOfcUOxCkBtPWWWaqt3azrYbVGzsYa3/7NzQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "ng2-nvd3": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ng2-nvd3/-/ng2-nvd3-2.0.0.tgz", + "integrity": "sha512-QVpqYdtu4GAXhst4M3NQvLc5PL2BnBpgHyjnwdMkci1XmYTK7dUlzkmBLYCERHg0SMcUI9tdML/R9kGE2BHSUg==", + "requires": { + "d3": "^3.5.15", + "nvd3": "^1.8.5", + "reflect-metadata": "^0.1.10", + "rxjs": "5.2.0" + }, + "dependencies": { + "rxjs": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-5.2.0.tgz", + "integrity": "sha1-21N96HZ8BfpzchWHop4AhTB9MYs=", + "requires": { + "symbol-observable": "^1.0.1" + } + } + } + }, + "ng2-tooltip-directive": { + "version": "2.9.22", + "resolved": "https://registry.npmjs.org/ng2-tooltip-directive/-/ng2-tooltip-directive-2.9.22.tgz", + "integrity": "sha512-y54rP/AHKkcS/+lZPGil9uirbfWrbhS8vE1GWswB08sVfT4ztu2h6SmIf7cJM1YenTaWYvYfKth9oZQJljXV5Q==", + "requires": { + "tslib": "^2.0.0" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, "ngx-color-picker": { "version": "9.1.0", "resolved": "https://nexus.teamdlab.com/repository/npm/ngx-color-picker/-/ngx-color-picker-9.1.0.tgz", @@ -9084,12 +9536,45 @@ "tslib": "^1.9.0" } }, + "ngx-spinner": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/ngx-spinner/-/ngx-spinner-8.1.0.tgz", + "integrity": "sha512-VtIcKsxe+cNj9zCelNesSJZ/xarjxKL86GQG9h4JM++/Hf7HUJtPDBWXZ6lBk0CpgWdJ4++XX3aeOntI92ApEw==", + "requires": { + "tslib": "^1.9.0" + } + }, + "ngx-toastr": { + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/ngx-toastr/-/ngx-toastr-11.3.3.tgz", + "integrity": "sha512-DbLFkSZHsVPuuIIrsY1ziEhdkFUQ0V1yG1N0+1nKXGI5QBVesEDxLUVtntjzxJcWw/uUV+bKApo//tGHHORabQ==", + "requires": { + "tslib": "^1.9.0" + } + }, + "ngx-ui-loader": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/ngx-ui-loader/-/ngx-ui-loader-8.0.0.tgz", + "integrity": "sha512-yD4Vc3NjMs9N3vCFTdGMoAfcDML5ns0cXYVvR9/0WAQt6/AhN86wZcrNA0/2kj23ozy8o8SVftWEaMS9tEP8Kw==", + "requires": { + "tslib": "^1.9.0" + } + }, "nice-try": { "version": "1.0.5", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/nice-try/-/nice-try-1.0.5.tgz", "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", "dev": true }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, "node-fetch-npm": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz", @@ -9182,8 +9667,7 @@ "node-releases": { "version": "1.1.56", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.56.tgz", - "integrity": "sha512-EVo605FhWLygH8a64TjgpjyHYOihkxECwX1bHHr8tETJKWEiWS2YJjPbvsX2jFjnjTNEgBCmk9mLjKG1Mf11cw==", - "dev": true + "integrity": "sha512-EVo605FhWLygH8a64TjgpjyHYOihkxECwX1bHHr8tETJKWEiWS2YJjPbvsX2jFjnjTNEgBCmk9mLjKG1Mf11cw==" }, "node-sass": { "version": "4.14.1", @@ -9270,8 +9754,7 @@ "normalize-range": { "version": "0.1.2", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" }, "normalize-url": { "version": "1.9.1", @@ -9402,8 +9885,7 @@ "num2fraction": { "version": "1.2.2", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" }, "number-is-nan": { "version": "1.0.1", @@ -9411,6 +9893,11 @@ "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", "dev": true }, + "nvd3": { + "version": "1.8.6", + "resolved": "https://registry.npmjs.org/nvd3/-/nvd3-1.8.6.tgz", + "integrity": "sha1-LT66dL8zNjtRAevx0JPFmlOuc8Q=" + }, "oauth-sign": { "version": "0.9.0", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -9795,6 +10282,15 @@ } } }, + "pad-right": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/pad-right/-/pad-right-0.2.2.tgz", + "integrity": "sha1-b7ySQEXSRPKiokRQMGDTv8YAl3Q=", + "dev": true, + "requires": { + "repeat-string": "^1.5.2" + } + }, "pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", @@ -10009,7 +10505,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", - "dev": true, "requires": { "find-up": "^2.1.0" }, @@ -10018,7 +10513,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", - "dev": true, "requires": { "locate-path": "^2.0.0" } @@ -10027,7 +10521,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", - "dev": true, "requires": { "p-locate": "^2.0.0", "path-exists": "^3.0.0" @@ -10037,7 +10530,6 @@ "version": "1.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", - "dev": true, "requires": { "p-try": "^1.0.0" } @@ -10046,7 +10538,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", - "dev": true, "requires": { "p-limit": "^1.1.0" } @@ -10054,14 +10545,12 @@ "p-try": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" }, "path-exists": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" } } }, @@ -10198,8 +10687,7 @@ "postcss-value-parser": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==" }, "prepend-http": { "version": "1.0.4", @@ -10583,6 +11071,41 @@ } } }, + "protractor-cucumber-framework": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/protractor-cucumber-framework/-/protractor-cucumber-framework-6.2.1.tgz", + "integrity": "sha512-ZKOvX0Yoq2aL1nrlX5RzeHB9jtWGGiuaqqTPUvPXpyAFbrs3wfDAmMwrdWjg8m62wEhamZMVQIYqSPMPd9obMw==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "glob": "^7.1.2", + "q": "^1.5.1", + "tmp": "^0.0.33" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + } + } + }, "proxy-addr": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", @@ -10785,7 +11308,6 @@ "version": "2.1.0", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, "requires": { "safe-buffer": "^5.1.0" } @@ -10981,8 +11503,7 @@ "reflect-metadata": { "version": "0.1.13", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", - "dev": true + "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==" }, "regenerate": { "version": "1.4.0", @@ -11090,6 +11611,14 @@ } } }, + "remove": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/remove/-/remove-0.1.5.tgz", + "integrity": "sha1-CV/9gn1lyfQa2X0z5BanWBEHmVU=", + "requires": { + "seq": ">= 0.3.5" + } + }, "remove-trailing-separator": { "version": "1.1.0", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", @@ -11314,8 +11843,7 @@ "safe-buffer": { "version": "5.1.2", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "dev": true + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "safe-regex": { "version": "1.1.0", @@ -11410,6 +11938,12 @@ "source-map": "^0.4.2" } }, + "seed-random": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/seed-random/-/seed-random-2.2.0.tgz", + "integrity": "sha1-KpsZ4lCoFwmSMaW5mk2vgLf77VQ=", + "dev": true + }, "select-hose": { "version": "2.0.0", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/select-hose/-/select-hose-2.0.0.tgz", @@ -11451,8 +11985,7 @@ "semver": { "version": "5.7.1", "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" }, "semver-diff": { "version": "3.1.1", @@ -11518,11 +12051,39 @@ } } }, + "seq": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/seq/-/seq-0.3.5.tgz", + "integrity": "sha1-rgKvOkJHk9jMvyEtaRdODFTf/jg=", + "requires": { + "chainsaw": ">=0.0.7 <0.1", + "hashish": ">=0.0.2 <0.1" + } + }, + "serialize-error": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-4.1.0.tgz", + "integrity": "sha512-5j9GgyGsP9vV9Uj1S0lDCvlsd+gc2LEPVK7HHHte7IyPwOD4lVQFeaX143gx3U5AnoCi+wbcb3mvaxVysjpxEw==", + "dev": true, + "requires": { + "type-fest": "^0.3.0" + }, + "dependencies": { + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "dev": true + } + } + }, "serialize-javascript": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", - "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", - "dev": true + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "requires": { + "randombytes": "^2.1.0" + } }, "serve-index": { "version": "1.9.1", @@ -12265,6 +12826,56 @@ "figgy-pudding": "^3.5.1" } }, + "stack-chain": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-2.0.0.tgz", + "integrity": "sha512-GGrHXePi305aW7XQweYZZwiRwR7Js3MWoK/EHzzB9ROdc75nCnjSJVi21rdAGxFl+yCx2L2qdfl5y7NO4lTyqg==", + "dev": true + }, + "stack-generator": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.5.tgz", + "integrity": "sha512-/t1ebrbHkrLrDuNMdeAcsvynWgoH/i4o8EGGfX7dEYDoTXOYVAkEpFdtshlvabzc6JlJ8Kf9YdFEoz7JkzGN9Q==", + "dev": true, + "requires": { + "stackframe": "^1.1.1" + } + }, + "stackframe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", + "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", + "dev": true + }, + "stacktrace-gps": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.0.4.tgz", + "integrity": "sha512-qIr8x41yZVSldqdqe6jciXEaSCKw1U8XTXpjDuy0ki/apyTn/r3w9hDAAQOhZdxvsC93H+WwwEu5cq5VemzYeg==", + "dev": true, + "requires": { + "source-map": "0.5.6", + "stackframe": "^1.1.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + } + } + }, + "stacktrace-js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz", + "integrity": "sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==", + "dev": true, + "requires": { + "error-stack-parser": "^2.0.6", + "stack-generator": "^2.0.5", + "stacktrace-gps": "^3.0.4" + } + }, "static-extend": { "version": "0.1.2", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/static-extend/-/static-extend-0.1.2.tgz", @@ -12391,6 +13002,12 @@ "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", "dev": true }, + "string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true + }, "string-width": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", @@ -12591,8 +13208,7 @@ "symbol-observable": { "version": "1.2.0", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true + "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==" }, "tapable": { "version": "1.1.3", @@ -12664,6 +13280,12 @@ "pkg-dir": "^3.0.0" } }, + "serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", + "dev": true + }, "source-map": { "version": "0.6.1", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/source-map/-/source-map-0.6.1.tgz", @@ -12672,6 +13294,24 @@ } } }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, "through": { "version": "2.3.8", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/through/-/through-2.3.8.tgz", @@ -12703,6 +13343,16 @@ "setimmediate": "^1.0.4" } }, + "title-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz", + "integrity": "sha1-PhJyFtpY0rxb7PE3q5Ha46fNj6o=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.0.3" + } + }, "tmp": { "version": "0.0.33", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/tmp/-/tmp-0.0.33.tgz", @@ -12807,6 +13457,11 @@ } } }, + "traverse": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/traverse/-/traverse-0.3.9.tgz", + "integrity": "sha1-cXuPIgzAu3tE5AUUwisui7xw2Lk=" + }, "tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", @@ -12919,6 +13574,12 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, "type-fest": { "version": "0.11.0", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", @@ -12935,6 +13596,11 @@ "mime-types": "~2.1.24" } }, + "type-of-is": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/type-of-is/-/type-of-is-3.5.1.tgz", + "integrity": "sha1-7sL8ibgo2/mQDrZBbu4w9P4PzTE=" + }, "typedarray": { "version": "0.0.6", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/typedarray/-/typedarray-0.0.6.tgz", @@ -12964,7 +13630,7 @@ }, "ui-frontend-common": { "version": "file:../ui-frontend-common/ui-frontend-common-0.1.0.tgz", - "integrity": "sha512-wY+WkyoMe7RllQ8gIdculWTweuSgnMwhdTzrKMyqOxprLTObj2FBRLm95va/3JNMgAuWf5/d7VlSObjjgjnusg==", + "integrity": "sha512-haSdmXRV7+qyN3XBNgRVbnh7TBKdfr1g5rkz4W5qvr5eQAEM8zybQVmPUPmWCEtTbMteuE/h0SJjPD9I9EAKTQ==", "requires": { "@angular/animations": "8.2.14", "@angular/cdk": "^8.2.3", @@ -13232,6 +13898,12 @@ } } }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, "uri-js": { "version": "4.2.2", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/uri-js/-/uri-js-4.2.2.tgz", @@ -13323,6 +13995,12 @@ } } }, + "util-arity": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/util-arity/-/util-arity-1.1.0.tgz", + "integrity": "sha1-WdAa8f2z/t4KxOYysKtfbOl8kzA=", + "dev": true + }, "util-deprecate": { "version": "1.0.2", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/util-deprecate/-/util-deprecate-1.0.2.tgz", @@ -14363,6 +15041,15 @@ "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", "dev": true }, + "xregexp": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.4.0.tgz", + "integrity": "sha512-83y4aa8o8o4NZe+L+46wpa+F1cWR/wCGOWI3tzqUso0w3/KAvXy0+Di7Oe/cbNMixDR4Jmi7NEybWU6ps25Wkg==", + "dev": true, + "requires": { + "@babel/runtime-corejs3": "^7.12.1" + } + }, "xtend": { "version": "4.0.2", "resolved": "https://nexus.dev.programmevitam.fr/repository/npm-group/xtend/-/xtend-4.0.2.tgz", diff --git a/ui/ui-frontend/package.json b/ui/ui-frontend/package.json index 21e858692f8e8f78f89fdfbe19dc842d8b2946a8..9ddd337a6c1885a82215e5917fa5943090c33a51 100644 --- a/ui/ui-frontend/package.json +++ b/ui/ui-frontend/package.json @@ -15,6 +15,7 @@ "start:portal": "ng serve portal --proxy-config proxy.conf.json --disable-host-check --ssl --ssl-key $npm_package_pki_path/$npm_package_pki_asset.key --ssl-cert $npm_package_pki_path/$npm_package_pki_asset.crt", "start:identity": "ng serve identity --proxy-config proxy.conf.json --disable-host-check --ssl --ssl-key $npm_package_pki_path/$npm_package_pki_asset.key --ssl-cert $npm_package_pki_path/$npm_package_pki_asset.crt", "start:referential": "ng serve referential --proxy-config proxy.conf.json --disable-host-check --ssl --ssl-key $npm_package_pki_path/$npm_package_pki_asset.key --ssl-cert $npm_package_pki_path/$npm_package_pki_asset.crt", + "start:pastis": "ng serve pastis --proxy-config proxy.conf.json --disable-host-check --ssl --ssl-key dev-ssl/server.key --ssl-cert dev-ssl/server.crt", "build": "ng build --prod --i18n-locale fr --build-optimizer=false --optimization=false", "postinstall": "npm run build:vitamui-library", "build:prod": "export NODE_OPTIONS=--max_old_space_size=4096; ng build --prod --i18n-locale fr --output-path ../../../target/www", @@ -26,6 +27,7 @@ "build:portal": "export NODE_OPTIONS=--max_old_space_size=4096; ng build portal --prod --i18n-locale fr", "build:identity": "export NODE_OPTIONS=--max_old_space_size=4096; ng build identity --prod --i18n-locale fr", "build:referential": "export NODE_OPTIONS=--max_old_space_size=4096; ng build referential --prod --i18n-locale fr", + "build:pastis": "export NODE_OPTIONS=--max_old_space_size=4096 ; ng build pastis --prod --i18n-locale fr ", "analyze-portal": "ng build portal --stats-json --prod --i18n-locale fr ; webpack-bundle-analyzer dist/portal/stats-es2015.json", "analyze-identity": "ng build identity --stats-json --prod --i18n-locale fr ; webpack-bundle-analyzer dist/identity/stats-es2015.json", "analyze-referential": "ng build referential --stats-json --prod --i18n-locale fr ; webpack-bundle-analyzer dist/referential/stats-es2015.json", @@ -88,7 +90,22 @@ "utf-8-validate": "^5.0.2", "uuid": "^7.0.2", "web-animations-js": "^2.3.2", - "zone.js": "~0.9.1" + "zone.js": "~0.9.1", + "ng2-date-picker": "^8.0.0", + "ng2-file-upload": "^1.4.0", + "ng2-nvd3": "^2.0.0", + "ng2-tooltip-directive": "^2.9.20", + "ngx-spinner": "8.1.0", + "ngx-toastr": "^11.3.3", + "ngx-ui-loader": "^8.0.0", + "d3": "^3.5.17", + "d3-svg-legend": "^1.13.0", + "generate-schema": "^2.6.0", + "serialize-javascript": "^5.0.1", + "remove": "^0.1.5", + "@babel/compat-data": "^7.8.0", + "@types/d3": "^3.5.43", + "autoprefixer": "^9.7.5" }, "devDependencies": { "@angular-devkit/build-angular": "^0.803.26", @@ -113,12 +130,14 @@ "ng-packagr": "^9.0.0", "ngx-i18nsupport": "^0.17.1", "node-sass": "^4.14.1", - "protractor": "^7.0.0", + "protractor": "7.0.0", "puppeteer": "^1.2.0", "ts-node": "~7.0.1", "tsickle": "^0.37.0", "tslint": "~5.11.0", "typescript": "~3.5.3", - "webpack-bundle-analyzer": "^3.8.0" + "webpack-bundle-analyzer": "^3.8.0", + "cucumber": "^6.0.5", + "protractor-cucumber-framework": "^6.2.1" } } diff --git a/ui/ui-frontend/projects/pastis/README.md b/ui/ui-frontend/projects/pastis/README.md new file mode 100644 index 0000000000000000000000000000000000000000..9edc8ea5bd3881395ced7b3e1633278f2b2ad899 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/README.md @@ -0,0 +1,27 @@ +# LocationLayout + +This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 8.0.4. + +## Development server + +Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. + +## Code scaffolding + +Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. + +## Build + +Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build. + +## Running unit tests + +Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). + +## Running end-to-end tests + +Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/). + +## Further help + +To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md). diff --git a/ui/ui-frontend/projects/pastis/browserslist b/ui/ui-frontend/projects/pastis/browserslist new file mode 100644 index 0000000000000000000000000000000000000000..80848532e47d58cc7a4b618f600b438960f9f045 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/browserslist @@ -0,0 +1,12 @@ +# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. +# For additional information regarding the format and rule options, please see: +# https://github.com/browserslist/browserslist#queries + +# You can see what browsers were selected by your queries by running: +# npx browserslist + +> 0.5% +last 2 versions +Firefox ESR +not dead +not IE 9-11 # For IE 9-11 support, remove 'not'. \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/class/async-utils.ts b/ui/ui-frontend/projects/pastis/e2e/class/async-utils.ts new file mode 100644 index 0000000000000000000000000000000000000000..b459fecb4e2d9ee18f875fcb69bf3e33f03dfdc5 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/class/async-utils.ts @@ -0,0 +1,70 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +export default class AsyncUtils { + public static map<T1, T2>( + array: T1[], + callback: (value: T1, index: number, array: T1[]) => Promise<T2>, + ): Promise<T2[]> { + return Promise.all(array.map(callback)); + } + + public static async forEach<T>( + array: T[], + callback: (value: T, index: number, array: T[]) => void, + ) { + await Promise.all(array.map(callback)); + } + + public static async filter<T>( + array: T[], + callback: (value: T, index: number, array: T[]) => Promise<boolean>, + ): Promise<T[]> { + const filterMap = await AsyncUtils.map(array, callback); + return array.filter((_, index) => filterMap[index]); + } + + public static async find<T>( + array: T[], + callback: (value: T, index: number, array: T[]) => Promise<boolean>, + ): Promise<T> { + const results = await AsyncUtils.map(array,callback); + const index = results.findIndex(result => result); + return array[index]; + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/features/export-default-profile.feature b/ui/ui-frontend/projects/pastis/e2e/features/export-default-profile.feature new file mode 100644 index 0000000000000000000000000000000000000000..03517490ef6929cb7f6bdefb86d988d34c74e9b7 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/features/export-default-profile.feature @@ -0,0 +1,5 @@ +Feature: Export profile + Scenario: Open Pastis and Export default profile + Given The user goes to the homepage + Then The user clicks on the export button + Then The RNG file is downloaded \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/features/navigation.feature b/ui/ui-frontend/projects/pastis/e2e/features/navigation.feature new file mode 100644 index 0000000000000000000000000000000000000000..3ea462e7bdd22acbc901bc24db4cc0898a07c765 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/features/navigation.feature @@ -0,0 +1,75 @@ +Feature: Navigate Profile + Scenario: Open Pastis and Click stuff around.. + Given The user goes to the homepage + Then The user clicks on "ARBORESCENCE" tab + Then The user navigates to "ArchiveUnit,Content" + Then The user writes "YAHOOO" in the field "valeurFixe" of the metadata "Title" + Then The user writes "Fonds" in the field "valeurFixe" of the metadata "DescriptionLevel" + Then The user writes "1" in the field "cardinalite" of the metadata "DescriptionLevel" + Then Verify that the value of the field "valeurFixe" of the metadata "Title" is "YAHOOO" + Then Verify that the value of the field "cardinalite" of the metadata "DescriptionLevel" is "1" + Then Verify that the list of options of the field "valeurFixe" of the metadata "DescriptionLevel" is ",Fonds,Subfonds,Class,Collection,Series,Subseries,RecordGrp,SubGrp,File,Item,OtherLevel" + Then The user clicks on "ENTÊTE" tab + Then The user navigates to "ArchivalAgency,Identifier" + Then The user writes "Super commentaire" in the field "commentaire" of the metadata "Identifier" + Then The user navigates to "ArchivalAgency" + Then The user clicks on Ajouter une métadonnée + Then The user adds the metadata "OrganizationDescriptiveMetadata" + Then The user validates the popup + Then Verify that the list of nodes of "ArchivalAgency" is "Identifier,OrganizationDescriptiveMetadata" + Then The user clicks on "OBJETS" tab + Then The user navigates to "DataObjectGroup" + Then The user clicks on Ajouter une métadonnée + Then The user adds the metadata "PhysicalDataObject" + Then The user validates the popup + Then The user navigates to "DataObjectGroup,PhysicalDataObject" + Then The user clicks on Ajouter une métadonnée + Then The user adds the metadata "PhysicalDimensions" + Then The user validates the popup + Then The user navigates to "DataObjectGroup,PhysicalDataObject,PhysicalDimensions" + Then The user clicks on Ajouter une métadonnée + Then The user adds the metadata "Width" + Then The user adds the metadata "Height" + Then The user adds the metadata "Depth" + Then The user validates the popup + Then Verify that the list of nodes of "DataObjectGroup,PhysicalDataObject,PhysicalDimensions" is "Width,Height,Depth" + Then Open the menu of the metadata "Width" + Then Verify that the list of options in the context menu of the metadata "Width" is "Dupliquer,Attributs de métadonnée,Supprimer" + Then The user clicks on the item "Attributs de métadonnée" of the context menu + Then Verify that the list of options of the field "valeurFixe" of the attribute "unit" is ",micrometre,4H,millimetre,MMT,centimetre,CMT,metre,inch,INH,foot,FOT" + Then The user writes "metre" in the field "valeurFixe" of the attribute "unit" + Then The user writes "Yahoo" in the field "commentaire" of the attribute "unit" + Then The user selects the attributes "unit" + Then The user validates the popup + Then Open the menu of the metadata "Width" + Then The user clicks on the item "Attributs de métadonnée" of the context menu + Then Verify that the list of attributes is "unit" + Then Verify that the selected attributes are "unit" + Then Verify that the value of the field "valeurFixe" of the attribute "unit" is "metre" + Then Verify that the value of the field "commentaire" of the attribute "unit" is "Yahoo" + Then Close the popup + Then The user clicks on "ENTÊTE" tab + Then Open the menu of the metadata "MessageIdentifier" + Then Verify that the list of options in the context menu of the metadata "MessageIdentifier" is "Dupliquer,Attributs de métadonnée" + Then The user clicks on the item "Attributs de métadonnée" of the context menu + Then Verify that the list of attributes is "schemeID,schemeName,schemeAgencyID,schemeAgencyName,schemeVersionID,schemeDataURI,schemeURI" + Then Verify that the selected attributes are "" + Then The user selects the attributes "schemeID" + Then The user writes "YAHOOO" in the field "valeurFixe" of the attribute "schemeID" + Then Verify that the value of the field "valeurFixe" of the attribute "schemeID" is "YAHOOO" + Then Verify that the selected attributes are "schemeID" + Then The user clicks on Tout sélectionner + Then Verify that the selected attributes are "schemeID,schemeName,schemeAgencyID,schemeAgencyName,schemeVersionID,schemeDataURI,schemeURI" + Then The user validates the popup + Then Open the menu of the metadata "MessageIdentifier" + Then The user clicks on the item "Attributs de métadonnée" of the context menu + Then Verify that the list of attributes is "schemeID,schemeName,schemeAgencyID,schemeAgencyName,schemeVersionID,schemeDataURI,schemeURI" + Then Verify that the selected attributes are "schemeID,schemeName,schemeAgencyID,schemeAgencyName,schemeVersionID,schemeDataURI,schemeURI" + Then The user clicks on Tout sélectionner + Then The user selects the attributes "schemeName" + Then Verify that the selected attributes are "schemeName" + Then The user validates the popup + Then Open the menu of the metadata "MessageIdentifier" + Then The user clicks on the item "Attributs de métadonnée" of the context menu + Then Verify that the selected attributes are "schemeName" + Then Close the popup \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/features/spec.feature b/ui/ui-frontend/projects/pastis/e2e/features/spec.feature new file mode 100644 index 0000000000000000000000000000000000000000..dea0abc6eb4dfcfb5c0d0fa259f28b53c85099b2 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/features/spec.feature @@ -0,0 +1,5 @@ +Feature: TEST POC + Scenario: Pastis 51 + Given The user goes to the homepage + Then The user clicks on "Arborescence" tab + Then The user should see the "Arborescence" tab diff --git a/ui/ui-frontend/projects/pastis/e2e/package-lock.json b/ui/ui-frontend/projects/pastis/e2e/package-lock.json new file mode 100644 index 0000000000000000000000000000000000000000..2c39f95c749bd31b788e955cc1e5c8c40ad17c40 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/package-lock.json @@ -0,0 +1,1816 @@ +{ + "name": "protractor", + "version": "0.0.0-development", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@babel/runtime-corejs3": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.12.1.tgz", + "integrity": "sha512-umhPIcMrlBZ2aTWlWjUseW9LjQKxi1dpFlQS8DzsxB//5K+u6GLTC/JliPKHsd5kJVPIU6X/Hy0YvWOYPcMxBw==", + "dev": true, + "requires": { + "core-js-pure": "^3.0.0", + "regenerator-runtime": "^0.13.4" + } + }, + "@types/chai": { + "version": "4.2.14", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.2.14.tgz", + "integrity": "sha512-G+ITQPXkwTrslfG5L/BksmbLUA0M1iybEsmCWPqzSxsRRhJZimBKJkoMi8fr/CPygPTj4zO5pJH7I2/cm9M7SQ==", + "dev": true + }, + "@types/chai-as-promised": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/chai-as-promised/-/chai-as-promised-7.1.3.tgz", + "integrity": "sha512-FQnh1ohPXJELpKhzjuDkPLR2BZCAqed+a6xV4MI/T3XzHfd2FlarfUGUdZYgqYe8oxkYn0fchHEeHfHqdZ96sg==", + "dev": true, + "requires": { + "@types/chai": "*" + } + }, + "@types/cucumber": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/@types/cucumber/-/cucumber-6.0.1.tgz", + "integrity": "sha512-+GZV6xfN0MeN9shDCdny8GbC8N0+U6uca8cjyaJndcwmrUhwS6qOU2vmYn0d71EOwJF568/v3SxJ8VKxuZNYRw==", + "dev": true + }, + "@types/q": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", + "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", + "dev": true + }, + "@types/selenium-webdriver": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz", + "integrity": "sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==", + "dev": true + }, + "adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", + "dev": true + }, + "agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, + "requires": { + "es6-promisify": "^5.0.0" + } + }, + "ajv": { + "version": "6.12.5", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.5.tgz", + "integrity": "sha512-lRF8RORchjpKG50/WFf8xmg7sgCLFiYNNnqdKflk63whMQcWR5ngGjiSXkL9bjxy6B2npOK2HSMN49jEBMSkag==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true + }, + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true + }, + "arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assertion-error-formatter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/assertion-error-formatter/-/assertion-error-formatter-3.0.0.tgz", + "integrity": "sha512-6YyAVLrEze0kQ7CmJfUgrLHb+Y7XghmL2Ie7ijVa2Y9ynP3LV+VDiwFk62Dn0qtqbmY0BT0ss6p1xxpiF2PYbQ==", + "dev": true, + "requires": { + "diff": "^4.0.1", + "pad-right": "^0.2.2", + "repeat-string": "^1.6.1" + } + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.10.1", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.10.1.tgz", + "integrity": "sha512-zg7Hz2k5lI8kb7U32998pRRFin7zJlkfezGJjUc2heaD4Pw2wObakCDVzkKztTm/Ln7eiVvYsjqak0Ed4LkMDA==", + "dev": true + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "becke-ch--regex--s0-0-v1--base--pl--lib": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/becke-ch--regex--s0-0-v1--base--pl--lib/-/becke-ch--regex--s0-0-v1--base--pl--lib-1.4.0.tgz", + "integrity": "sha1-Qpzuu/pffpNueNc/vcfacWKyDiA=", + "dev": true + }, + "blocking-proxy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", + "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "browserstack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.0.tgz", + "integrity": "sha512-HJDJ0TSlmkwnt9RZ+v5gFpa1XZTBYTj0ywvLwJ3241J7vMw2jAsGNVhKHtmCOyg+VxeLZyaibO9UL71AsUeDIw==", + "dev": true, + "requires": { + "https-proxy-agent": "^2.2.1" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "dev": true, + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "cli-table3": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.5.1.tgz", + "integrity": "sha512-7Qg2Jrep1S/+Q3EceiZtQcDPWxhAvBw+ERf1162v4sikJrvojMHFqXt8QIVha8UlH9rgU0BeWPytZ9/TzYqlUw==", + "dev": true, + "requires": { + "colors": "^1.1.2", + "object-assign": "^4.1.0", + "string-width": "^2.1.1" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", + "dev": true + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "dev": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/commander/-/commander-3.0.2.tgz", + "integrity": "sha512-Gar0ASD4BDyKC4hl4DwHqDrmvjoxWKZigVnAbn5H1owvm4CxCPdb0HQDehwNYMJpla5+M2tPmPARzhtYuwpHow==", + "dev": true + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "dev": true + }, + "core-js-pure": { + "version": "3.6.5", + "resolved": "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.6.5.tgz", + "integrity": "sha512-lacdXOimsiD0QyNf9BC/mxivNJ/ybBGJXQFKzRekp1WTHoVUWsUHEn+2T8GJAzzIhyOuXA+gOxCVN3l+5PLPUA==", + "dev": true + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "cucumber": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cucumber/-/cucumber-6.0.5.tgz", + "integrity": "sha512-x+W9Fwk6TvcapQsYMxwFU5AsQJDOIJVGrPKmH15OC7jzb9/Dk7Hb0ZAyw4WcpaDcUDRc8bi2k2yJejDp5eTRlg==", + "dev": true, + "requires": { + "assertion-error-formatter": "^3.0.0", + "bluebird": "^3.4.1", + "cli-table3": "^0.5.1", + "colors": "^1.1.2", + "commander": "^3.0.1", + "cucumber-expressions": "^8.1.0", + "cucumber-tag-expressions": "^2.0.2", + "duration": "^0.2.1", + "escape-string-regexp": "^2.0.0", + "figures": "^3.0.0", + "gherkin": "5.0.0", + "glob": "^7.1.3", + "indent-string": "^4.0.0", + "is-generator": "^1.0.2", + "is-stream": "^2.0.0", + "knuth-shuffle-seeded": "^1.0.6", + "lodash": "^4.17.14", + "mz": "^2.4.0", + "progress": "^2.0.0", + "resolve": "^1.3.3", + "serialize-error": "^4.1.0", + "stack-chain": "^2.0.0", + "stacktrace-js": "^2.0.0", + "string-argv": "^0.3.0", + "title-case": "^2.1.1", + "util-arity": "^1.0.2", + "verror": "^1.9.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", + "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", + "dev": true + } + } + }, + "cucumber-expressions": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/cucumber-expressions/-/cucumber-expressions-8.3.0.tgz", + "integrity": "sha512-cP2ya0EiorwXBC7Ll7Cj7NELYbasNv9Ty42L4u7sso9KruWemWG1ZiTq4PMqir3SNDSrbykoqI5wZgMbLEDjLQ==", + "dev": true, + "requires": { + "becke-ch--regex--s0-0-v1--base--pl--lib": "^1.4.0", + "xregexp": "^4.2.4" + } + }, + "cucumber-tag-expressions": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/cucumber-tag-expressions/-/cucumber-tag-expressions-2.0.3.tgz", + "integrity": "sha512-+x5j1IfZrBtbvYHuoUX0rl4nUGxaey6Do9sM0CABmZfDCcWXuuRm1fQeCaklIYQgOFHQ6xOHvDSdkMHHpni6tQ==", + "dev": true + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "dev": true + }, + "del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", + "dev": true, + "requires": { + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "dev": true + }, + "duration": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/duration/-/duration-0.2.2.tgz", + "integrity": "sha512-06kgtea+bGreF5eKYgI/36A6pLXggY7oR4p1pq4SmdFBn1ReOL5D8RhG64VrqfTTKNucqqtBAwEj8aB88mcqrg==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "~0.10.46" + } + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "dev": true, + "requires": { + "stackframe": "^1.1.1" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "dev": true, + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-promise": { + "version": "4.2.8", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", + "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", + "dev": true + }, + "es6-promisify": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "dev": true, + "requires": { + "es6-promise": "^4.0.3" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "dev": true + }, + "exit": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", + "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", + "dev": true + }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "dev": true, + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz", + "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==", + "dev": true + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "gherkin": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/gherkin/-/gherkin-5.0.0.tgz", + "integrity": "sha1-lt70EZjsOQgli1Ea909lWidk0qE=", + "dev": true + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-proxy-agent": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", + "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "dev": true, + "requires": { + "agent-base": "^4.3.0", + "debug": "^3.1.0" + } + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "ini": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", + "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", + "dev": true + }, + "is-core-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.0.0.tgz", + "integrity": "sha512-jq1AH6C8MuteOoBPwkxHafmByhL9j5q4OaPGdbuD+ZtQJVzH+i6E3BJDQcBA09k57i2Hh2yQbEG8yObZ0jdlWw==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-generator": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-generator/-/is-generator-1.0.3.tgz", + "integrity": "sha1-wUwhBX7TbjKNuANHlmxpP4hjifM=", + "dev": true + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", + "dev": true + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "dev": true, + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", + "dev": true + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "jasmine": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", + "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", + "dev": true, + "requires": { + "exit": "^0.1.2", + "glob": "^7.0.6", + "jasmine-core": "~2.8.0" + } + }, + "jasmine-core": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", + "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", + "dev": true + }, + "jasminewd2": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", + "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", + "dev": true + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "jszip": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.5.0.tgz", + "integrity": "sha512-WRtu7TPCmYePR1nazfrtuF216cIVon/3GWOvHS9QR5bIwSbnxtdpma6un3jyGGNhHsKCSzn5Ypk+EkDRvTGiFA==", + "dev": true, + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "set-immediate-shim": "~1.0.1" + } + }, + "knuth-shuffle-seeded": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/knuth-shuffle-seeded/-/knuth-shuffle-seeded-1.0.6.tgz", + "integrity": "sha1-AfG2VzOqdUDuCNiwF0Fk0iCB5OE=", + "dev": true, + "requires": { + "seed-random": "~2.2.0" + } + }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "requires": { + "immediate": "~3.0.5" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==", + "dev": true + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "mime-db": { + "version": "1.44.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", + "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", + "dev": true + }, + "mime-types": { + "version": "2.1.27", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", + "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "dev": true, + "requires": { + "mime-db": "1.44.0" + } + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", + "dev": true + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pad-right": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/pad-right/-/pad-right-0.2.2.tgz", + "integrity": "sha1-b7ySQEXSRPKiokRQMGDTv8YAl3Q=", + "dev": true, + "requires": { + "repeat-string": "^1.5.2" + } + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", + "dev": true + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "dev": true + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", + "dev": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", + "dev": true + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", + "dev": true + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "dev": true, + "requires": { + "pinkie": "^2.0.0" + } + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "protractor": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", + "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==", + "dev": true, + "requires": { + "@types/q": "^0.0.32", + "@types/selenium-webdriver": "^3.0.0", + "blocking-proxy": "^1.0.0", + "browserstack": "^1.5.1", + "chalk": "^1.1.3", + "glob": "^7.0.3", + "jasmine": "2.8.0", + "jasminewd2": "^2.1.0", + "q": "1.4.1", + "saucelabs": "^1.5.0", + "selenium-webdriver": "3.6.0", + "source-map-support": "~0.4.0", + "webdriver-js-extender": "2.1.0", + "webdriver-manager": "^12.1.7", + "yargs": "^15.3.1" + }, + "dependencies": { + "webdriver-manager": { + "version": "12.1.7", + "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.7.tgz", + "integrity": "sha512-XINj6b8CYuUYC93SG3xPkxlyUc3IJbD6Vvo75CVGuG9uzsefDzWQrhz0Lq8vbPxtb4d63CZdYophF8k8Or/YiA==", + "dev": true, + "requires": { + "adm-zip": "^0.4.9", + "chalk": "^1.1.1", + "del": "^2.2.0", + "glob": "^7.0.3", + "ini": "^1.3.4", + "minimist": "^1.2.0", + "q": "^1.4.1", + "request": "^2.87.0", + "rimraf": "^2.5.2", + "semver": "^5.3.0", + "xml2js": "^0.4.17" + } + } + } + }, + "protractor-cucumber-framework": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/protractor-cucumber-framework/-/protractor-cucumber-framework-6.2.1.tgz", + "integrity": "sha512-ZKOvX0Yoq2aL1nrlX5RzeHB9jtWGGiuaqqTPUvPXpyAFbrs3wfDAmMwrdWjg8m62wEhamZMVQIYqSPMPd9obMw==", + "dev": true, + "requires": { + "debug": "^3.1.0", + "glob": "^7.1.2", + "q": "^1.5.1", + "tmp": "^0.0.33" + }, + "dependencies": { + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", + "dev": true + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + } + } + }, + "protractor-firefox-support": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/protractor-firefox-support/-/protractor-firefox-support-1.5.0.tgz", + "integrity": "sha512-cSZa7+Wy7km7G71fe9XFT/rpNsNi7w+eh/8v3i+Pa9GQcMJDEgIgM+Ce0iaMG+ArZ3dxC0wFURtK9PESOY7+PA==", + "dev": true + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + }, + "q": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", + "dev": true + }, + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dev": true, + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", + "dev": true + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "resolve": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", + "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", + "dev": true, + "requires": { + "is-core-module": "^2.0.0", + "path-parse": "^1.0.6" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "saucelabs": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", + "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", + "dev": true, + "requires": { + "https-proxy-agent": "^2.2.1" + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "seed-random": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/seed-random/-/seed-random-2.2.0.tgz", + "integrity": "sha1-KpsZ4lCoFwmSMaW5mk2vgLf77VQ=", + "dev": true + }, + "selenium-webdriver": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", + "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", + "dev": true, + "requires": { + "jszip": "^3.1.3", + "rimraf": "^2.5.4", + "tmp": "0.0.30", + "xml2js": "^0.4.17" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", + "dev": true + }, + "serialize-error": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/serialize-error/-/serialize-error-4.1.0.tgz", + "integrity": "sha512-5j9GgyGsP9vV9Uj1S0lDCvlsd+gc2LEPVK7HHHte7IyPwOD4lVQFeaX143gx3U5AnoCi+wbcb3mvaxVysjpxEw==", + "dev": true, + "requires": { + "type-fest": "^0.3.0" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", + "dev": true + }, + "set-immediate-shim": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", + "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "dev": true, + "requires": { + "source-map": "^0.5.6" + } + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "stack-chain": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stack-chain/-/stack-chain-2.0.0.tgz", + "integrity": "sha512-GGrHXePi305aW7XQweYZZwiRwR7Js3MWoK/EHzzB9ROdc75nCnjSJVi21rdAGxFl+yCx2L2qdfl5y7NO4lTyqg==", + "dev": true + }, + "stack-generator": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/stack-generator/-/stack-generator-2.0.5.tgz", + "integrity": "sha512-/t1ebrbHkrLrDuNMdeAcsvynWgoH/i4o8EGGfX7dEYDoTXOYVAkEpFdtshlvabzc6JlJ8Kf9YdFEoz7JkzGN9Q==", + "dev": true, + "requires": { + "stackframe": "^1.1.1" + } + }, + "stackframe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", + "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", + "dev": true + }, + "stacktrace-gps": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/stacktrace-gps/-/stacktrace-gps-3.0.4.tgz", + "integrity": "sha512-qIr8x41yZVSldqdqe6jciXEaSCKw1U8XTXpjDuy0ki/apyTn/r3w9hDAAQOhZdxvsC93H+WwwEu5cq5VemzYeg==", + "dev": true, + "requires": { + "source-map": "0.5.6", + "stackframe": "^1.1.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz", + "integrity": "sha1-dc449SvwczxafwwRjYEzSiu19BI=", + "dev": true + } + } + }, + "stacktrace-js": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stacktrace-js/-/stacktrace-js-2.0.2.tgz", + "integrity": "sha512-Je5vBeY4S1r/RnLydLl0TBTi3F2qdfWmYsGvtfZgEI+SCprPppaIhQf5nGcal4gI4cGpCV/duLcAzT1np6sQqg==", + "dev": true, + "requires": { + "error-stack-parser": "^2.0.6", + "stack-generator": "^2.0.5", + "stacktrace-gps": "^3.0.4" + } + }, + "string-argv": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/string-argv/-/string-argv-0.3.1.tgz", + "integrity": "sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "dev": true, + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "title-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/title-case/-/title-case-2.1.1.tgz", + "integrity": "sha1-PhJyFtpY0rxb7PE3q5Ha46fNj6o=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.0.3" + } + }, + "tmp": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", + "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.1" + } + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "type-fest": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz", + "integrity": "sha512-cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==", + "dev": true + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.0.tgz", + "integrity": "sha512-B0yRTzYdUCCn9n+F4+Gh4yIDtMQcaJsmYBDsTSG8g/OejKBodLQ2IHfN3bM7jUsRXndopT7OIXWdYqc1fjmV6g==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + } + }, + "util-arity": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/util-arity/-/util-arity-1.1.0.tgz", + "integrity": "sha1-WdAa8f2z/t4KxOYysKtfbOl8kzA=", + "dev": true + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", + "dev": true + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", + "dev": true + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "webdriver-js-extender": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", + "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", + "dev": true, + "requires": { + "@types/selenium-webdriver": "^3.0.0", + "selenium-webdriver": "^3.0.1" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", + "dev": true + }, + "wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "xml2js": { + "version": "0.4.23", + "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", + "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "dev": true, + "requires": { + "sax": ">=0.6.0", + "xmlbuilder": "~11.0.0" + } + }, + "xmlbuilder": { + "version": "11.0.1", + "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", + "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", + "dev": true + }, + "xregexp": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/xregexp/-/xregexp-4.3.0.tgz", + "integrity": "sha512-7jXDIFXh5yJ/orPn4SXjuVrWWoi4Cr8jfV1eHv9CixKSbU+jY4mxfrBwAuDvupPNKpMUY+FeIqsVw/JLT9+B8g==", + "dev": true, + "requires": { + "@babel/runtime-corejs3": "^7.8.3" + } + }, + "y18n": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", + "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", + "dev": true + }, + "yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", + "dev": true, + "requires": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" + } + }, + "yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } +} diff --git a/ui/ui-frontend/projects/pastis/e2e/package.json b/ui/ui-frontend/projects/pastis/e2e/package.json new file mode 100644 index 0000000000000000000000000000000000000000..26836daf7da5edcf125be122c0bd2e3f70236a40 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/package.json @@ -0,0 +1,20 @@ +{ + "name": "protractor", + "version": "0.0.0-development", + "private": true, + "type": "module", + "devDependencies": { + "chai": "^4.2.0", + "chai-as-promised": "7.1.1", + "@types/chai": "^4.2.14", + "@types/chai-as-promised": "^7.1.3", + "@types/cucumber": "^6.0.1", + "@types/node": "^8.10.59", + "cucumber": "^6.0.5", + "protractor": "7.0.0", + "protractor-cucumber-framework": "^6.2.1", + "protractor-firefox-support": "1.5.0", + "ts-node": "^9.0.0", + "typescript": "~3.4.3" + } +} diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/attribute.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/attribute.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..63a4ec6f5c5db31f7b92aa555dad9cdec3c66d35 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/attribute.po.ts @@ -0,0 +1,75 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser } from 'protractor'; +import { AttributesTableHeader } from './attributes-table-header.po'; +import { Field, FieldsName } from './field.po'; +import { FieldValeurFixe } from './field-valeur-fixe.po'; +import { FieldCardinalite } from './field-cardinalite.po'; +import { FieldCommentaire } from './field-commentaire.po'; + +export class Attribute { + constructor(public container: ElementFinder){} + + public async getName(): Promise<string> { + return await this.container.element(by.css('td.mat-column-nomDuChamp')).getText(); + } + + public get valeurFixe(): Field { + return new FieldValeurFixe(this.container.element(by.css('td.mat-column-valeurFixe > :first-child'))); + } + + public get cardinalite(): Field { + return new FieldCardinalite(this.container.element(by.css('td.mat-column-cardinalite > :first-child'))); + } + + public get commentaire(): Field { + return new FieldCommentaire(this.container.element(by.css('td.mat-column-commentaire > :first-child'))); + } + + public getfieldByName(name: string): Field{ + switch(name){ + case FieldsName.valeurFixe: return this.valeurFixe; + case FieldsName.cardinalite: return this.cardinalite; + case FieldsName.commentaire: return this.commentaire; + } + } + + public get checkbox(): ElementFinder { + return this.container.element(by.css('mat-checkbox')); + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/attributes-popup.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/attributes-popup.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..338a11778b7418769edb2d81a916081c4eb5ed96 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/attributes-popup.po.ts @@ -0,0 +1,54 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser } from 'protractor'; +import { AttributesTableBody } from './attributes-table-body.po'; +import { AttributesTableHeader } from './attributes-table-header.po'; + +export class AttributesPopup { + constructor(public container: ElementFinder){} + + public get attributesTableHeader(): AttributesTableHeader { + return new AttributesTableHeader(this.container.element(by.css('pastis-edit-attributes > .table-container > table > thead'))); + } + + public get attributesTableBody(): AttributesTableBody { + return new AttributesTableBody(this.container.element(by.css('pastis-edit-attributes > .table-container > table > tbody'))); + } + + +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/attributes-table-body.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/attributes-table-body.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..5899be88d6b62173bec7d37b178f1f80e97a5988 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/attributes-table-body.po.ts @@ -0,0 +1,60 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +import { ElementFinder, element, by, browser, ElementArrayFinder } from 'protractor'; +import AsyncUtils from '../class/async-utils'; +import { Attribute } from './attribute.po'; + +export class AttributesTableBody { + constructor(public container: ElementFinder){} + + public async getAttributes(): Promise<Attribute[]> { + let attributeElement: ElementFinder[] = await this.container.all(by.css('tr')); + return attributeElement.map(a=>{return new Attribute(a)}); + } + + public async getSelectedAttributes(): Promise<Attribute[]> { + return (await AsyncUtils.filter(await this.container.all(by.css('tr')), async a => {return await a.element(by.css(('mat-checkbox.mat-checkbox-checked'))).isPresent()})) + .map(a=>{return new Attribute(a)}); + } + + public async getAttributeByName(attributeName:string): Promise<Attribute> { + let tr: ElementFinder[] = await this.container.all(by.css('tr')); + return new Attribute(await AsyncUtils.find(tr, async m=>{return await m.element(by.cssContainingText('td:first-child > span',attributeName)).isPresent()})); + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/attributes-table-header.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/attributes-table-header.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..db26f9ae9550031a7876b6f20d5417a4340c59de --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/attributes-table-header.po.ts @@ -0,0 +1,50 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser, ElementArrayFinder } from 'protractor'; + +export class AttributesTableHeader { + constructor(public container: ElementFinder){} + + public get headers(): ElementArrayFinder { + return this.container.all(by.css('tr > th')); + } + + public get selectAllCheckbox(): ElementFinder { + return this.container.element(by.css('tr > th:last-child > mat-checkbox')); + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/bread-crumb.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/bread-crumb.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..857f14c2b128cf44c0a6438e4d3c8443af622793 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/bread-crumb.po.ts @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser } from 'protractor'; + +export class BreadCrumb { + constructor(public container: ElementFinder){} + + public get metadataName(): ElementFinder { + return this.container.element(by.css('.pastis-entete-1-text-titre')); + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/button-menu.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/button-menu.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..5a0932054d5eb28f877285f20cf29c2899ebfe23 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/button-menu.po.ts @@ -0,0 +1,50 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser } from 'protractor'; + +export class ButtonMenu { + constructor(public container: ElementFinder){} + + public get ImportProfileButton(): ElementFinder { + return this.container.element(by.css('pastis-user-action-upload')); + } + + public get ExportProfileButton(): ElementFinder { + return this.container.element(by.css('pastis-user-action-save-profile')); + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/field-cardinalite.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/field-cardinalite.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..255506cdd781f685dba7fc94f4c59f4029f7b587 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/field-cardinalite.po.ts @@ -0,0 +1,58 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser, promise, protractor } from 'protractor'; +import { Field } from './field.po'; + +export class FieldCardinalite extends Field { + + constructor(public container: ElementFinder){ + super(container); + } + + public async getValue(): Promise<string> { + return await this.container.getText(); + } + + public async getOptions(): Promise<string[]> { + await this.container.click(); + let result: string[] = []; + await element.all(by.css('div.mat-select-panel-wrap > div > mat-option > span.mat-option-text')).each(async e=>result.push(await e.getText())); + await this.container.sendKeys(protractor.Key.ESCAPE); + return result; + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/field-commentaire.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/field-commentaire.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..eedecd0cbcaac594bb6bd8d36036d2eb80715fa7 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/field-commentaire.po.ts @@ -0,0 +1,54 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser, promise, protractor } from 'protractor'; +import { Field } from './field.po'; + +export class FieldCommentaire extends Field { + + constructor(public container: ElementFinder){ + super(container); + } + + public async getValue(): Promise<string> { + return await this.container.getAttribute('value'); + } + + getOptions(): Promise<string[]> { + throw new Error('Method not implemented.'); + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/field-valeur-fixe.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/field-valeur-fixe.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..53fbfbcf9f7c2149e10171c8c47ea401280f6b82 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/field-valeur-fixe.po.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser, promise, protractor } from 'protractor'; +import { Field } from './field.po'; + +export class FieldValeurFixe extends Field { + + constructor(public container: ElementFinder){ + super(container); + } + + public async getValue(): Promise<string> { + if (await this.container.getTagName()=='mat-select'){ + return await this.container.getText(); + } else { + return await this.container.getAttribute('value'); + } + } + + public async getOptions(): Promise<string[]> { + await this.container.click(); + let result: string[] = []; + await element.all(by.css('div.mat-select-panel-wrap > div > mat-option > span.mat-option-text')).each(async e=>result.push(await e.getText())); + await this.container.sendKeys(protractor.Key.ESCAPE); + return result; + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/field.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/field.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..9c1f8d0f7f8f0a485ab67448973c884bd6c67413 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/field.po.ts @@ -0,0 +1,51 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser, promise, protractor } from 'protractor'; + +export enum FieldsName { + valeurFixe = 'valeurFixe', + cardinalite = 'cardinalite', + commentaire = 'commentaire' +} + +export abstract class Field { + + constructor(public container: ElementFinder){} + abstract getValue(): Promise<string>; + abstract getOptions(): Promise<string[]>; +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/file-tree-node.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/file-tree-node.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..09a3c1f46ff3346eaf096914d0c49fcef36473c7 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/file-tree-node.po.ts @@ -0,0 +1,59 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser } from 'protractor'; + +export class FileTreeNode { + constructor(public container: ElementFinder){} + + public async getName(): Promise<string> { + return await this.container.element(by.css('span > span:first-child')).getText(); + } + + public get addUAButton(): ElementFinder { + return this.container.element(by.css('span > span button.pastis-btn-rounded-ua')); + } + + public async isComplex(): Promise<boolean> { + return await this.container.element(by.css('span > button.pastis-chevron-icon')).isPresent(); + } + + public async getChildren(): Promise<FileTreeNode[]> { + let childrenElements : ElementFinder[] = (await this.container.all(by.xpath('../ul/mat-nested-tree-node/mat-list-item'))); + return childrenElements.map(node=>{return new FileTreeNode(node)}); + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/file-tree-tab-body.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/file-tree-tab-body.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..dfdf738543273fa1b58f17cb9e9616b90275c6e5 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/file-tree-tab-body.po.ts @@ -0,0 +1,52 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser } from 'protractor'; +import { FileTreeNode } from './file-tree-node.po'; + +export class FileTreeTabBody { + constructor(public container: ElementFinder){} + + public async getTitle(): Promise<string> { + return await this.container.element(by.css('span.pastis-tree-node-root-name > span:first-child')).getText(); + } + + public getFileTreeNodes(): FileTreeNode { + return new FileTreeNode(element(by.css('pastis-file-tree > mat-tree > mat-nested-tree-node > mat-list-item'))); + } + +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/file-tree-tab.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/file-tree-tab.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..886d64f8fa54c332452ce5afac1b744344a0e514 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/file-tree-tab.po.ts @@ -0,0 +1,55 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser, ElementArrayFinder } from 'protractor'; + +export class FileTreeTab { + constructor(public container: ElementFinder){} + + public get activeTab(): ElementFinder { + return this.container.element(by.css('.mat-tab-label-active')); + } + + public get tabList(): ElementArrayFinder { + return this.container.all(by.css('div.mat-tab-labels > div.mat-tab-label')); + } + + public getTabByName(name:string): ElementFinder { + return this.container.element(by.cssContainingText('div.mat-tab-labels > div.mat-tab-label',name)); + // return await this.tabList.filter(async (onglet: ElementFinder)=> {return await onglet.getText() == name}); + } +} diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/left-panel.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/left-panel.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..ef615b959d4c7ebc81436189ef68c41cdee8e422 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/left-panel.po.ts @@ -0,0 +1,58 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser } from 'protractor'; +import { FileTreeTabBody } from './file-tree-tab-body.po'; +import { FileTreeTab } from './file-tree-tab.po'; + +export class LeftPanel { + constructor(public container: ElementFinder){} + + public get closePanelButton(): ElementFinder { + return this.container.element(by.css('div.pastis-edit-profile-header > mat-icon.pastis-ico-close-sidenav')); + } + + public get FileTreeTab(): FileTreeTab { + return new FileTreeTab(this.container.element(by.css('mat-tab-header.mat-tab-header'))); + } + + public get FileTreeTabBody(): FileTreeTabBody { + return new FileTreeTabBody(this.container.element(by.css('mat-tab-body.mat-tab-body-active'))); + } + + +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/metadata-menu.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/metadata-menu.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..5ee7ce5931f5f38c9dd26a322aa92f59d813c45a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/metadata-menu.po.ts @@ -0,0 +1,56 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser, promise, protractor, ElementArrayFinder } from 'protractor'; +import AsyncUtils from '../class/async-utils'; + +export class MetadataContextMenu { + + constructor(public container: ElementFinder){} + + public async getMenuLabelList(): Promise<string[]> { + return AsyncUtils.map(await this.menuOptionsList.all(by.css('span.pastis-item-menu-text')), async e=>{return await e.getText()}); + } + + public get menuOptionsList(): ElementArrayFinder { + return this.container.all(by.css('.mat-menu-content > button.mat-menu-item')); + } + + public getMenuOptionByLabel(label: string): ElementFinder { + return this.container.element(by.cssContainingText('.mat-menu-content > button.mat-menu-item > span.pastis-item-menu-text', label)) + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/metadata-popup.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/metadata-popup.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..aed98eb2fbdc4ffdddc53ec07f18a9bb80b551da --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/metadata-popup.po.ts @@ -0,0 +1,55 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser } from 'protractor'; +import { MetadataSearch } from './metadata-search.po'; +import { Popup } from './popup'; + +export class MetadataPopup extends Popup { + constructor(public container: ElementFinder){ + super(container); + } + + public get searchMetadataBar(): ElementFinder { + return this.container.element(by.css('pastis-user-action-add-metadata > div > div > input.filter-input-text')); + } + + public async getMetadataSearch(): Promise<MetadataSearch[]> { + let metadatasearchs: ElementFinder[] = (await this.container.all(by.css('mat-list > mat-selection-list > mat-list.list-item'))) + return metadatasearchs.map(metadata => {return new MetadataSearch(metadata)}); + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/metadata-search.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/metadata-search.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..7d164b37e00e0402f0abf3f175b48b3fdd3d9fb3 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/metadata-search.po.ts @@ -0,0 +1,54 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser } from 'protractor'; + +export class MetadataSearch { + constructor(public container: ElementFinder){} + + public async getName(): Promise<string> { + return await this.container.element(by.css('span.list-box-content > span')).getText(); + } + + public async isComplex():Promise<boolean> { + return await this.container.element(by.css('span.list-box-content > mat-icon.pastis-ico-complex-element')).isPresent(); + } + + public get addButton(): ElementFinder { + return this.container.element(by.css('span.ajouter')); + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/metadata-table-body.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/metadata-table-body.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..86f4fe3ed473148ccafaaed6845b1400c3da57c2 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/metadata-table-body.po.ts @@ -0,0 +1,53 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser, ElementArrayFinder } from 'protractor'; +import AsyncUtils from '../class/async-utils'; +import { Metadata } from './metadata.po'; + +export class MetadataTableBody { + constructor(public container: ElementFinder){} + + public async getMetadataList(): Promise<Metadata[]> { + return await this.container.all(by.css('tr')).map(metadata => {return new Metadata(metadata)}); + } + + public async getMetadataByName(metadataName: string): Promise<Metadata> { + let tr: ElementFinder[] = await this.container.all(by.css('tr')); + return new Metadata(await AsyncUtils.find(tr,async m=>{return await m.element(by.cssContainingText('td:first-child > span',metadataName)).isPresent()})); + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/metadata-table-header.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/metadata-table-header.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..a5857c18322a637176e39d6db68bb20ee77dabe2 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/metadata-table-header.po.ts @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser, ElementArrayFinder } from 'protractor'; + +export class MetadataTableHeader { + constructor(public container: ElementFinder){} + + public get headerList(): ElementArrayFinder { + return this.container.all(by.css('tr > th')); + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/metadata-table.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/metadata-table.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..e77eb48b86219230cca9f2b8f39be90fed2a0336 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/metadata-table.po.ts @@ -0,0 +1,56 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser } from 'protractor'; +import { MetadataTableBody } from './metadata-table-body.po'; +import { MetadataTableHeader } from './metadata-table-header.po'; + +export class MetadataTable { + constructor(public container: ElementFinder){} + + public get metadataTableHeader(): MetadataTableHeader { + return new MetadataTableHeader(this.container.element(by.css('thead'))); + } + + public get metadataTableBody(): MetadataTableBody { + return new MetadataTableBody(this.container.element(by.css('tbody'))); + } + + public get addMetadataButton(): ElementFinder { + return element(by.css('button.pastis-btn-add-tag')); + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/metadata.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/metadata.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..c62113eb9b4bd105d15364a4841dca13e8ca135a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/metadata.po.ts @@ -0,0 +1,86 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser, protractor } from 'protractor'; +import { Field, FieldsName } from './field.po'; +import { MetadataContextMenu } from './metadata-menu.po'; +import { FieldValeurFixe } from './field-valeur-fixe.po'; +import { FieldCardinalite } from './field-cardinalite.po'; +import { FieldCommentaire } from './field-commentaire.po'; + +export class Metadata { + constructor(public container: ElementFinder){} + + public async getName(): Promise<string> { + return await this.container.element(by.css('td.mat-column-nomDuChamp')).getText(); + } + + public async isComplex():Promise<boolean> { + return await this.container.element(by.css('td.mat-column-nomDuChamp > span > mat-icon.pastis-ico-complex-element')).isPresent(); + } + + public get valeurFixe(): Field { + return new FieldValeurFixe(this.container.element(by.css('td.mat-column-valeurFixe > :first-child'))); + } + + public get cardinalite(): Field { + return new FieldCardinalite(this.container.element(by.css('td.mat-column-cardinalite > :first-child'))); + } + + public get commentaire(): Field { + return new FieldCommentaire(this.container.element(by.css('td.mat-column-commentaire > :first-child'))); + } + + public getfieldByName(name: string): Field{ + switch(name){ + case FieldsName.valeurFixe: return this.valeurFixe; + case FieldsName.cardinalite: return this.cardinalite; + case FieldsName.commentaire: return this.commentaire; + } + } + + public async openContextMenu() { + // browser.actions().* doesn't work on Firefox within Zalenium + await (browser.actions().mouseMove(this.container)).perform(); + await this.container.element(by.css('button#menuBtn')).click(); + } + + public async closeContextMenu() { + await this.container.sendKeys(protractor.Key.ESCAPE); + } + +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/pastis.po.ts b/ui/ui-frontend/projects/pastis/e2e/pages/pastis.po.ts new file mode 100644 index 0000000000000000000000000000000000000000..36c082191b8cbb67b87a35a38e717d9b66f91f54 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/pastis.po.ts @@ -0,0 +1,111 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +import { ElementFinder, element, by, browser } from 'protractor'; +import { BreadCrumb } from './bread-crumb.po'; +import { ButtonMenu } from './button-menu.po'; +import { LeftPanel } from './left-panel.po'; +import { MetadataTable } from './metadata-table.po'; +import * as fs from 'fs'; +import { MetadataPopup } from './metadata-popup.po'; +import { Popup } from './popup'; +import { MetadataContextMenu } from './metadata-menu.po'; +import { AttributesPopup } from './attributes-popup.po'; + +export class PastisPage { + + constructor() {} + + public get leftPanel(): LeftPanel { + return new LeftPanel(element(by.css('mat-sidenav.pastis-side-nav'))); + } + + public get breadCrumb(): BreadCrumb { + return new BreadCrumb(element(by.css('div.pastis-metadata-option-entete-1'))); + } + + public get buttonMenu(): ButtonMenu { + return new ButtonMenu(element(by.css('div.pastis-metadata-option-entete-2'))); + } + + public get metadataTable(): MetadataTable { + return new MetadataTable(element(by.css('div.pastis-table-container > table'))); + } + + public get currentOpenedPopup(): Popup { + return new Popup(element(by.css('mat-dialog-container'))); + } + + public get metadataPopup(): MetadataPopup { + return new MetadataPopup(element(by.css('mat-dialog-container'))); + } + + public async navigateTo(url:string) { + await browser.get(url); + } + + public async waitForSpinner() { + browser.wait(function() { + return element(by.css('body > app-root > app-home > ngx-ui-loader > div.ngx-overlay')).isDisplayed().then(function(result){return !result}); + }, 20000); + } + + public deleteAlreadyDownloadedFiles() { + var filename = browser.params.downloadsPath + 'pastis_profile.rng'; + if (fs.existsSync(filename)) + { + // delete if there is any existing file with same name + fs.unlinkSync(filename); + } + } + + public verifyFileDownload() { + var filename = browser.params.downloadsPath + 'pastis_profile.rng'; + return browser.wait(function() { + return fs.existsSync(filename); + }, 30000); + } + + public get metadataContextMenu(): MetadataContextMenu { + return new MetadataContextMenu(element(by.css('.cdk-overlay-container .mat-menu-panel'))); + } + + public get attributesPopup(): AttributesPopup { + return new AttributesPopup(element(by.css('mat-dialog-container'))); + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/pages/popup.ts b/ui/ui-frontend/projects/pastis/e2e/pages/popup.ts new file mode 100644 index 0000000000000000000000000000000000000000..ce1485a9f2120ac575ca7c12ae2d0cada1b738c0 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/pages/popup.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { ElementFinder, element, by, browser } from 'protractor'; + +export class Popup { + constructor(public container: ElementFinder){} + + public async getTitle(): Promise<string> { + return await this.container.element(by.css('p.pastis-dialog-subtitle')).getText(); + } + + public async getSubTitle(): Promise<string> { + return await this.container.element(by.css('p.pastis-dialog-title')).getText(); + } + + public async validate() { + return await this.container.element(by.css('mat-dialog-actions.pastis-dialog-confirm-buttons > button.pastis-btn-oui-dialog-confirm')).click(); + } + + public async cancel() { + return await this.container.element(by.css('mat-dialog-actions.pastis-dialog-confirm-buttons > button.pastis-btn-non-dialog-confirm')).click(); + } + + public async close() { + return await this.container.element(by.css('.barre-et-croix > mat-icon.pastis-close-popup')).click(); + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/protractor.base.conf.cjs b/ui/ui-frontend/projects/pastis/e2e/protractor.base.conf.cjs new file mode 100644 index 0000000000000000000000000000000000000000..83a583dff92d57756e355c0850a730d6e48b18ca --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/protractor.base.conf.cjs @@ -0,0 +1,135 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + + +/* +Basic configuration to run your cucumber +feature files and step definitions with protractor. +**/ +// global.downloadsPath = 'c:\\zaledownload\\'; +//global.downloadsPath = '/tmp/zaledownload/'; + +exports.config = { + params: { + downloadsPath: 'c:\\zaledownload\\' + }, + SELENIUM_PROMISE_MANAGER: false, + /** + * The timeout in milliseconds for each script run on the browser. This + * should be longer than the maximum time your application needs to + * stabilize between tasks. + */ + allScriptsTimeout: 25000, + defaultTimeoutInterval: 30000, + + /** + * Test framework to use. This may be one of: jasmine, mocha or custom. + * Default value is 'jasmine' + * + * When the framework is set to "custom" you'll need to additionally + * set frameworkPath with the path relative to the config file or absolute: + * + * framework: 'custom', + * frameworkPath: './frameworks/my_custom_jasmine.js', + * + * See github.com/angular/protractor/blob/master/lib/frameworks/README.md + * to comply with the interface details of your custom implementation. + * + * Jasmine is fully supported as test and assertion frameworks. + * Mocha has limited support. You will need to include your + * own assertion framework (such as Chai) if working with Mocha. + */ + framework: 'custom', // set to "custom" instead of cucumber. + frameworkPath: require.resolve('protractor-cucumber-framework'), // path relative to the current config file + + specs: [ + //'./features/*.feature' // Specs here are the cucumber feature files, + //'./features/export-default-profile.feature', + './features/navigation.feature', + // './features/spec.feature' + ], + // cucumber command line options + cucumberOpts: { + require: [ + './specs/*.ts', + ], // require step definition files before executing features + tags: [], // <string[]> (expression) only execute the features or scenarios with tags matching the expression + strict: true, // <boolean> fail if there are any undefined or pending steps + 'dry-run': false, // <boolean> invoke formatters without executing steps + compiler: [], // <string[]> ("extension:module") require files with the given EXTENSION after requiring MODULE (repeatable) + }, + /** + * A callback function called once protractor is ready and available, and + * before the specs are executed. If multiple capabilities are being run, + * this will run once per capability. + * + * You can specify a file containing code to run by setting onPrepare to + * the filename string. onPrepare can optionally return a promise, which + * Protractor will wait for before continuing execution. This can be used if + * the preparation involves any asynchronous calls, e.g. interacting with + * the browser. Otherwise Protractor cannot guarantee order of execution + * and may start the tests before preparation finishes. + * + * At this point, global variable 'protractor' object will be set up, and + * globals from the test framework will be available. For example, if you + * are using Jasmine, you can add a reporter with: + * + * jasmine.getEnv().addReporter(new jasmine.JUnitXmlReporter( + * 'outputdir/', true, true)); + * + * If you need access back to the current configuration object, + * use a pattern like the following: + * + * return browser.getProcessedConfig().then(function(config) { + * // config.capabilities is the CURRENT capability being run, if + * // you are using multiCapabilities. + * console.log('Executing capability', config.capabilities); + * }); + */ + onPrepare: function () { + const { Given, Then, When, Before, After } = require('cucumber'); + global.Given = Given; + global.When = When; + global.Then = Then; + global.Before = Before; + global.After = After; + require('ts-node').register({ + project: require('path').join(__dirname, './tsconfig.json') + }); + } +}; diff --git a/ui/ui-frontend/projects/pastis/e2e/protractor_chrome.conf.cjs b/ui/ui-frontend/projects/pastis/e2e/protractor_chrome.conf.cjs new file mode 100644 index 0000000000000000000000000000000000000000..2655dac774e26a2cd9733fd79eff81143fdb1dcd --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/protractor_chrome.conf.cjs @@ -0,0 +1,67 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + + +/* +Basic configuration to run your cucumber +feature files and step definitions with protractor. +**/ +protractor = require('./protractor.base.conf.cjs'); +var config = protractor.config; + +config.baseUrl= 'http://localhost:4200'; +config.seleniumAddress= 'http://localhost:4444/wd/hub'; + +config.multiCapabilities = [ +{ + browserName: 'chrome', + name: 'CI - Chrome', + 'goog:chromeOptions': { + w3c: false + }, + chromeOptions: { + w3c: false, + prefs: { + download: { + default_directory: global.downloadsPath + } + } + } +}]; + +exports.config = config; \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/protractor_ci.conf.cjs b/ui/ui-frontend/projects/pastis/e2e/protractor_ci.conf.cjs new file mode 100644 index 0000000000000000000000000000000000000000..d090bdaacabd9aede510e7aa82d98090656968c7 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/protractor_ci.conf.cjs @@ -0,0 +1,80 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + + +/* +Basic configuration to run your cucumber +feature files and step definitions with protractor. +**/ +protractor = require('./protractor.base.conf.cjs'); +var config = protractor.config; + +config.baseUrl= 'http://10.100.129.51'; +config.seleniumAddress= 'http://sandbox33.cines.fr:4444/wd/hub'; + +config.multiCapabilities = [ + // { + // browserName: 'firefox', + // name: 'CI - Firefox', + // 'moz:firefoxOptions': { + // prefs: { + // 'browser.download.folderList': 2, + // 'browser.download.dir': global.downloadsPath, + // 'browser.helperApps.neverAsk.saveToDisk': 'application/xml' + // } + // } + // }, + { + browserName: 'chrome', + name: 'CI - Chrome', + 'goog:chromeOptions': { + w3c: false // To enable use of browser.actions() + }, + chromeOptions: { + w3c: false, // To enable use of browser.actions() + prefs: { + download: { + default_directory: global.downloadsPath + } + } + } + }, + ]; + + +exports.config = config; \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/protractor_firefox.conf.cjs b/ui/ui-frontend/projects/pastis/e2e/protractor_firefox.conf.cjs new file mode 100644 index 0000000000000000000000000000000000000000..5ef335d89b1fd522723c3198d5ee6ffa0f9ca9ab --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/protractor_firefox.conf.cjs @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + + +/* +Basic configuration to run your cucumber +feature files and step definitions with protractor. +**/ +protractor = require('./protractor.base.conf.cjs'); +var config = protractor.config; + +config.baseUrl= 'http://localhost:4200'; +config.seleniumAddress= 'http://localhost:4444/wd/hub'; + +config.multiCapabilities = [ +{ + browserName: 'firefox', + 'moz:firefoxOptions': { + prefs: { + 'browser.download.folderList': 2, + 'browser.download.dir': global.downloadsPath, + 'browser.helperApps.neverAsk.saveToDisk': 'application/xml' + } + } +}]; + +exports.config = config; \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/specs/spec.spec.ts b/ui/ui-frontend/projects/pastis/e2e/specs/spec.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..843933c2b1bab3cd82599b2b9ce47a453253facf --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/specs/spec.spec.ts @@ -0,0 +1,236 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +import { Given, When, Then, Before, After, setDefaultTimeout } from 'cucumber'; +import { PastisPage } from '../pages/pastis.po'; +import * as chai from 'chai'; +import chaiAsPromised = require('chai-as-promised'); +import { browser, element, ElementFinder } from 'protractor'; +import { FileTreeNode } from '../pages/file-tree-node.po'; +import { Metadata } from '../pages/metadata.po'; +import AsyncUtils from '../class/async-utils'; + +const pastis = new PastisPage(); +const expect = chai.expect; +const assert = chai.assert; + +Before(() => { + chai.use(chaiAsPromised); + browser.manage().window().maximize(); +}); + +// Timeout assez long, permettant de debug le code sans 'cramer' les promises qui attendent. +setDefaultTimeout(60 * 80085); + + +Given('The user goes to the homepage', async function () { + console.log('===The user goes to the homepage'); + await pastis.navigateTo(""); + await pastis.waitForSpinner(); +}); + +Then('The user clicks on {string} tab', async function (string) { + console.log('===The user clicks on ' + string +' tab'); + await pastis.leftPanel.FileTreeTab.getTabByName(string).click(); +}); + +Then('The user should see the {string} tab', async function (tabName) { + console.log('===The user should see the ' + tabName +' tab'); + let title: string = ''; + switch(tabName){ + case 'ENTÊTE': title = 'Entête';break; + case 'RÈGLES': title = 'Règles';break; + case 'ARBORESCENCE': title = "Unités d'archives";break; + case 'OBJETS': title = 'Objets';break; + } + expect(await pastis.leftPanel.FileTreeTabBody.getTitle()==title).to.be.true; +}); + +When('The user clicks on the export button', async function () { + console.log('===The user clicks on the export button'); + pastis.deleteAlreadyDownloadedFiles(); + await pastis.buttonMenu.ExportProfileButton.click(); +}); + +Then('The RNG file is downloaded', async function () { + console.log('===The RNG file is downloaded'); + expect(await pastis.verifyFileDownload()).to.be.true; +}); + +Then('The user navigates to {string}', async function (nodesName) { + console.log('===The user navigates to ' + nodesName); + let node:FileTreeNode = pastis.leftPanel.FileTreeTabBody.getFileTreeNodes(); + let names: string[] = nodesName.split(',') + let parent:FileTreeNode; + for(let i = 0; i<names.length; i++) { + if (!parent){ + parent = node; + } + parent = (await AsyncUtils.find(await parent.getChildren(), async (f)=>(await f.getName())==names[i])); + await parent.container.click(); + } +}); + +Then('The user writes {string} in the field {string} of the metadata {string}', async function (text, fieldName, metadataName) { + console.log('===The user writes ' + text + ' in the field ' + fieldName + ' of the metadata ' + metadataName); + let metadata: Metadata = await pastis.metadataTable.metadataTableBody.getMetadataByName(metadataName); + let field: ElementFinder; + switch(fieldName){ + case 'valeurFixe': field = metadata.valeurFixe.container;break; + case 'cardinalite': field = metadata.cardinalite.container;break; + case 'commentaire': field = metadata.commentaire.container;break; + } + await field.sendKeys(text); +}); + +Then('The user clicks on Ajouter une métadonnée', async function () { + console.log('===The user clicks on Ajouter une métadonnée'); + await pastis.metadataTable.addMetadataButton.click(); +}); + +Then('The user adds the metadata {string}', async function(metadataName){ + console.log('===The user adds the metadata ' + metadataName); + await (await AsyncUtils.find(await pastis.metadataPopup.getMetadataSearch(), async (m)=>{return await m.getName()==metadataName})).addButton.click(); +}); + +Then('The user validates the popup', async function(){ + console.log('===The user validates the popup'); + await pastis.metadataPopup.validate(); +}); + +Then('The user cancels the popup', async function(){ + console.log('===The user cancels the popup'); + await pastis.metadataPopup.cancel(); +}); + +Then('Verify that the list of nodes of {string} is {string}', async function(nodesName, values){ + console.log('===Verify that the list of nodes of ' + nodesName + ' is ' + values); + let node:FileTreeNode = pastis.leftPanel.FileTreeTabBody.getFileTreeNodes(); + let names: string[] = nodesName.split(',') + let parent:FileTreeNode; + for(let i = 0; i<names.length; i++) { + if (!parent){ + parent = node; + } + parent = await AsyncUtils.find(await parent.getChildren(), async c=>{return await c.getName()==names[i]}); + } + let nodesNames: string[] = await AsyncUtils.map(await parent.getChildren(), async c=>{return await c.getName()}); + assert.deepEqual(nodesNames.sort(), values.split(',').sort()); +}); + +Then('Verify that the value of the field {string} of the metadata {string} is {string}', async function (field, metadataName, value) { + console.log('===Verify that the value of the field ' + field + ' of the metadata ' + metadataName + ' is ' + value); + let nodeValue:string = await (await pastis.metadataTable.metadataTableBody.getMetadataByName(metadataName)).getfieldByName(field).getValue(); + expect(nodeValue).to.equals(value); +}); + +Then('Verify that the list of options of the field {string} of the metadata {string} is {string}', async function (field, metadataName, values) { + console.log('===Verify that the list of options of the field ' + field + ' of the metadata ' + metadataName + ' is ' + values); + let nodeValue: string[] = await (await pastis.metadataTable.metadataTableBody.getMetadataByName(metadataName)).getfieldByName(field).getOptions(); + assert.deepEqual(nodeValue.sort(), values.split(',').sort()); +}); + +Then('Open the menu of the metadata {string}', async function (metadataName){ + console.log('===Open the menu of the metadata ' + metadataName); + await (await pastis.metadataTable.metadataTableBody.getMetadataByName(metadataName)).openContextMenu(); +}); + +Then('Close the popup', async function (){ + console.log('===Close the popup'); + await pastis.currentOpenedPopup.close() +}); + +Then('Verify that the list of options in the context menu of the metadata {string} is {string}', async function (metadataName, values){ + console.log('===Verify that the list of options in the context menu of the metadata ' + metadataName + ' is ' + values); + let labels: string[] = await pastis.metadataContextMenu.getMenuLabelList(); + assert.deepEqual(labels.sort(), values.split(',').sort()); +}); + +Then('The user clicks on the item {string} of the context menu', async function (item:string){ + console.log('===The user clicks on the item ' + item + ' of the context menu'); + await (await pastis.metadataContextMenu.getMenuOptionByLabel(item)).click(); +}); + +Then('Verify that the list of attributes is {string}', async function(attributes){ + console.log('===Verify that the list of attributes is ' + attributes); + let attributs: string[] = await AsyncUtils.map(await pastis.attributesPopup.attributesTableBody.getAttributes(), async a =>{return await a.getName()}); + assert.deepEqual(attributs.sort(), attributes.split(',').sort()); +}); + +Then('The user writes {string} in the field {string} of the attribute {string}', async function(text,fieldName,attributeName){ + console.log('===The user writes ' + text + ' in the field ' + fieldName + ' of the attribute ' + attributeName); + let field = (await pastis.attributesPopup.attributesTableBody.getAttributeByName(attributeName)).getfieldByName(fieldName); + await field.container.sendKeys(text); +}); + +Then('Verify that the value of the field {string} of the attribute {string} is {string}', async function(fieldName,attributeName,text){ + console.log('===Verify that the value of the field ' + fieldName + ' of the attribute ' + attributeName + ' is ' + text); + let field = (await pastis.attributesPopup.attributesTableBody.getAttributeByName(attributeName)).getfieldByName(fieldName); + assert.deepEqual(await field.getValue(),text); +}); + +Then('The user clicks on Tout sélectionner', async function(){ + console.log('===The user clicks on Tout sélectionner'); + await pastis.attributesPopup.attributesTableHeader.selectAllCheckbox.click(); +}); + +Then('The user selects the attributes {string}', async function(attributes:string){ + console.log('===The user selects the attributes ' + attributes); + await AsyncUtils.forEach(attributes.split(','),async (attr:string) => {(await pastis.attributesPopup.attributesTableBody.getAttributeByName(attr)).checkbox.click();}); +}); + +Then('Verify that the selected attributes are {string}', async function (expectedAttributes){ + console.log('===Verify that the selected attributes are ' + expectedAttributes); + let attributselected: string[] = await AsyncUtils.map(await pastis.attributesPopup.attributesTableBody.getSelectedAttributes(), async attr=>{return await attr.getName()}); + let atts = []; + if (expectedAttributes != ''){ + atts = expectedAttributes.split(','); + } + expect(attributselected).to.deep.equal(atts); +}); + +Then('Verify that the list of options of the field {string} of the attribute {string} is {string}', async function(fieldName,attributeName,options){ + console.log('===Verify that the list of options of the field ' + fieldName + ' of the attribute ' + attributeName + ' is ' + options); + let field = (await pastis.attributesPopup.attributesTableBody.getAttributeByName(attributeName)).getfieldByName(fieldName); + assert.deepEqual((await field.getOptions()).sort(), options.split(',').sort()); +}); + +After(function (test) { + // Todo catch these *** exceptions + browser.manage().addCookie({ name: 'zaleniumTestPassed', value: test.result.status == 'failed' ? 'false' : 'true' }); +}) \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/e2e/tsconfig.json b/ui/ui-frontend/projects/pastis/e2e/tsconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..7452aa041dccb84082e0c0545e6be000a9a0cf85 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/e2e/tsconfig.json @@ -0,0 +1,73 @@ +{ + "compilerOptions": { + /* Visit https://aka.ms/tsconfig.json to read more about this file */ + + /* Basic Options */ + // "incremental": true, /* Enable incremental compilation */ + "target": "es5", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */ + "module": "commonjs", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */ + "lib": ["es2015","dom"], /* Specify library files to be included in the compilation. */ + // "allowJs": true, /* Allow javascript files to be compiled. */ + // "checkJs": true, /* Report errors in .js files. */ + // "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', or 'react'. */ + // "declaration": true, /* Generates corresponding '.d.ts' file. */ + // "declarationMap": true, /* Generates a sourcemap for each corresponding '.d.ts' file. */ + // "sourceMap": true, /* Generates corresponding '.map' file. */ + // "outFile": "./", /* Concatenate and emit output to single file. */ + // "outDir": "./", /* Redirect output structure to the directory. */ + // "rootDir": "./", /* Specify the root directory of input files. Use to control the output directory structure with --outDir. */ + // "composite": true, /* Enable project compilation */ + // "tsBuildInfoFile": "./", /* Specify file to store incremental compilation information */ + // "removeComments": true, /* Do not emit comments to output. */ + // "noEmit": true, /* Do not emit outputs. */ + // "importHelpers": true, /* Import emit helpers from 'tslib'. */ + // "downlevelIteration": true, /* Provide full support for iterables in 'for-of', spread, and destructuring when targeting 'ES5' or 'ES3'. */ + // "isolatedModules": true, /* Transpile each file as a separate module (similar to 'ts.transpileModule'). */ + + /* Strict Type-Checking Options */ + "strict": false, /* Enable all strict type-checking options. */ + // "noImplicitAny": true, /* Raise error on expressions and declarations with an implied 'any' type. */ + // "strictNullChecks": true, /* Enable strict null checks. */ + // "strictFunctionTypes": true, /* Enable strict checking of function types. */ + // "strictBindCallApply": true, /* Enable strict 'bind', 'call', and 'apply' methods on functions. */ + // "strictPropertyInitialization": true, /* Enable strict checking of property initialization in classes. */ + // "noImplicitThis": true, /* Raise error on 'this' expressions with an implied 'any' type. */ + // "alwaysStrict": true, /* Parse in strict mode and emit "use strict" for each source file. */ + + /* Additional Checks */ + // "noUnusedLocals": true, /* Report errors on unused locals. */ + // "noUnusedParameters": true, /* Report errors on unused parameters. */ + // "noImplicitReturns": true, /* Report error when not all code paths in function return a value. */ + // "noFallthroughCasesInSwitch": true, /* Report errors for fallthrough cases in switch statement. */ + + /* Module Resolution Options */ + // "moduleResolution": "node", /* Specify module resolution strategy: 'node' (Node.js) or 'classic' (TypeScript pre-1.6). */ + // "baseUrl": "./", /* Base directory to resolve non-absolute module names. */ + // "paths": {}, /* A series of entries which re-map imports to lookup locations relative to the 'baseUrl'. */ + // "rootDirs": [], /* List of root folders whose combined content represents the structure of the project at runtime. */ + // "typeRoots": [], /* List of folders to include type definitions from. */ + "typeRoots": [ + "./node_modules/@types", + "./types" + ], + // "types": [], /* Type declaration files to be included in compilation. */ + // "allowSyntheticDefaultImports": true, /* Allow default imports from modules with no default export. This does not affect code emit, just typechecking. */ + "esModuleInterop": true, /* Enables emit interoperability between CommonJS and ES Modules via creation of namespace objects for all imports. Implies 'allowSyntheticDefaultImports'. */ + // "preserveSymlinks": true, /* Do not resolve the real path of symlinks. */ + // "allowUmdGlobalAccess": true, /* Allow accessing UMD globals from modules. */ + + /* Source Map Options */ + // "sourceRoot": "", /* Specify the location where debugger should locate TypeScript files instead of source locations. */ + // "mapRoot": "", /* Specify the location where debugger should locate map files instead of generated locations. */ + // "inlineSourceMap": true, /* Emit a single file with source maps instead of having a separate file. */ + // "inlineSources": true, /* Emit the source alongside the sourcemaps within a single file; requires '--inlineSourceMap' or '--sourceMap' to be set. */ + + /* Experimental Options */ + // "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */ + // "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */ + + /* Advanced Options */ + "skipLibCheck": true, /* Skip type checking of declaration files. */ + "forceConsistentCasingInFileNames": true /* Disallow inconsistently-cased references to the same file. */ + } +} diff --git a/ui/ui-frontend/projects/pastis/karma.conf.js b/ui/ui-frontend/projects/pastis/karma.conf.js new file mode 100644 index 0000000000000000000000000000000000000000..a0e746b2acb862ad06fe1139808a969721eb7360 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/karma.conf.js @@ -0,0 +1,32 @@ +// Karma configuration file, see link for more information +// https://karma-runner.github.io/1.0/config/configuration-file.html + +module.exports = function (config) { + config.set({ + basePath: '', + frameworks: ['jasmine', '@angular-devkit/build-angular'], + plugins: [ + require('karma-jasmine'), + require('karma-chrome-launcher'), + require('karma-jasmine-html-reporter'), + require('karma-coverage-istanbul-reporter'), + require('@angular-devkit/build-angular/plugins/karma') + ], + client: { + clearContext: false // leave Jasmine Spec Runner output visible in browser + }, + coverageIstanbulReporter: { + dir: require('path').join(__dirname, './coverage/pastis-front'), + reports: ['html', 'lcovonly', 'text-summary'], + fixWebpackSourcePaths: true + }, + reporters: ['progress', 'kjhtml'], + port: 9876, + colors: true, + logLevel: config.LOG_INFO, + autoWatch: true, + browsers: ['Chrome'], + singleRun: false, + restartOnFileChange: true + }); +}; diff --git a/ui/ui-frontend/projects/pastis/pom.xml b/ui/ui-frontend/projects/pastis/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..abfb60955679f15437db21554907586446fc394d --- /dev/null +++ b/ui/ui-frontend/projects/pastis/pom.xml @@ -0,0 +1,144 @@ +<?xml version="1.0"?> +<project + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" + xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <modelVersion>4.0.0</modelVersion> + <artifactId>webapp</artifactId> + <name>PASTIS-WEBAPP</name> + <parent> + <groupId>fr.cines.vitam</groupId> + <artifactId>pastis</artifactId> + <version>0.0.1-SNAPSHOT</version> + </parent> + + <properties> + <nodeInstall>${node.install}</nodeInstall> + <ngServe>${ng.serve}</ngServe> + <ngPort>${ng.port}</ngPort> + </properties> + + <!-- 1. Read build.properties --> + <build> + <plugins> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>properties-maven-plugin</artifactId> + <version>1.0-alpha-2</version> + <executions> + <execution> + <phase>initialize</phase> + <goals> + <goal>read-project-properties</goal> + </goals> + <configuration> + <files> + <file>${basedir}/../build.properties</file> + </files> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + + <!-- 2. Declare profiles --> + <profiles> + <!-- 2.1. Profile with node install + npm install + npm run build --> + <profile> + <id>installNode</id> + <activation> + <activeByDefault>true</activeByDefault> + </activation> + <build> + <plugins> + <plugin> + <groupId>com.github.eirslett</groupId> + <artifactId>frontend-maven-plugin</artifactId> + <version>1.3</version> + <configuration> + <!-- Where to install npm --> + <installDirectory>node_install</installDirectory> + </configuration> + <executions> + <!-- 2.1.1. Download and install node and npm --> + <execution> + <id>install-node-and-npm</id> + <goals> + <goal>install-node-and-npm</goal> + </goals> + <configuration> + <nodeVersion>v${node.version}</nodeVersion> + <npmVersion>${npm.version}</npmVersion> + </configuration> + </execution> + <!-- 2.1.2 Install project dependencies --> + <execution> + <id>npm install</id> + <goals> + <goal>npm</goal> + </goals> + <phase>generate-resources</phase> + <configuration> + <arguments>install</arguments> + </configuration> + </execution> + <!-- 2.1.3. Build dependencies --> + <execution> + <id>npm run build</id> + <goals> + <goal>npm</goal> + </goals> + <configuration> + <arguments>run build</arguments> + </configuration> + </execution> + <!-- 2.1.4. Start server with host 0.0.0.0 (check angular.json)--> +<!-- <execution> --> +<!-- <id>npm start</id> --> +<!-- <goals> --> +<!-- <goal>npm</goal> --> +<!-- </goals> --> +<!-- <configuration> --> +<!-- <arguments>run-script prod</arguments> --> +<!-- </configuration> --> +<!-- </execution> --> + </executions> + </plugin> + </plugins> + </build> + </profile> + <!-- 2.2. Profile with normal build --> + <profile> + <id>normalBuild</id> + <activation> + <property> + <name>isFull</name> + <value>!${node.install}</value> + </property> + </activation> + <build> + <plugins> + <plugin> + <groupId>com.github.eirslett</groupId> + <artifactId>frontend-maven-plugin</artifactId> + <version>1.3</version> + <executions> + <execution> + <id>npm run build</id> + <goals> + <goal>npm</goal> + </goals> + <configuration> + <installDirectory>node_install</installDirectory> + <arguments>run build</arguments> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + </build> + </profile> + </profiles> +</project> + diff --git a/ui/ui-frontend/projects/pastis/proxy.json b/ui/ui-frontend/projects/pastis/proxy.json new file mode 100644 index 0000000000000000000000000000000000000000..7ffdcdf13a7943a1129e58e7854795c353e123db --- /dev/null +++ b/ui/ui-frontend/projects/pastis/proxy.json @@ -0,0 +1,7 @@ +{ + "/pastis-rest-api/rest/packages/*": { + "target": "http://localhost:8051", + "secure": false, + "logLevel": "debug" + } + } diff --git a/ui/ui-frontend/projects/pastis/sassdoc/assets/css/main.css b/ui/ui-frontend/projects/pastis/sassdoc/assets/css/main.css new file mode 100644 index 0000000000000000000000000000000000000000..c8fe8e7d7700e9de6a67816b830330212dbcbf4e --- /dev/null +++ b/ui/ui-frontend/projects/pastis/sassdoc/assets/css/main.css @@ -0,0 +1 @@ +.container:after,.header:after,.searchbar:after{content:"";display:table;clear:both}.visually-hidden{width:1px;height:1px;position:absolute;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}.sidebar__title{text-overflow:ellipsis;overflow:hidden;white-space:nowrap}code[class*='language-'],pre[class*='language-']{color:black;text-shadow:0 1px white;font-family:Consolas, Monaco, 'Andale Mono', monospace;direction:ltr;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}pre[class*='language-']::-moz-selection,pre[class*='language-'] ::-moz-selection,code[class*='language-']::-moz-selection,code[class*='language-'] ::-moz-selection{text-shadow:none;background:#b3d4fc}pre[class*='language-']::selection,pre[class*='language-'] ::selection,code[class*='language-']::selection,code[class*='language-'] ::selection{text-shadow:none;background:#b3d4fc}@media print{code[class*='language-'],pre[class*='language-']{text-shadow:none}}pre[class*='language-']{padding:1em;margin:.5em 0;overflow:auto}:not(pre)>code[class*='language-'],pre[class*='language-']{background:white}:not(pre)>code[class*='language-']{padding:.1em;border-radius:.3em}.token.comment,.token.prolog,.token.doctype,.token.cdata{color:slategray}.token.punctuation{color:#999}.namespace{opacity:.7}.token.property,.token.tag,.token.boolean,.token.number,.token.constant,.token.symbol{color:#905}.token.selector,.token.attr-name,.token.string,.token.builtin{color:#690}.token.operator,.token.entity,.token.url,.language-css .token.string,.style .token.string,.token.variable{color:#a67f59;background:rgba(255,255,255,0.5)}.token.atrule,.token.attr-value,.token.keyword{color:#07a}.token.regex,.token.important{color:#e90}.token.important{font-weight:bold}.token.entity{cursor:help}html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*,*::after,*::before{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit}body{font:1em/1.35 "Open Sans","Helvetica Neue Light","Helvetica Neue","Helvetica","Arial",sans-serif;overflow:auto;margin:0}a{transition:0.15s;text-decoration:none;color:#dd5a6f}a:hover,a:hover code{color:#333}table p{margin:0 0 .5rem}:not(pre)>code{color:#dd5a6f;white-space:nowrap;font-weight:normal}@media (max-width: 800px){table,tbody,tr,td,th{display:block}thead{width:1px;height:1px;position:absolute;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);border:0}tr{padding-bottom:1em;margin-bottom:1em;border-bottom:2px solid #ddd}td::before,th::before{content:attr(data-label) ": ";text-transform:capitalize;font-weight:bold}td p,th p{display:inline}}.layout-toggle{display:none}@media (min-width: 801px){.layout-toggle{position:absolute;top:8px;left:20px;font-size:2em;cursor:pointer;color:white;display:block}}@media (min-width: 801px){.sidebar-closed .sidebar{-webkit-transform:translateX(-280px);-ms-transform:translateX(-280px);transform:translateX(-280px)}.sidebar-closed .main{padding-left:0}.sidebar-closed .header{left:0}}.list-unstyled{padding-left:0;list-style:none;line-height:1.5;margin-top:0;margin-bottom:1.5rem}.list-inline li{display:inline-block}.container{max-width:100%;width:1170px;margin:0 auto;padding:0 2rem}.relative{position:relative}.clear{clear:both}.header{position:fixed;top:0;right:0;left:280px;box-shadow:0 2px 5px rgba(0,0,0,0.26);padding:1em 0;background:#dd5a6f;color:#e0e0e0;z-index:4000}@media (max-width: 800px){.header{left:0}}@media (min-width: 801px){.header{transition:0.2s cubic-bezier(0.215, 0.61, 0.355, 1)}}.header__title{font-weight:500;text-align:center;margin:0 0 0.5em 0}.header__title a{color:#e0e0e0}@media (min-width: 801px){.header__title{float:left;font-size:1em;margin-top:.25em;margin-bottom:0}}.searchbar{display:inline-block;float:right}@media (max-width: 800px){.searchbar{display:block;float:none}}.searchbar__form{float:right;position:relative}@media (max-width: 800px){.searchbar__form{float:none}}@media (min-width: 801px){.searchbar__form{min-width:15em}}.searchbar__field{border:none;padding:0.5em;font-size:1em;margin:0;width:100%;box-shadow:0 1.5px 4px rgba(0,0,0,0.24),0 1.5px 6px rgba(0,0,0,0.12);border:1px solid #e0e0e0}.searchbar__suggestions{position:absolute;top:100%;right:0;left:0;box-shadow:0 1.5px 4px rgba(0,0,0,0.24),0 1.5px 6px rgba(0,0,0,0.12);border:1px solid #e0e0e0;background:white;padding:0;margin:0;list-style:none;z-index:2}.searchbar__suggestions:empty{display:none}.searchbar__suggestions .selected{background:#ddd}.searchbar__suggestions li{border-bottom:1px solid #e0e0e0}.searchbar__suggestions li:last-of-type{border:none}.searchbar__suggestions a{display:block;padding:0.5em;font-size:0.9em}.searchbar__suggestions a:hover,.searchbar__suggestions a:active,.searchbar__suggestions a:focus{background:#e0e0e0}.searchbar__suggestions code{margin-right:.5em}@media (min-width: 801px){.sidebar{position:fixed;top:0;bottom:0;left:0;overflow:auto;box-shadow:1px 0 1.5px rgba(0,0,0,0.12);width:280px;z-index:2;border-right:1px solid #e0e0e0;transition:0.2s cubic-bezier(0.215, 0.61, 0.355, 1)}}@media (max-width: 800px){.sidebar{margin-top:4em}}.sidebar__annotation{color:#5c4863}.sidebar__item{font-size:0.9em}.sidebar__item a{padding:0.5em 4.5em;display:block;text-decoration:none;color:#333}.sidebar__item:hover,.sidebar__item:active,.sidebar__item:focus{background:#e0e0e0}.sidebar__item.is-collapsed+*{display:none}.sidebar__item--heading{padding:1em 1.5em}.sidebar__item--heading a{font-weight:bold}.sidebar__item--sub-heading{padding:0.5em 2.5em}.sidebar__item--sub-heading a{color:#888}.sidebar__item--heading,.sidebar__item--sub-heading{position:relative}.sidebar__item--heading:after,.sidebar__item--sub-heading:after{position:absolute;top:50%;right:2em;content:'\25BC';margin-top:-0.5em;color:#ddd;font-size:0.7em}.sidebar__item--heading.is-collapsed:after,.sidebar__item--sub-heading.is-collapsed:after{content:'\25B6'}.sidebar__item--heading a,.sidebar__item--sub-heading a{padding:0;display:inline}.sidebar__description{color:#e0e0e0;padding-right:2em}.sidebar__header{border-bottom:1px solid #e0e0e0}.sidebar__title{font-size:1em;margin:0;padding:1.45em}.btn-toggle{background:#EFEFEF;border:none;border-bottom:1px solid #e0e0e0;display:block;padding:1em;width:100%;cursor:pointer;color:#999;font-weight:bold;margin:0;transition:0.15s ease-out}.btn-toggle:hover,.btn-toggle:active,.btn-toggle:focus{background:#DFDFDF}.main{background:#f9f9f9;position:relative}@media (min-width: 801px){.main{transition:0.2s cubic-bezier(0.215, 0.61, 0.355, 1);padding-left:280px;padding-top:4em;min-height:45em}}.main__section{margin-top:5em;border-top:5px solid rgba(92,72,99,0.2)}.header+.main__section{margin-top:0;border-top:none}.main__heading,.main__heading--secondary{padding:1em 0;margin-top:0}@media (min-width: 801px){.main__heading,.main__heading--secondary{padding:2em 0 0}}.main__heading{color:#5c4863;font-size:3.5em;text-align:center;border-bottom:5px solid rgba(92,72,99,0.2);padding-bottom:.5em;margin-bottom:1em;background:rgba(92,72,99,0.1)}.main__heading--secondary{font-size:3em;color:#dd5a6f;text-transform:uppercase;font-weight:bold;padding-top:0;margin-bottom:-3rem;position:relative}.main__heading--secondary .container{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.main__heading--secondary::before{content:'';position:absolute;left:0;right:0;bottom:0.15em;height:0.2em;background-color:#dd5a6f}.main__description{margin-bottom:1.5rem}.footer{background:#e0e0e0;padding:1em 0}.footer .container{position:relative}.footer__project-info{float:left}.footer__watermark{position:absolute;right:0;top:-0.7em}.footer__watermark img{display:block;max-width:7em}.project-info__name,.project-info__version,.project-info__license{display:inline-block}.project-info__version,.project-info__license{color:#555}.project-info__license{text-indent:-0.25em}.main__section{margin-bottom:4.5rem}.item__heading{color:#333;margin:4.5rem 0 1.5rem 0;position:relative;font-size:2em;font-weight:300;float:left}.item__name{color:#dd5a6f}.item__example{margin-bottom:1.5rem}.item__example,.item__code{box-shadow:0 1.5px 4px rgba(0,0,0,0.24),0 1.5px 6px rgba(0,0,0,0.12);border:1px solid #e0e0e0;word-wrap:break-word;line-height:1.42}.item__code{padding-right:7em;clear:both;cursor:pointer}.item__code--togglable::after{position:absolute;right:0;bottom:-2.5em;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";opacity:0;color:#c4c4c4;font-size:0.8em;transition:0.2s ease-out}.item__code--togglable:hover::after,.item__code--togglable:active::after,.item__code--togglable:focus::after{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";opacity:1}.item__code--togglable[data-current-state='expanded']::after{content:'Click to collapse.'}.item__code--togglable[data-current-state='collapsed']::after{content:'Click to expand.'}.example__description{padding:1em;background:#EFEFEF}.example__description p{margin:0}.example__code[class*='language-']{margin:0}.item__anchor{font-size:0.6em;color:#eeafb9}@media (min-width: 801px){.item__anchor{position:absolute;right:101%;bottom:.25em;-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";opacity:0}.item:hover .item__anchor{-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";opacity:1}}.item__deprecated{display:inline-block;overflow:hidden;margin-top:5.5em;margin-left:1em}.item__deprecated strong{float:left;color:#c00;text-transform:uppercase}.item__deprecated p{float:left;margin:0;padding-left:0.5em}.item__type{color:#ddd;text-transform:capitalize;font-size:0.75em}.item__alias,.item__aliased{color:#ddd;font-size:0.8em}.item__sub-heading{color:#333;margin-top:0;margin-bottom:1.5rem;font-size:1.2em}.item__parameters{width:100%;margin-bottom:1em;border-collapse:collapse}.item__parameters thead th{vertical-align:bottom;border-bottom:2px solid #ddd;border-top:none;text-align:left;color:#707070}.item__parameters tbody th{text-align:left}.item__parameters td,.item__parameters th{padding:0.5em 0.5em 0.5em 0;vertical-align:top}@media (min-width: 801px){tbody>.item__parameter:first-of-type>td{border-top:none}.item__parameters td,.item__parameters th{border-top:1px solid #ddd}}.item__access{text-transform:capitalize;color:#5c4863;font-size:0.8em}.item__since{float:right;padding-top:0.9em;color:#c4c4c4;margin-bottom:1em}.item__source-link{position:absolute;top:1px;right:1px;background:white;padding:1em;z-index:2;color:#c4c4c4}.item__cross-type{color:#4d4d4d;font-family:'Consolas', 'Monaco', 'Andale Mono', monospace;font-size:0.8em}.item__description{margin-bottom:1.5rem}li.item__description{margin-bottom:0}.item__description--inline>*{display:inline-block;margin:0}.item__code-wrapper{position:relative;clear:both;margin-bottom:1.5rem}.color-preview--inline{padding:2px 4px;border:1px solid rgba(0,0,0,0.1);border-radius:3px}.color-preview--block{width:2em;height:2em;position:absolute;top:140%;right:0;top:calc(100% + 20px);border:1px solid rgba(0,0,0,0.1);border-radius:3px} diff --git a/ui/ui-frontend/projects/pastis/sassdoc/assets/images/favicon.png b/ui/ui-frontend/projects/pastis/sassdoc/assets/images/favicon.png new file mode 100644 index 0000000000000000000000000000000000000000..585fb531409ea89d65ea605a31ac22e6b58886d5 Binary files /dev/null and b/ui/ui-frontend/projects/pastis/sassdoc/assets/images/favicon.png differ diff --git a/ui/ui-frontend/projects/pastis/sassdoc/assets/images/logo_full_compact.svg b/ui/ui-frontend/projects/pastis/sassdoc/assets/images/logo_full_compact.svg new file mode 100644 index 0000000000000000000000000000000000000000..0f590c9aaad58c3047f6b1adf50e4370afa5d559 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/sassdoc/assets/images/logo_full_compact.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="431.5" height="431.5" viewBox="0 0 431.5 431.5"><path fill="#DD5A6F" d="M40 0h351.5c22.092 0 40 17.908 40 40v351.5c0 22.092-17.908 40-40 40h-351.5c-22.091 0-40-17.908-40-40v-351.5c0-22.092 17.909-40 40-40z"/><path fill="#fff" d="M57.265 158.555c-.387 1.16-.822 2.32-1.305 3.48s-1.04 2.175-1.668 3.045-1.33 1.521-2.102 1.957c-.773.436-1.595.508-2.465.218-1.16-.193-1.812-1.04-1.958-2.537-.145-1.5.025-2.973.508-4.423.677-2.32 1.667-5.39 2.973-9.207 1.305-3.82 2.803-8 4.495-12.543 1.69-4.543 3.48-9.256 5.364-14.137 1.886-4.882 3.698-9.546 5.438-13.993 1.74-4.447 3.335-8.482 4.785-12.108 1.45-3.625 2.562-6.452 3.335-8.481.29-.58.725-1.063 1.305-1.45s1.184-.58 1.813-.58c.628 0 1.256.193 1.885.58.628.387 1.135 1.015 1.522 1.885.773 2.03.822 4.013.145 5.945-.677 1.547-1.643 3.939-2.9 7.177-1.257 3.24-2.682 6.888-4.278 10.948-1.595 4.06-3.262 8.362-5.002 12.905-1.74 4.543-3.383 8.87-4.93 12.978-1.547 4.108-2.948 7.805-4.205 11.092s-2.175 5.702-2.755 7.249zm77.285-36.395c-1.933-1.45-4.036-2.997-6.308-4.641-2.27-1.643-4.664-3.335-7.177-5.074 1.643 5.896 3.383 11.503 5.22 16.819.29 1.16.17 2.176-.362 3.045-.532.87-1.185 1.306-1.958 1.306-1.257-.193-2.537-.773-3.843-1.74-1.305-.967-2.2-2.127-2.682-3.48-.387-.869-.87-2.271-1.45-4.204-.58-1.934-1.257-4.205-2.03-6.815-1.643 2.417-3.166 4.785-4.567 7.105-1.402 2.319-2.73 4.543-3.988 6.67-.773 1.062-1.643 1.667-2.61 1.812-.967.146-1.692-.073-2.175-.653-.677-1.062-1.087-2.439-1.233-4.132-.145-1.691.12-3.118.798-4.277.483-.773 1.353-2.176 2.61-4.205 1.257-2.03 2.803-4.398 4.64-7.105-2.03.483-4.012.99-5.945 1.522-1.933.531-3.867 1.04-5.8 1.522-1.16.193-2.175 0-3.045-.58s-1.257-1.257-1.16-2.029c.29-1.258.942-2.393 1.957-3.407 1.016-1.017 2.2-1.716 3.553-2.104.967-.29 2.537-.699 4.712-1.232 2.176-.53 4.665-1.135 7.468-1.812-1.933-1.16-3.842-2.344-5.727-3.552-1.886-1.21-3.795-2.345-5.728-3.408-1.063-.677-1.667-1.547-1.813-2.609-.145-1.063.073-1.837.653-2.32 1.063-.677 2.344-.99 3.843-.942 1.498.048 2.827.46 3.987 1.232.967.482 2.32 1.305 4.06 2.465-.29-1.643-.532-3.214-.725-4.712-.193-1.5-.338-2.925-.435-4.278-.097-1.062.145-1.981.725-2.755.58-.772 1.257-1.208 2.03-1.305.677-.193 1.498.023 2.465.653.967.628 1.692 1.812 2.175 3.552.387 1.837.822 3.722 1.305 5.654.483 1.934.967 4.013 1.45 6.235 1.933-2.61 3.818-5.075 5.655-7.395 1.837-2.32 3.577-4.303 5.22-5.945.773-.773 1.643-1.208 2.61-1.305.967-.098 1.74.145 2.32.725.483.387.846 1.16 1.088 2.32.24 1.16-.17 2.465-1.233 3.915-1.063 1.449-2.272 3.069-3.625 4.857s-2.755 3.697-4.205 5.728c2.513-.483 4.978-.847 7.395-1.088 2.417-.24 4.688-.41 6.815-.508 1.063 0 1.982.193 2.755.58.773.388 1.208.968 1.305 1.74.097.677-.193 1.498-.87 2.465-.677.968-1.885 1.596-3.625 1.886-1.643.289-3.407.579-5.292.869-1.886.29-3.795.628-5.728 1.016 2.223 1.643 4.302 3.262 6.235 4.857 1.933 1.596 3.722 3.117 5.365 4.567.773.773 1.28 1.57 1.523 2.392.24.822.12 1.57-.363 2.248-.483.483-1.305.822-2.465 1.016-1.16.192-2.417-.194-3.77-1.161zm58.87 0c-1.933-1.45-4.036-2.997-6.307-4.641-2.272-1.643-4.665-3.335-7.178-5.074 1.643 5.896 3.383 11.503 5.22 16.819.29 1.16.17 2.176-.363 3.045-.53.87-1.184 1.306-1.957 1.306-1.257-.193-2.537-.773-3.843-1.74-1.305-.967-2.2-2.127-2.682-3.48-.387-.869-.87-2.271-1.45-4.204-.58-1.934-1.257-4.205-2.03-6.815-1.643 2.417-3.166 4.785-4.568 7.105-1.4 2.319-2.73 4.543-3.987 6.67-.773 1.062-1.643 1.667-2.61 1.812s-1.692-.073-2.175-.653c-.677-1.062-1.087-2.439-1.233-4.132-.145-1.691.12-3.118.798-4.277.483-.773 1.353-2.176 2.61-4.205 1.257-2.03 2.803-4.398 4.64-7.105-2.03.483-4.012.99-5.945 1.522-1.933.531-3.867 1.04-5.8 1.522-1.16.193-2.175 0-3.045-.58-.87-.58-1.257-1.257-1.16-2.029.29-1.258.942-2.393 1.958-3.407 1.015-1.017 2.2-1.716 3.552-2.104.967-.29 2.537-.699 4.712-1.232 2.176-.53 4.665-1.135 7.468-1.812-1.933-1.16-3.842-2.344-5.727-3.552-1.886-1.21-3.795-2.345-5.728-3.408-1.063-.677-1.667-1.547-1.813-2.609-.145-1.063.073-1.837.653-2.32 1.063-.677 2.344-.99 3.843-.942 1.498.048 2.827.46 3.987 1.232.967.482 2.32 1.305 4.06 2.465-.29-1.643-.532-3.214-.725-4.712-.193-1.5-.338-2.925-.435-4.278-.097-1.062.145-1.981.725-2.755.58-.772 1.257-1.208 2.03-1.305.677-.193 1.498.023 2.465.653.967.628 1.692 1.812 2.175 3.552.387 1.837.822 3.722 1.305 5.654.483 1.934.967 4.013 1.45 6.235 1.933-2.61 3.818-5.075 5.655-7.395 1.837-2.32 3.577-4.303 5.22-5.945.773-.773 1.643-1.208 2.61-1.305.967-.098 1.74.145 2.32.725.483.387.846 1.16 1.087 2.32.242 1.16-.17 2.465-1.232 3.915-1.062 1.449-2.271 3.069-3.625 4.857-1.353 1.788-2.755 3.697-4.205 5.728 2.513-.483 4.978-.847 7.395-1.088 2.417-.24 4.688-.41 6.815-.508 1.063 0 1.982.193 2.755.58.773.388 1.208.968 1.305 1.74.097.677-.193 1.498-.87 2.465-.677.968-1.885 1.596-3.625 1.886-1.643.289-3.407.579-5.292.869-1.886.29-3.795.628-5.728 1.016 2.223 1.643 4.302 3.262 6.235 4.857s3.722 3.117 5.365 4.567c.773.773 1.28 1.57 1.523 2.392.24.822.12 1.57-.363 2.248-.483.483-1.305.822-2.465 1.016-1.16.192-2.417-.194-3.77-1.161zm-70.79 224.59c28.288 0 48.008-17.952 48.008-45.424 0-27.2-19.72-45.288-48.144-45.288h-35.768v90.712h35.904zm-.136-17h-16.456v-56.712h16.592c18.496 0 28.288 12.376 28.288 28.288 0 15.504-10.472 28.424-28.424 28.424zm104.992 18.632c27.336 0 47.328-19.584 47.328-46.92s-19.992-46.92-47.328-46.92c-27.472 0-47.464 19.584-47.464 46.92s19.992 46.92 47.464 46.92zm0-17.136c-16.864 0-27.608-12.92-27.608-29.784 0-17 10.744-29.784 27.608-29.784 16.728 0 27.472 12.784 27.472 29.784 0 16.864-10.744 29.784-27.472 29.784zm104.992 17.136c19.856 0 31.416-11.016 37.809-22.304l-16.592-8.024c-3.809 7.345-11.969 13.192-21.217 13.192-16.592 0-28.56-12.648-28.56-29.784s11.968-29.784 28.56-29.784c9.248 0 17.408 5.849 21.217 13.192l16.592-8.16c-6.393-11.424-17.952-22.168-37.808-22.168-27.337 0-48.416 18.904-48.416 46.92-.001 27.88 21.079 46.92 48.415 46.92zm-220.628-109.76c18.876 0 28.236-9.984 28.236-22.152 0-29.016-47.424-17.472-47.424-36.348 0-7.8 7.02-13.729 18.72-13.729 9.984 0 18.096 4.057 22.464 9.984l4.524-5.771c-5.46-6.084-14.04-11.076-26.988-11.076-17.004 0-26.832 9.359-26.832 20.903 0 27.145 47.58 15.444 47.58 36.036 0 8.736-7.488 15.288-20.124 15.288-10.608 0-19.5-4.992-24.336-11.076l-4.836 5.929c7.488 8.424 16.848 12.012 29.016 12.012zm105.144-1.872v-53.04c0-16.848-12.168-24.18-27.456-24.18-12.48 0-21.216 4.212-29.016 12.636l4.524 5.616c6.864-7.8 14.196-11.076 23.712-11.076 11.076 0 20.124 6.084 20.124 17.316v15.287c-6.552-7.332-15.132-10.764-25.584-10.764-13.104 0-26.364 8.58-26.364 24.96 0 16.225 13.416 25.116 26.364 25.116 10.452 0 18.876-3.432 25.584-10.764v8.893h8.112zm-30.888-4.524c-12.324 0-20.592-7.956-20.592-18.563 0-10.764 8.268-18.72 20.592-18.72 9.048 0 17.472 3.432 22.776 10.451v16.536c-5.304 6.864-13.728 10.296-22.776 10.296zm78.624 6.396c18.876 0 28.235-9.984 28.235-22.152 0-29.016-47.424-17.472-47.424-36.348 0-7.8 7.021-13.729 18.72-13.729 9.984 0 18.097 4.057 22.464 9.984l4.524-5.771c-5.46-6.084-14.04-11.076-26.988-11.076-17.004 0-26.832 9.359-26.832 20.903 0 27.145 47.58 15.444 47.58 36.036 0 8.736-7.488 15.288-20.124 15.288-10.607 0-19.5-4.992-24.336-11.076l-4.836 5.929c7.489 8.424 16.849 12.012 29.017 12.012zm71.604 0c18.876 0 28.236-9.984 28.236-22.152 0-29.016-47.424-17.472-47.424-36.348 0-7.8 7.02-13.729 18.72-13.729 9.983 0 18.096 4.057 22.464 9.984l4.523-5.771c-5.46-6.084-14.039-11.076-26.987-11.076-17.004 0-26.832 9.359-26.832 20.903 0 27.145 47.58 15.444 47.58 36.036 0 8.736-7.488 15.288-20.124 15.288-10.608 0-19.5-4.992-24.336-11.076l-4.836 5.929c7.488 8.424 16.848 12.012 29.016 12.012z"/></svg> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/sassdoc/assets/images/logo_full_inline.svg b/ui/ui-frontend/projects/pastis/sassdoc/assets/images/logo_full_inline.svg new file mode 100644 index 0000000000000000000000000000000000000000..68b01030936243e570aad7d49f22dfd90d69b2cf --- /dev/null +++ b/ui/ui-frontend/projects/pastis/sassdoc/assets/images/logo_full_inline.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="792" height="296.75" viewBox="0 0 792 296.75"><path fill="#DD5A6F" d="M40 0h712c22.092 0 40 17.908 40 40v216.75c0 22.092-17.908 40-40 40h-712c-22.092 0-40-17.908-40-40v-216.75c0-22.092 17.908-40 40-40z"/><path fill="#fff" d="M159.85 217.372c18.876 0 28.236-9.984 28.236-22.152 0-29.016-47.424-17.472-47.424-36.348 0-7.8 7.02-13.729 18.72-13.729 9.984 0 18.097 4.057 22.464 9.984l4.524-5.771c-5.46-6.084-14.04-11.076-26.988-11.076-17.004 0-26.832 9.359-26.832 20.903 0 27.145 47.58 15.444 47.58 36.036 0 8.736-7.488 15.288-20.124 15.288-10.607 0-19.5-4.992-24.336-11.076l-4.836 5.929c7.488 8.424 16.848 12.012 29.016 12.012zm105.144-1.872v-53.04c0-16.848-12.168-24.18-27.456-24.18-12.48 0-21.216 4.212-29.016 12.636l4.523 5.616c6.864-7.8 14.196-11.076 23.712-11.076 11.076 0 20.124 6.084 20.124 17.316v15.287c-6.552-7.332-15.132-10.764-25.584-10.764-13.104 0-26.364 8.58-26.364 24.96 0 16.225 13.416 25.116 26.364 25.116 10.452 0 18.876-3.432 25.584-10.764v8.892h8.113v.001zm-30.888-4.524c-12.324 0-20.593-7.956-20.593-18.563 0-10.764 8.269-18.72 20.593-18.72 9.048 0 17.472 3.432 22.775 10.451v16.536c-5.303 6.864-13.727 10.296-22.775 10.296zm78.624 6.396c18.875 0 28.235-9.984 28.235-22.152 0-29.016-47.424-17.472-47.424-36.348 0-7.8 7.021-13.729 18.72-13.729 9.984 0 18.097 4.057 22.464 9.984l4.524-5.771c-5.46-6.084-14.04-11.076-26.988-11.076-17.004 0-26.832 9.359-26.832 20.903 0 27.145 47.58 15.444 47.58 36.036 0 8.736-7.488 15.288-20.124 15.288-10.607 0-19.5-4.992-24.336-11.076l-4.836 5.929c7.489 8.424 16.849 12.012 29.017 12.012zm71.604 0c18.876 0 28.236-9.984 28.236-22.152 0-29.016-47.424-17.472-47.424-36.348 0-7.8 7.02-13.729 18.72-13.729 9.983 0 18.096 4.057 22.464 9.984l4.523-5.771c-5.459-6.084-14.039-11.076-26.987-11.076-17.004 0-26.832 9.359-26.832 20.903 0 27.145 47.58 15.444 47.58 36.036 0 8.736-7.488 15.288-20.124 15.288-10.608 0-19.5-4.992-24.336-11.076l-4.836 5.929c7.488 8.424 16.848 12.012 29.016 12.012zm-279.07-79.067c-.386 1.16-.819 2.32-1.304 3.48-.483 1.16-1.04 2.175-1.667 3.045-.63.87-1.33 1.521-2.103 1.957-.773.436-1.596.508-2.466.218-1.159-.193-1.812-1.04-1.957-2.537-.146-1.5.024-2.973.508-4.423.677-2.32 1.667-5.39 2.972-9.207 1.306-3.82 2.804-8 4.496-12.543 1.689-4.543 3.479-9.256 5.365-14.138 1.885-4.88 3.696-9.545 5.437-13.992s3.335-8.482 4.785-12.108c1.45-3.625 2.562-6.451 3.335-8.481.29-.58.725-1.063 1.305-1.45s1.185-.58 1.813-.58c.628 0 1.256.193 1.885.58.628.387 1.135 1.015 1.522 1.885.772 2.03.821 4.013.145 5.945-.677 1.547-1.643 3.939-2.9 7.177-1.257 3.24-2.682 6.888-4.277 10.948-1.595 4.06-3.263 8.362-5.002 12.905-1.74 4.543-3.383 8.87-4.931 12.978-1.547 4.108-2.947 7.805-4.205 11.092-1.257 3.286-2.175 5.702-2.756 7.249zm77.286-36.395c-1.933-1.45-4.036-2.997-6.308-4.641-2.271-1.643-4.664-3.335-7.177-5.074 1.643 5.896 3.383 11.503 5.22 16.819.29 1.16.17 2.176-.362 3.045-.532.87-1.185 1.306-1.958 1.306-1.257-.193-2.537-.773-3.843-1.74-1.305-.967-2.2-2.127-2.682-3.48-.388-.869-.87-2.271-1.45-4.204-.58-1.934-1.257-4.205-2.03-6.815-1.643 2.417-3.166 4.785-4.567 7.105-1.401 2.319-2.729 4.543-3.987 6.67-.773 1.062-1.644 1.667-2.61 1.812s-1.691-.073-2.175-.653c-.677-1.062-1.087-2.439-1.233-4.133-.145-1.689.12-3.117.798-4.276.483-.773 1.354-2.176 2.61-4.205 1.257-2.03 2.803-4.398 4.64-7.105-2.029.483-4.012.99-5.944 1.522-1.934.531-3.867 1.04-5.8 1.522-1.16.193-2.176 0-3.046-.58-.869-.58-1.257-1.257-1.159-2.029.29-1.258.941-2.393 1.957-3.407 1.016-1.017 2.199-1.716 3.553-2.104.967-.29 2.537-.699 4.713-1.232 2.175-.53 4.664-1.135 7.467-1.812-1.933-1.16-3.842-2.344-5.728-3.552-1.885-1.21-3.794-2.345-5.728-3.408-1.062-.677-1.667-1.547-1.812-2.609-.146-1.063.073-1.837.652-2.32 1.063-.677 2.345-.99 3.844-.942 1.498.048 2.827.46 3.986 1.232.968.482 2.32 1.305 4.061 2.465-.29-1.643-.532-3.214-.726-4.712-.192-1.5-.338-2.925-.435-4.278-.097-1.062.145-1.981.725-2.755.58-.772 1.257-1.208 2.03-1.305.677-.193 1.498.023 2.465.653.967.628 1.692 1.812 2.175 3.552.388 1.837.822 3.722 1.306 5.654.482 1.934.967 4.013 1.449 6.235 1.934-2.61 3.818-5.075 5.655-7.395 1.837-2.32 3.577-4.303 5.22-5.945.773-.773 1.644-1.208 2.61-1.305.967-.098 1.74.145 2.32.725.482.387.846 1.16 1.088 2.32.24 1.16-.17 2.465-1.233 3.915-1.062 1.449-2.271 3.069-3.625 4.857-1.353 1.788-2.755 3.697-4.205 5.728 2.514-.483 4.979-.847 7.396-1.088 2.417-.24 4.688-.41 6.815-.508 1.062 0 1.981.193 2.755.58.772.388 1.208.968 1.305 1.74.097.677-.193 1.498-.87 2.465s-1.885 1.596-3.625 1.886c-1.643.289-3.407.579-5.292.869-1.886.29-3.795.628-5.728 1.016 2.223 1.643 4.302 3.262 6.234 4.857 1.934 1.596 3.723 3.117 5.365 4.567.773.773 1.28 1.57 1.523 2.392.239.822.119 1.57-.363 2.248-.483.483-1.305.822-2.465 1.016-1.161.192-2.418-.194-3.771-1.161zm58.87 0c-1.933-1.45-4.036-2.997-6.307-4.641-2.272-1.643-4.665-3.335-7.179-5.074 1.644 5.896 3.384 11.503 5.221 16.819.29 1.16.17 2.176-.363 3.045-.53.87-1.184 1.306-1.957 1.306-1.257-.193-2.537-.773-3.843-1.74-1.305-.967-2.2-2.127-2.683-3.48-.387-.869-.869-2.271-1.449-4.204-.58-1.934-1.257-4.205-2.03-6.815-1.643 2.417-3.166 4.785-4.568 7.105-1.399 2.319-2.729 4.543-3.986 6.67-.773 1.062-1.644 1.667-2.61 1.812s-1.692-.073-2.175-.653c-.678-1.062-1.087-2.439-1.233-4.133-.145-1.689.12-3.117.798-4.276.483-.773 1.354-2.176 2.61-4.205 1.257-2.03 2.803-4.398 4.64-7.105-2.029.483-4.012.99-5.944 1.522-1.934.531-3.867 1.04-5.801 1.522-1.159.193-2.175 0-3.045-.58s-1.257-1.257-1.159-2.029c.289-1.258.941-2.393 1.957-3.407 1.016-1.017 2.2-1.716 3.553-2.104.967-.29 2.537-.699 4.712-1.232 2.176-.53 4.665-1.135 7.468-1.812-1.933-1.16-3.842-2.344-5.727-3.552-1.887-1.21-3.795-2.345-5.729-3.408-1.062-.677-1.667-1.547-1.812-2.609-.146-1.063.072-1.837.652-2.32 1.063-.677 2.345-.99 3.844-.942 1.498.048 2.826.46 3.986 1.232.967.482 2.32 1.305 4.061 2.465-.29-1.643-.532-3.214-.726-4.712-.192-1.5-.338-2.925-.435-4.278-.098-1.062.145-1.981.725-2.755.58-.772 1.257-1.208 2.03-1.305.677-.193 1.498.023 2.465.653.967.628 1.692 1.812 2.175 3.552.388 1.837.822 3.722 1.306 5.654.482 1.934.967 4.013 1.449 6.235 1.934-2.61 3.818-5.075 5.655-7.395 1.837-2.32 3.577-4.303 5.22-5.945.773-.773 1.644-1.208 2.61-1.305.967-.098 1.74.145 2.32.725.482.387.846 1.16 1.087 2.32.242 1.16-.17 2.465-1.232 3.915-1.062 1.449-2.271 3.069-3.625 4.857-1.353 1.788-2.755 3.697-4.205 5.728 2.514-.483 4.979-.847 7.396-1.088 2.417-.24 4.688-.41 6.814-.508 1.063 0 1.982.193 2.756.58.772.388 1.207.968 1.305 1.74.097.677-.193 1.498-.87 2.465s-1.885 1.596-3.625 1.886c-1.644.289-3.407.579-5.292.869-1.886.29-3.795.628-5.729 1.016 2.224 1.643 4.303 3.262 6.235 4.857s3.722 3.117 5.365 4.567c.772.773 1.28 1.57 1.522 2.392.24.822.12 1.57-.362 2.248-.483.483-1.306.822-2.465 1.016-1.161.192-2.418-.194-3.771-1.161zm221.59 116.59c25.376 0 43.066-16.104 43.066-40.748 0-24.4-17.69-40.626-43.188-40.626h-32.086v81.374h32.208zm-.122-15.25h-14.762v-50.874h14.884c16.592 0 25.376 11.102 25.376 25.376 0 13.908-9.394 25.498-25.498 25.498zm94.184 16.714c24.521 0 42.456-17.567 42.456-42.09s-17.935-42.09-42.456-42.09c-24.645 0-42.578 17.567-42.578 42.09s17.934 42.09 42.578 42.09zm0-15.372c-15.128 0-24.767-11.59-24.767-26.718 0-15.25 9.639-26.718 24.767-26.718 15.006 0 24.644 11.468 24.644 26.718 0 15.128-9.638 26.718-24.644 26.718zm94.184 15.372c17.812 0 28.182-9.882 33.916-20.008l-14.884-7.198c-3.416 6.588-10.736 11.834-19.032 11.834-14.884 0-25.62-11.346-25.62-26.718s10.736-26.718 25.62-26.718c8.296 0 15.616 5.246 19.032 11.834l14.884-7.32c-5.734-10.248-16.104-19.886-33.916-19.886-24.521 0-43.432 16.958-43.432 42.09 0 25.01 18.91 42.09 43.432 42.09z"/></svg> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/sassdoc/assets/images/logo_light_compact.svg b/ui/ui-frontend/projects/pastis/sassdoc/assets/images/logo_light_compact.svg new file mode 100644 index 0000000000000000000000000000000000000000..7f9ef80134db88a3229afb843d7d2d41ca8f1c24 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/sassdoc/assets/images/logo_light_compact.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="431.5" height="431.5" viewBox="0 0 431.5 431.5"><path fill="#5C4863" d="M112.1 231.372c18.876 0 28.236-9.983 28.236-22.152 0-29.016-47.424-17.472-47.424-36.348 0-7.8 7.02-13.728 18.72-13.728 9.984 0 18.096 4.056 22.464 9.984l4.524-5.772c-5.46-6.084-14.04-11.076-26.988-11.076-17.004 0-26.832 9.36-26.832 20.904 0 27.144 47.58 15.444 47.58 36.036 0 8.736-7.488 15.288-20.124 15.288-10.608 0-19.5-4.992-24.336-11.076l-4.836 5.928c7.488 8.424 16.848 12.012 29.016 12.012zm105.144-1.872v-53.04c0-16.848-12.168-24.18-27.456-24.18-12.48 0-21.216 4.212-29.016 12.636l4.524 5.616c6.864-7.8 14.196-11.076 23.712-11.076 11.076 0 20.124 6.084 20.124 17.316v15.288c-6.552-7.332-15.132-10.764-25.584-10.764-13.104 0-26.364 8.58-26.364 24.96 0 16.225 13.416 25.116 26.364 25.116 10.452 0 18.876-3.433 25.584-10.765v8.893h8.112zm-30.888-4.523c-12.324 0-20.592-7.957-20.592-18.564 0-10.764 8.268-18.72 20.592-18.72 9.048 0 17.472 3.432 22.776 10.452v16.536c-5.304 6.863-13.728 10.296-22.776 10.296zm78.624 6.395c18.876 0 28.235-9.983 28.235-22.152 0-29.016-47.424-17.472-47.424-36.348 0-7.8 7.02-13.728 18.72-13.728 9.984 0 18.097 4.056 22.464 9.984l4.524-5.772c-5.46-6.084-14.04-11.076-26.988-11.076-17.004 0-26.832 9.36-26.832 20.904 0 27.144 47.58 15.444 47.58 36.036 0 8.736-7.488 15.288-20.124 15.288-10.607 0-19.5-4.992-24.336-11.076l-4.836 5.928c7.489 8.424 16.849 12.012 29.017 12.012zm71.604 0c18.876 0 28.236-9.983 28.236-22.152 0-29.016-47.424-17.472-47.424-36.348 0-7.8 7.02-13.728 18.72-13.728 9.983 0 18.096 4.056 22.464 9.984l4.523-5.772c-5.46-6.084-14.039-11.076-26.987-11.076-17.004 0-26.832 9.36-26.832 20.904 0 27.144 47.58 15.444 47.58 36.036 0 8.736-7.488 15.288-20.124 15.288-10.608 0-19.5-4.992-24.336-11.076l-4.836 5.928c7.488 8.424 16.848 12.012 29.016 12.012zm-213.704 115.128c28.288 0 48.008-17.952 48.008-45.424 0-27.2-19.72-45.288-48.144-45.288h-35.768v90.712h35.904zm-.136-17h-16.456v-56.712h16.592c18.496 0 28.288 12.376 28.288 28.288 0 15.504-10.472 28.424-28.424 28.424zm104.992 18.632c27.336 0 47.328-19.584 47.328-46.92s-19.992-46.92-47.328-46.92c-27.472 0-47.464 19.584-47.464 46.92s19.992 46.92 47.464 46.92zm0-17.136c-16.864 0-27.608-12.92-27.608-29.784 0-17 10.744-29.784 27.608-29.784 16.728 0 27.472 12.784 27.472 29.784 0 16.864-10.744 29.784-27.472 29.784zm104.993 17.136c19.855 0 31.416-11.016 37.808-22.304l-16.592-8.024c-3.809 7.345-11.969 13.192-21.216 13.192-16.593 0-28.561-12.648-28.561-29.784s11.968-29.784 28.561-29.784c9.247 0 17.407 5.848 21.216 13.192l16.592-8.16c-6.393-11.424-17.952-22.168-37.808-22.168-27.337 0-48.416 18.903-48.416 46.92-.001 27.88 21.079 46.92 48.416 46.92z"/><path fill="#DD5A6F" d="M57.515 152.305c-.387 1.16-.822 2.32-1.305 3.48-.483 1.16-1.04 2.175-1.668 3.045s-1.33 1.522-2.102 1.957c-.773.436-1.595.508-2.465.218-1.16-.193-1.812-1.04-1.958-2.538-.145-1.498.025-2.972.508-4.422.677-2.32 1.667-5.39 2.972-9.208 1.306-3.818 2.804-8 4.495-12.542 1.692-4.543 3.48-9.256 5.365-14.138 1.886-4.88 3.698-9.545 5.438-13.992 1.74-4.447 3.335-8.482 4.785-12.108 1.45-3.625 2.562-6.452 3.335-8.482.29-.58.725-1.063 1.305-1.45s1.184-.58 1.813-.58c.628 0 1.256.193 1.885.58.628.387 1.135 1.015 1.522 1.885.773 2.03.822 4.012.145 5.945-.677 1.547-1.643 3.94-2.9 7.177-1.257 3.24-2.682 6.888-4.277 10.948-1.596 4.06-3.263 8.362-5.003 12.905-1.74 4.543-3.383 8.87-4.93 12.977-1.547 4.11-2.948 7.806-4.205 11.093-1.257 3.287-2.175 5.703-2.755 7.25zm77.285-36.395c-1.933-1.45-4.036-2.997-6.308-4.64-2.27-1.643-4.664-3.335-7.177-5.075 1.643 5.897 3.383 11.503 5.22 16.82.29 1.16.17 2.175-.363 3.045-.53.87-1.184 1.305-1.957 1.305-1.257-.193-2.537-.773-3.843-1.74-1.305-.967-2.2-2.127-2.682-3.48-.387-.87-.87-2.272-1.45-4.205-.58-1.933-1.257-4.205-2.03-6.815-1.643 2.417-3.166 4.785-4.568 7.105-1.4 2.32-2.73 4.543-3.987 6.67-.773 1.063-1.643 1.667-2.61 1.812-.967.146-1.692-.072-2.175-.652-.677-1.063-1.087-2.44-1.233-4.133-.145-1.69.12-3.117.798-4.277.483-.773 1.353-2.175 2.61-4.205 1.257-2.03 2.803-4.398 4.64-7.105-2.03.483-4.012.99-5.945 1.522-1.933.532-3.867 1.04-5.8 1.523-1.16.193-2.175 0-3.045-.58-.87-.58-1.257-1.257-1.16-2.03.29-1.257.942-2.392 1.957-3.407 1.016-1.016 2.2-1.716 3.553-2.103.967-.29 2.537-.7 4.712-1.232 2.176-.532 4.665-1.136 7.468-1.813-1.933-1.16-3.842-2.344-5.728-3.552-1.885-1.21-3.794-2.345-5.727-3.408-1.063-.677-1.667-1.547-1.813-2.61-.145-1.063.073-1.837.653-2.32 1.063-.677 2.344-.99 3.842-.942 1.5.048 2.828.46 3.988 1.232.967.483 2.32 1.305 4.06 2.465-.29-1.643-.532-3.214-.725-4.712-.193-1.5-.338-2.925-.435-4.278-.097-1.063.145-1.982.725-2.755s1.257-1.208 2.03-1.305c.677-.193 1.498.024 2.465.653.967.628 1.692 1.812 2.175 3.552.387 1.837.822 3.722 1.305 5.655.483 1.933.967 4.012 1.45 6.235 1.933-2.61 3.818-5.075 5.655-7.395 1.837-2.32 3.577-4.302 5.22-5.945.773-.773 1.643-1.208 2.61-1.305.967-.097 1.74.145 2.32.725.483.387.846 1.16 1.087 2.32.242 1.16-.17 2.465-1.232 3.915-1.063 1.45-2.272 3.07-3.625 4.858-1.353 1.788-2.755 3.697-4.205 5.727 2.513-.483 4.978-.846 7.395-1.087 2.417-.242 4.688-.41 6.815-.508 1.063 0 1.982.193 2.755.58.773.387 1.208.967 1.305 1.74.097.677-.193 1.498-.87 2.465-.677.967-1.885 1.595-3.625 1.885-1.643.29-3.407.58-5.293.87-1.885.29-3.794.628-5.727 1.015 2.223 1.643 4.302 3.262 6.235 4.858 1.933 1.595 3.722 3.117 5.365 4.567.773.773 1.28 1.57 1.522 2.393.242.82.12 1.57-.362 2.247-.483.483-1.305.822-2.465 1.015-1.16.193-2.417-.193-3.77-1.16zm58.87 0c-1.933-1.45-4.036-2.997-6.308-4.64-2.27-1.643-4.664-3.335-7.177-5.075 1.643 5.897 3.383 11.503 5.22 16.82.29 1.16.17 2.175-.363 3.045-.53.87-1.184 1.305-1.957 1.305-1.257-.193-2.537-.773-3.843-1.74-1.305-.967-2.2-2.127-2.682-3.48-.387-.87-.87-2.272-1.45-4.205s-1.257-4.205-2.03-6.815c-1.643 2.417-3.166 4.785-4.568 7.105-1.4 2.32-2.73 4.543-3.987 6.67-.773 1.063-1.643 1.667-2.61 1.812-.967.146-1.692-.072-2.175-.652-.677-1.063-1.087-2.44-1.233-4.133-.145-1.69.12-3.117.798-4.277.483-.773 1.353-2.175 2.61-4.205 1.257-2.03 2.803-4.398 4.64-7.105-2.03.483-4.012.99-5.945 1.522-1.933.532-3.867 1.04-5.8 1.523-1.16.193-2.175 0-3.045-.58-.87-.58-1.257-1.257-1.16-2.03.29-1.257.942-2.392 1.957-3.407 1.016-1.016 2.2-1.716 3.553-2.103.967-.29 2.537-.7 4.712-1.232 2.176-.532 4.665-1.136 7.468-1.813-1.933-1.16-3.842-2.344-5.728-3.552-1.885-1.21-3.794-2.345-5.727-3.408-1.063-.677-1.667-1.547-1.813-2.61-.145-1.063.073-1.837.653-2.32 1.063-.677 2.344-.99 3.842-.942 1.5.048 2.828.46 3.988 1.232.967.483 2.32 1.305 4.06 2.465-.29-1.643-.532-3.214-.725-4.712-.193-1.5-.338-2.925-.435-4.278-.097-1.063.145-1.982.725-2.755.58-.773 1.257-1.208 2.03-1.305.677-.193 1.498.024 2.465.653.967.628 1.692 1.812 2.175 3.552.387 1.837.822 3.722 1.305 5.655s.967 4.012 1.45 6.235c1.933-2.61 3.818-5.075 5.655-7.395 1.837-2.32 3.577-4.302 5.22-5.945.773-.773 1.643-1.208 2.61-1.305.967-.097 1.74.145 2.32.725.483.387.846 1.16 1.087 2.32.242 1.16-.17 2.465-1.232 3.915-1.063 1.45-2.272 3.07-3.625 4.858-1.353 1.788-2.755 3.697-4.205 5.727 2.513-.483 4.978-.846 7.395-1.087 2.417-.242 4.688-.41 6.815-.508 1.063 0 1.982.193 2.755.58.773.387 1.208.967 1.305 1.74.097.677-.193 1.498-.87 2.465-.677.967-1.885 1.595-3.625 1.885-1.643.29-3.407.58-5.293.87-1.885.29-3.794.628-5.727 1.015 2.223 1.643 4.302 3.262 6.235 4.858 1.933 1.595 3.722 3.117 5.365 4.567.773.773 1.28 1.57 1.522 2.393.242.82.12 1.57-.362 2.247-.483.483-1.305.822-2.465 1.015-1.16.193-2.417-.193-3.77-1.16z"/></svg> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/sassdoc/assets/images/logo_light_inline.svg b/ui/ui-frontend/projects/pastis/sassdoc/assets/images/logo_light_inline.svg new file mode 100644 index 0000000000000000000000000000000000000000..120ffd2d65e77b1c48c38f146e8ea593480a6ab6 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/sassdoc/assets/images/logo_light_inline.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="792" height="296.75" viewBox="0 0 792 296.75"><path fill="#5C4863" d="M160.1 217.372c18.876 0 28.236-9.984 28.236-22.152 0-29.016-47.424-17.472-47.424-36.348 0-7.8 7.02-13.728 18.72-13.728 9.984 0 18.096 4.056 22.464 9.983l4.524-5.772c-5.46-6.084-14.04-11.075-26.988-11.075-17.004 0-26.832 9.36-26.832 20.903 0 27.145 47.58 15.444 47.58 36.036 0 8.736-7.488 15.288-20.124 15.288-10.607 0-19.5-4.992-24.336-11.076l-4.836 5.929c7.488 8.424 16.848 12.012 29.016 12.012zm105.144-1.872v-53.04c0-16.849-12.168-24.18-27.456-24.18-12.48 0-21.216 4.212-29.017 12.636l4.524 5.616c6.864-7.8 14.196-11.076 23.712-11.076 11.076 0 20.124 6.084 20.124 17.315v15.288c-6.552-7.332-15.132-10.764-25.584-10.764-13.104 0-26.364 8.58-26.364 24.96 0 16.225 13.416 25.116 26.364 25.116 10.452 0 18.876-3.432 25.584-10.764v8.892h8.113v.001zm-30.889-4.524c-12.323 0-20.592-7.956-20.592-18.563 0-10.764 8.269-18.72 20.592-18.72 9.049 0 17.473 3.432 22.776 10.451v16.536c-5.303 6.864-13.727 10.296-22.776 10.296zm78.625 6.396c18.875 0 28.235-9.984 28.235-22.152 0-29.016-47.424-17.472-47.424-36.348 0-7.8 7.021-13.728 18.72-13.728 9.984 0 18.096 4.056 22.464 9.983l4.524-5.772c-5.46-6.084-14.04-11.075-26.988-11.075-17.004 0-26.832 9.36-26.832 20.903 0 27.145 47.58 15.444 47.58 36.036 0 8.736-7.488 15.288-20.124 15.288-10.608 0-19.5-4.992-24.336-11.076l-4.836 5.929c7.489 8.424 16.849 12.012 29.017 12.012zm71.604 0c18.876 0 28.236-9.984 28.236-22.152 0-29.016-47.424-17.472-47.424-36.348 0-7.8 7.02-13.728 18.72-13.728 9.983 0 18.096 4.056 22.464 9.983l4.523-5.772c-5.459-6.084-14.039-11.075-26.987-11.075-17.004 0-26.832 9.36-26.832 20.903 0 27.145 47.58 15.444 47.58 36.036 0 8.736-7.488 15.288-20.124 15.288-10.608 0-19.5-4.992-24.336-11.076l-4.837 5.929c7.489 8.424 16.849 12.012 29.017 12.012zm78.676 1.128c25.376 0 43.066-16.104 43.066-40.748 0-24.4-17.69-40.626-43.188-40.626h-32.086v81.374h32.208zm-.122-15.25h-14.762v-50.874h14.884c16.593 0 25.376 11.103 25.376 25.376 0 13.908-9.394 25.498-25.498 25.498zm94.184 16.714c24.521 0 42.456-17.567 42.456-42.09s-17.935-42.09-42.456-42.09c-24.645 0-42.578 17.567-42.578 42.09s17.934 42.09 42.578 42.09zm0-15.372c-15.128 0-24.767-11.59-24.767-26.718 0-15.25 9.639-26.718 24.767-26.718 15.006 0 24.644 11.468 24.644 26.718 0 15.128-9.638 26.718-24.644 26.718zm94.184 15.372c17.812 0 28.182-9.882 33.916-20.008l-14.884-7.198c-3.416 6.588-10.736 11.834-19.032 11.834-14.884 0-25.62-11.346-25.62-26.718s10.736-26.718 25.62-26.718c8.296 0 15.616 5.246 19.032 11.834l14.884-7.32c-5.734-10.248-16.104-19.886-33.916-19.886-24.521 0-43.432 16.958-43.432 42.09 0 25.01 18.91 42.09 43.432 42.09z"/><path fill="#DD5A6F" d="M105.515 138.305c-.387 1.16-.821 2.32-1.305 3.48s-1.04 2.175-1.668 3.045-1.33 1.521-2.102 1.957c-.773.436-1.596.508-2.466.218-1.159-.192-1.812-1.04-1.958-2.537-.145-1.5.025-2.973.509-4.423.677-2.32 1.667-5.39 2.973-9.208 1.305-3.818 2.803-8 4.495-12.542 1.689-4.543 3.479-9.256 5.365-14.138 1.885-4.88 3.696-9.545 5.437-13.992 1.74-4.447 3.335-8.482 4.785-12.108 1.45-3.625 2.562-6.452 3.335-8.482.29-.58.725-1.063 1.305-1.45s1.185-.58 1.813-.58c.628 0 1.256.193 1.885.58.628.387 1.135 1.015 1.521 1.885.773 2.03.822 4.012.146 5.945-.677 1.547-1.643 3.94-2.9 7.177-1.257 3.24-2.682 6.888-4.276 10.948-1.597 4.06-3.264 8.362-5.003 12.905-1.74 4.543-3.384 8.87-4.931 12.977-1.547 4.11-2.947 7.806-4.205 11.093-1.257 3.287-2.175 5.703-2.755 7.25zm77.285-36.395c-1.933-1.45-4.036-2.997-6.307-4.64-2.272-1.643-4.665-3.335-7.178-5.075 1.643 5.897 3.383 11.503 5.22 16.82.29 1.16.17 2.175-.362 3.045s-1.185 1.305-1.958 1.305c-1.257-.193-2.537-.773-3.843-1.74-1.305-.967-2.2-2.127-2.683-3.48-.387-.87-.869-2.272-1.449-4.205s-1.258-4.205-2.03-6.815c-1.644 2.417-3.166 4.785-4.567 7.105s-2.729 4.543-3.987 6.67c-.773 1.063-1.644 1.667-2.61 1.812-.967.146-1.692-.072-2.175-.652-.677-1.063-1.087-2.44-1.232-4.133-.146-1.69.12-3.117.797-4.277.483-.773 1.354-2.175 2.61-4.205 1.257-2.03 2.803-4.398 4.64-7.105-2.029.483-4.012.99-5.944 1.522-1.934.532-3.867 1.04-5.801 1.523-1.159.193-2.175 0-3.045-.58-.869-.58-1.257-1.257-1.159-2.03.29-1.257.941-2.392 1.958-3.407 1.015-1.016 2.199-1.716 3.552-2.103.967-.29 2.537-.7 4.713-1.232 2.175-.532 4.664-1.136 7.467-1.813-1.933-1.16-3.842-2.344-5.727-3.552-1.886-1.21-3.795-2.345-5.729-3.408-1.062-.677-1.667-1.547-1.812-2.61-.146-1.063.072-1.837.651-2.32 1.063-.677 2.345-.99 3.844-.942 1.498.048 2.827.46 3.986 1.232.968.483 2.32 1.305 4.061 2.465-.29-1.643-.532-3.214-.726-4.712-.192-1.5-.338-2.925-.435-4.278-.097-1.062.145-1.982.725-2.755s1.257-1.208 2.03-1.305c.677-.193 1.498.024 2.465.653.967.628 1.692 1.812 2.175 3.552.388 1.837.822 3.722 1.306 5.655.482 1.933.967 4.012 1.45 6.235 1.933-2.61 3.817-5.075 5.654-7.395 1.837-2.32 3.577-4.302 5.221-5.945.772-.773 1.643-1.208 2.609-1.305.967-.097 1.74.145 2.32.725.482.387.846 1.16 1.088 2.32.24 1.16-.17 2.465-1.233 3.915-1.062 1.45-2.271 3.07-3.625 4.858-1.353 1.788-2.755 3.697-4.205 5.727 2.514-.483 4.979-.846 7.396-1.088 2.417-.24 4.688-.41 6.815-.507 1.062 0 1.981.193 2.755.58.772.387 1.208.967 1.305 1.74.097.677-.193 1.498-.87 2.465-.677.967-1.885 1.595-3.625 1.885-1.643.29-3.407.58-5.292.87-1.886.29-3.795.628-5.728 1.015 2.223 1.643 4.302 3.262 6.234 4.858 1.934 1.595 3.723 3.117 5.365 4.567.773.773 1.28 1.57 1.523 2.393.239.82.119 1.57-.363 2.247-.483.483-1.305.822-2.465 1.015-1.16.193-2.417-.193-3.77-1.16zm58.87 0c-1.933-1.45-4.036-2.997-6.308-4.64-2.271-1.643-4.664-3.335-7.177-5.075 1.643 5.897 3.383 11.503 5.22 16.82.29 1.16.17 2.175-.363 3.045-.53.87-1.184 1.305-1.957 1.305-1.257-.193-2.537-.773-3.843-1.74s-2.2-2.127-2.683-3.48c-.387-.87-.87-2.272-1.449-4.205-.58-1.933-1.257-4.205-2.03-6.815-1.644 2.417-3.166 4.785-4.567 7.105s-2.729 4.543-3.987 6.67c-.773 1.063-1.644 1.667-2.61 1.812-.967.146-1.692-.072-2.175-.652-.678-1.063-1.087-2.44-1.233-4.133-.145-1.69.12-3.117.798-4.277.483-.773 1.354-2.175 2.61-4.205 1.257-2.03 2.803-4.398 4.64-7.105-2.029.483-4.012.99-5.944 1.522-1.934.532-3.867 1.04-5.801 1.523-1.159.193-2.175 0-3.045-.58-.87-.58-1.257-1.257-1.159-2.03.289-1.257.941-2.392 1.958-3.407 1.015-1.016 2.199-1.716 3.552-2.103.967-.29 2.537-.7 4.713-1.232 2.175-.532 4.664-1.136 7.467-1.813-1.933-1.16-3.842-2.344-5.727-3.552-1.887-1.21-3.795-2.345-5.729-3.408-1.062-.677-1.667-1.547-1.812-2.61-.146-1.063.071-1.837.651-2.32 1.063-.677 2.345-.99 3.844-.942 1.498.048 2.826.46 3.986 1.232.967.483 2.32 1.305 4.061 2.465-.29-1.643-.532-3.214-.726-4.712-.192-1.5-.338-2.925-.435-4.278-.097-1.062.145-1.982.725-2.755s1.257-1.208 2.03-1.305c.677-.193 1.498.024 2.465.653.967.628 1.692 1.812 2.175 3.552.388 1.837.822 3.722 1.306 5.655.482 1.933.967 4.012 1.45 6.235 1.933-2.61 3.817-5.075 5.654-7.395 1.837-2.32 3.577-4.302 5.221-5.945.772-.773 1.643-1.208 2.609-1.305.967-.097 1.74.145 2.32.725.482.387.846 1.16 1.087 2.32.242 1.16-.17 2.465-1.232 3.915-1.062 1.45-2.271 3.07-3.625 4.858-1.353 1.788-2.755 3.697-4.205 5.727 2.514-.483 4.979-.846 7.396-1.088 2.417-.24 4.688-.41 6.814-.507 1.063 0 1.982.193 2.756.58.772.387 1.207.967 1.305 1.74.097.677-.193 1.498-.87 2.465-.677.967-1.885 1.595-3.625 1.885-1.643.29-3.407.58-5.292.87-1.886.29-3.795.628-5.729 1.015 2.224 1.643 4.303 3.262 6.235 4.858 1.933 1.595 3.722 3.117 5.365 4.567.772.773 1.28 1.57 1.522 2.393.24.82.12 1.57-.362 2.247-.483.483-1.306.822-2.466 1.015-1.159.193-2.416-.193-3.769-1.16z"/></svg> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/sassdoc/assets/js/main.js b/ui/ui-frontend/projects/pastis/sassdoc/assets/js/main.js new file mode 100644 index 0000000000000000000000000000000000000000..015842a091b146e9ba8e112a5e279f95fa567d8d --- /dev/null +++ b/ui/ui-frontend/projects/pastis/sassdoc/assets/js/main.js @@ -0,0 +1,56 @@ +/* global document */ + +(function ($, global) { + 'use strict'; + + // Constructor + var App = function (conf) { + this.conf = $.extend({ + // Search module + search: new global.Search(), + + // Sidebar module + sidebar: new global.Sidebar(), + + // Initialisation + init: true + }, conf || {}); + + // Launch the module + if (this.conf.init !== false) { + this.initialize(); + } + }; + + // Initialisation method + App.prototype.initialize = function () { + this.codePreview(); + }; + + // Toggle code preview collapsed/expanded modes + App.prototype.codePreview = function () { + var $item; + var $code; + var switchTo; + + $('.item__code--togglable').on('click', function () { + $item = $(this); + $code = $item.find('code'); + switchTo = $item.attr('data-current-state') === 'expanded' ? 'collapsed' : 'expanded'; + + $item.attr('data-current-state', switchTo); + $code.html($item.attr('data-' + switchTo)); + Prism.highlightElement($code[0]); + }); + }; + + global.App = App; +}(window.jQuery, window)); + +(function ($, global) { + + $(document).ready(function () { + var app = new global.App(); + }); + +}(window.jQuery, window)); \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/sassdoc/assets/js/main.min.js b/ui/ui-frontend/projects/pastis/sassdoc/assets/js/main.min.js new file mode 100644 index 0000000000000000000000000000000000000000..b81f9d4a6de51bd1c37e449ad0ab278ccdf237e5 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/sassdoc/assets/js/main.min.js @@ -0,0 +1 @@ +!function(t){function e(t,n){this.list=t,this.options=n=n||{};var i,o,s;for(i=0,keys=["sort","includeScore","shouldSort"],o=keys.length;o>i;i++)s=keys[i],this.options[s]=s in n?n[s]:e.defaultOptions[s];for(i=0,keys=["searchFn","sortFn","keys","getFn"],o=keys.length;o>i;i++)s=keys[i],this.options[s]=n[s]||e.defaultOptions[s]}var n=function(t,e){if(e=e||{},this.options=e,this.options.location=e.location||n.defaultOptions.location,this.options.distance="distance"in e?e.distance:n.defaultOptions.distance,this.options.threshold="threshold"in e?e.threshold:n.defaultOptions.threshold,this.options.maxPatternLength=e.maxPatternLength||n.defaultOptions.maxPatternLength,this.pattern=e.caseSensitive?t:t.toLowerCase(),this.patternLen=t.length,this.patternLen>this.options.maxPatternLength)throw new Error("Pattern length is too long");this.matchmask=1<<this.patternLen-1,this.patternAlphabet=this._calculatePatternAlphabet()};n.defaultOptions={location:0,distance:100,threshold:.6,maxPatternLength:32},n.prototype._calculatePatternAlphabet=function(){var t={},e=0;for(e=0;e<this.patternLen;e++)t[this.pattern.charAt(e)]=0;for(e=0;e<this.patternLen;e++)t[this.pattern.charAt(e)]|=1<<this.pattern.length-e-1;return t},n.prototype._bitapScore=function(t,e){var n=t/this.patternLen,i=Math.abs(this.options.location-e);return this.options.distance?n+i/this.options.distance:i?1:n},n.prototype.search=function(t){if(t=this.options.caseSensitive?t:t.toLowerCase(),this.pattern===t)return{isMatch:!0,score:0};var e,n,i,o,s,r,a,h,p,c=t.length,l=this.options.location,u=this.options.threshold,f=t.indexOf(this.pattern,l),d=this.patternLen+c,g=1,m=[];for(-1!=f&&(u=Math.min(this._bitapScore(0,f),u),f=t.lastIndexOf(this.pattern,l+this.patternLen),-1!=f&&(u=Math.min(this._bitapScore(0,f),u))),f=-1,e=0;e<this.patternLen;e++){for(i=0,o=d;o>i;)this._bitapScore(e,l+o)<=u?i=o:d=o,o=Math.floor((d-i)/2+i);for(d=o,s=Math.max(1,l-o+1),r=Math.min(l+o,c)+this.patternLen,a=Array(r+2),a[r+1]=(1<<e)-1,n=r;n>=s;n--)if(p=this.patternAlphabet[t.charAt(n-1)],a[n]=0===e?(a[n+1]<<1|1)&p:(a[n+1]<<1|1)&p|((h[n+1]|h[n])<<1|1)|h[n+1],a[n]&this.matchmask&&(g=this._bitapScore(e,n-1),u>=g)){if(u=g,f=n-1,m.push(f),!(f>l))break;s=Math.max(1,2*l-f)}if(this._bitapScore(e+1,l)>u)break;h=a}return{isMatch:f>=0,score:g}};var i={deepValue:function(t,e){for(var n=0,e=e.split("."),i=e.length;i>n;n++){if(!t)return null;t=t[e[n]]}return t}};e.defaultOptions={id:null,caseSensitive:!1,includeScore:!1,shouldSort:!0,searchFn:n,sortFn:function(t,e){return t.score-e.score},getFn:i.deepValue,keys:[]},e.prototype.search=function(t){var e,n,o,s,r,a=new this.options.searchFn(t,this.options),h=this.list,p=h.length,c=this.options,l=this.options.keys,u=l.length,f=[],d={},g=[],m=function(t,e,n){void 0!==t&&null!==t&&"string"==typeof t&&(s=a.search(t),s.isMatch&&(r=d[n],r?r.score=Math.min(r.score,s.score):(d[n]={item:e,score:s.score},f.push(d[n]))))};if("string"==typeof h[0])for(var e=0;p>e;e++)m(h[e],e,e);else for(var e=0;p>e;e++)for(o=h[e],n=0;u>n;n++)m(this.options.getFn(o,l[n]),o,e);c.shouldSort&&f.sort(c.sortFn);for(var y=c.includeScore?function(t){return f[t]}:function(t){return f[t].item},L=c.id?function(t){return i.deepValue(y(t),c.id)}:function(t){return y(t)},e=0,v=f.length;v>e;e++)g.push(L(e));return g},"object"==typeof exports?module.exports=e:"function"==typeof define&&define.amd?define(function(){return e}):t.Fuse=e}(this);(function($,global){var Sidebar=function(conf){this.conf=$.extend({collapsedClass:"is-collapsed",storageKey:"_sassdoc_sidebar_index",indexAttribute:"data-slug",toggleBtn:".js-btn-toggle",init:true},conf||{});if(this.conf.init===true){this.initialize()}};Sidebar.prototype.initialize=function(){this.conf.nodes=$("["+this.conf.indexAttribute+"]");this.load();this.updateDOM();this.bind();this.loadToggle()};Sidebar.prototype.loadToggle=function(){$("<span />",{"class":"layout-toggle",html:"×","data-alt":"→"}).appendTo($(".header"));$(".layout-toggle").on("click",function(){var $this=$(this);var alt;$("body").toggleClass("sidebar-closed");alt=$this.html();$this.html($this.data("alt"));$this.data("alt",alt)})};Sidebar.prototype.load=function(){var index="localStorage"in global?global.localStorage.getItem(this.conf.storageKey):null;this.index=index?JSON.parse(index):this.buildIndex()};Sidebar.prototype.buildIndex=function(){var index={};var $item;this.conf.nodes.each($.proxy(function(index,item){$item=$(item);index[$item.attr(this.conf.indexAttribute)]=!$item.hasClass(this.conf.collapsedClass)},this));return index};Sidebar.prototype.updateDOM=function(){var item;for(item in this.index){if(this.index[item]===false){$("["+this.conf.indexAttribute+'="'+item+'"]').addClass(this.conf.collapsedClass)}}};Sidebar.prototype.save=function(){if(!("localStorage"in global)){return}global.localStorage.setItem(this.conf.storageKey,JSON.stringify(this.index))};Sidebar.prototype.bind=function(){var $item,slug,fn,text;var collapsed=false;global.onbeforeunload=$.proxy(function(){this.save()},this);$(this.conf.toggleBtn).on("click",$.proxy(function(event){$node=$(event.target);text=$node.attr("data-alt");$node.attr("data-alt",$node.text());$node.text(text);fn=collapsed===true?"removeClass":"addClass";this.conf.nodes.each($.proxy(function(index,item){$item=$(item);slug=$item.attr(this.conf.indexAttribute);this.index[slug]=collapsed;$("["+this.conf.indexAttribute+'="'+slug+'"]')[fn](this.conf.collapsedClass)},this));collapsed=!collapsed;this.save()},this));this.conf.nodes.on("click",$.proxy(function(event){$item=$(event.target);slug=$item.attr(this.conf.indexAttribute);this.index[slug]=!this.index[slug];$item.toggleClass(this.conf.collapsedClass)},this))};global.Sidebar=Sidebar})(window.jQuery,window);(function($,global){var Search=function(conf){this.conf=$.extend({search:{items:".sassdoc__item",input:"#js-search-input",form:"#js-search",suggestionsWrapper:"#js-search-suggestions"},fuse:{keys:["name"],threshold:.3},init:true},conf||{});if(this.conf.init===true){this.initialize()}};Search.prototype.initialize=function(){this.index=new Fuse($.map($(this.conf.search.items),function(item){var $item=$(item);return{group:$item.data("group"),name:$item.data("name"),type:$item.data("type"),node:$item}}),this.conf.fuse);this.initializeSearch()};Search.prototype.fillSuggestions=function(items){var searchSuggestions=$(this.conf.search.suggestionsWrapper);searchSuggestions.html("");var suggestions=$.map(items.slice(0,10),function(item){var $li=$("<li />",{"data-group":item.group,"data-type":item.type,"data-name":item.name,html:'<a href="#'+item.group+"-"+item.type+"-"+item.name+'"><code>'+item.type.slice(0,3)+"</code> "+item.name+"</a>"});searchSuggestions.append($li);return $li});return suggestions};Search.prototype.search=function(term){return this.fillSuggestions(this.index.search(term))};Search.prototype.initializeSearch=function(){var searchForm=$(this.conf.search.form);var searchInput=$(this.conf.search.input);var searchSuggestions=$(this.conf.search.suggestionsWrapper);var currentSelection=-1;var suggestions=[];var selected;var self=this;searchSuggestions.on("click",function(e){var target=$(event.target);if(target.nodeName==="A"){searchInput.val(target.parent().data("name"));suggestions=self.fillSuggestions([])}});searchForm.on("keyup",function(e){e.preventDefault();if(e.keyCode===13){if(selected){suggestions=self.fillSuggestions([]);searchInput.val(selected.data("name"));window.location=selected.children().first().attr("href")}e.stopPropagation()}if(e.keyCode===40){currentSelection=(currentSelection+1)%suggestions.length}if(e.keyCode===38){currentSelection=currentSelection-1;if(currentSelection<0){currentSelection=suggestions.length-1}}if(suggestions[currentSelection]){if(selected){selected.removeClass("selected")}selected=suggestions[currentSelection];selected.addClass("selected")}});searchInput.on("keyup",function(e){if(e.keyCode!==40&&e.keyCode!==38){currentSelection=-1;suggestions=self.search($(this).val())}else{e.preventDefault()}}).on("search",function(){suggestions=self.search($(this).val())})};global.Search=Search})(window.jQuery,window);(function($,global){"use strict";var App=function(conf){this.conf=$.extend({search:new global.Search,sidebar:new global.Sidebar,init:true},conf||{});if(this.conf.init!==false){this.initialize()}};App.prototype.initialize=function(){this.codePreview()};App.prototype.codePreview=function(){var $item;var $code;var switchTo;$(".item__code--togglable").on("click",function(){$item=$(this);$code=$item.find("code");switchTo=$item.attr("data-current-state")==="expanded"?"collapsed":"expanded";$item.attr("data-current-state",switchTo);$code.html($item.attr("data-"+switchTo));Prism.highlightElement($code[0])})};global.App=App})(window.jQuery,window);(function($,global){$(document).ready(function(){var app=new global.App})})(window.jQuery,window);var self=typeof window!="undefined"?window:{},Prism=function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=self.Prism={util:{encode:function(e){return e instanceof n?new n(e.type,t.util.encode(e.content)):t.util.type(e)==="Array"?e.map(t.util.encode):e.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},clone:function(e){var n=t.util.type(e);switch(n){case"Object":var r={};for(var i in e)e.hasOwnProperty(i)&&(r[i]=t.util.clone(e[i]));return r;case"Array":return e.slice()}return e}},languages:{extend:function(e,n){var r=t.util.clone(t.languages[e]);for(var i in n)r[i]=n[i];return r},insertBefore:function(e,n,r,i){i=i||t.languages;var s=i[e],o={};for(var u in s)if(s.hasOwnProperty(u)){if(u==n)for(var a in r)r.hasOwnProperty(a)&&(o[a]=r[a]);o[u]=s[u]}return i[e]=o},DFS:function(e,n){for(var r in e){n.call(e,r,e[r]);t.util.type(e)==="Object"&&t.languages.DFS(e[r],n)}}},highlightAll:function(e,n){var r=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code');for(var i=0,s;s=r[i++];)t.highlightElement(s,e===!0,n)},highlightElement:function(r,i,s){var o,u,a=r;while(a&&!e.test(a.className))a=a.parentNode;if(a){o=(a.className.match(e)||[,""])[1];u=t.languages[o]}if(!u)return;r.className=r.className.replace(e,"").replace(/\s+/g," ")+" language-"+o;a=r.parentNode;/pre/i.test(a.nodeName)&&(a.className=a.className.replace(e,"").replace(/\s+/g," ")+" language-"+o);var f=r.textContent;if(!f)return;var l={element:r,language:o,grammar:u,code:f};t.hooks.run("before-highlight",l);if(i&&self.Worker){var c=new Worker(t.filename);c.onmessage=function(e){l.highlightedCode=n.stringify(JSON.parse(e.data),o);t.hooks.run("before-insert",l);l.element.innerHTML=l.highlightedCode;s&&s.call(l.element);t.hooks.run("after-highlight",l)};c.postMessage(JSON.stringify({language:l.language,code:l.code}))}else{l.highlightedCode=t.highlight(l.code,l.grammar,l.language);t.hooks.run("before-insert",l);l.element.innerHTML=l.highlightedCode;s&&s.call(r);t.hooks.run("after-highlight",l)}},highlight:function(e,r,i){var s=t.tokenize(e,r);return n.stringify(t.util.encode(s),i)},tokenize:function(e,n,r){var i=t.Token,s=[e],o=n.rest;if(o){for(var u in o)n[u]=o[u];delete n.rest}e:for(var u in n){if(!n.hasOwnProperty(u)||!n[u])continue;var a=n[u],f=a.inside,l=!!a.lookbehind,c=0;a=a.pattern||a;for(var h=0;h<s.length;h++){var p=s[h];if(s.length>e.length)break e;if(p instanceof i)continue;a.lastIndex=0;var d=a.exec(p);if(d){l&&(c=d[1].length);var v=d.index-1+c,d=d[0].slice(c),m=d.length,g=v+m,y=p.slice(0,v+1),b=p.slice(g+1),w=[h,1];y&&w.push(y);var E=new i(u,f?t.tokenize(d,f):d);w.push(E);b&&w.push(b);Array.prototype.splice.apply(s,w)}}}return s},hooks:{all:{},add:function(e,n){var r=t.hooks.all;r[e]=r[e]||[];r[e].push(n)},run:function(e,n){var r=t.hooks.all[e];if(!r||!r.length)return;for(var i=0,s;s=r[i++];)s(n)}}},n=t.Token=function(e,t){this.type=e;this.content=t};n.stringify=function(e,r,i){if(typeof e=="string")return e;if(Object.prototype.toString.call(e)=="[object Array]")return e.map(function(t){return n.stringify(t,r,e)}).join("");var s={type:e.type,content:n.stringify(e.content,r,i),tag:"span",classes:["token",e.type],attributes:{},language:r,parent:i};s.type=="comment"&&(s.attributes.spellcheck="true");t.hooks.run("wrap",s);var o="";for(var u in s.attributes)o+=u+'="'+(s.attributes[u]||"")+'"';return"<"+s.tag+' class="'+s.classes.join(" ")+'" '+o+">"+s.content+"</"+s.tag+">"};if(!self.document){if(!self.addEventListener)return self.Prism;self.addEventListener("message",function(e){var n=JSON.parse(e.data),r=n.language,i=n.code;self.postMessage(JSON.stringify(t.tokenize(i,t.languages[r])));self.close()},!1);return self.Prism}var r=document.getElementsByTagName("script");r=r[r.length-1];if(r){t.filename=r.src;document.addEventListener&&!r.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)}return self.Prism}();typeof module!="undefined"&&module.exports&&(module.exports=Prism);Prism.languages.markup={comment:/<!--[\w\W]*?-->/g,prolog:/<\?.+?\?>/,doctype:/<!DOCTYPE.+?>/,cdata:/<!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/<\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:("|')(\\?[\w\W])*?\1|[^\s'">=]+))?\s*)*\/?>/gi,inside:{tag:{pattern:/^<\/?[\w:-]+/i,inside:{punctuation:/^<\/?/,namespace:/^[\w-]+?:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/gi,inside:{punctuation:/=|>|"/g}},punctuation:/\/?>/g,"attr-name":{pattern:/[\w:-]+/g,inside:{namespace:/^[\w-]+?:/}}}},entity:/\&#?[\da-z]{1,8};/gi};Prism.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&/,"&"))});Prism.languages.css={comment:/\/\*[\w\W]*?\*\//g,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*{))/gi,inside:{punctuation:/[;:]/g}},url:/url\((["']?).*?\1\)/gi,selector:/[^\{\}\s][^\{\};]*(?=\s*\{)/g,property:/(\b|\B)[\w-]+(?=\s*:)/gi,string:/("|')(\\?.)*?\1/g,important:/\B!important\b/gi,punctuation:/[\{\};:]/g,"function":/[-a-z0-9]+(?=\()/gi};Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{style:{pattern:/<style[\w\W]*?>[\w\W]*?<\/style>/gi,inside:{tag:{pattern:/<style[\w\W]*?>|<\/style>/gi,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.css}}});Prism.languages.css.selector={pattern:/[^\{\}\s][^\{\}]*(?=\s*\{)/g,inside:{"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/g,"pseudo-class":/:[-\w]+(?:\(.*\))?/g,"class":/\.[-:\.\w]+/g,id:/#[-:\.\w]+/g}};Prism.languages.insertBefore("css","ignore",{hexcode:/#[\da-f]{3,6}/gi,entity:/\\[\da-f]{1,8}/gi,number:/[\d%\.]+/g});Prism.languages.clike={comment:{pattern:/(^|[^\\])(\/\*[\w\W]*?\*\/|(^|[^:])\/\/.*?(\r?\n|$))/g,lookbehind:!0},string:/("|')(\\?.)*?\1/g,"class-name":{pattern:/((?:(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/gi,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/g,"boolean":/\b(true|false)\b/g,"function":{pattern:/[a-z0-9_]+\(/gi,inside:{punctuation:/\(/}},number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/g,operator:/[-+]{1,2}|!|<=?|>=?|={1,3}|&{1,2}|\|?\||\?|\*|\/|\~|\^|\%/g,ignore:/&(lt|gt|amp);/gi,punctuation:/[{}[\];(),.:]/g};Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|get|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/g,number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?|NaN|-?Infinity)\b/g});Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^\/])\/(?!\/)(\[.+?]|\\.|[^\/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/g,lookbehind:!0}});Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/<script[\w\W]*?>[\w\W]*?<\/script>/gi,inside:{tag:{pattern:/<script[\w\W]*?>|<\/script>/gi,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.javascript}}});Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(\/\*[\w\W]*?\*\/|\/\/.*?(\r?\n|$))/g,lookbehind:!0},atrule:/@[\w-]+(?=\s+(\(|\{|;))/gi,url:/([-a-z]+-)*url(?=\()/gi,selector:/([^@;\{\}\(\)]?([^@;\{\}\(\)]|&|\#\{\$[-_\w]+\})+)(?=\s*\{(\}|\s|[^\}]+(:|\{)[^\}]+))/gm});Prism.languages.insertBefore("scss","atrule",{keyword:/@(if|else if|else|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)|(?=@for\s+\$[-_\w]+\s)+from/i});Prism.languages.insertBefore("scss","property",{variable:/((\$[-_\w]+)|(#\{\$[-_\w]+\}))/i});Prism.languages.insertBefore("scss","ignore",{placeholder:/%[-_\w]+/i,statement:/\B!(default|optional)\b/gi,"boolean":/\b(true|false)\b/g,"null":/\b(null)\b/g,operator:/\s+([-+]{1,2}|={1,2}|!=|\|?\||\?|\*|\/|\%)\s+/g}); diff --git a/ui/ui-frontend/projects/pastis/sassdoc/assets/js/search.js b/ui/ui-frontend/projects/pastis/sassdoc/assets/js/search.js new file mode 100644 index 0000000000000000000000000000000000000000..a5009cade846b71fd0e8102b13a87f920d229246 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/sassdoc/assets/js/search.js @@ -0,0 +1,146 @@ +(function ($, global) { + + var Search = function (conf) { + this.conf = $.extend({ + // Search DOM + search: { + items: '.sassdoc__item', + input: '#js-search-input', + form: '#js-search', + suggestionsWrapper: '#js-search-suggestions' + }, + + // Fuse options + fuse: { + keys: ['name'], + threshold: 0.3 + }, + + init: true + }, conf || {}); + + if (this.conf.init === true) { + this.initialize(); + } + }; + + Search.prototype.initialize = function () { + // Fuse engine instanciation + this.index = new Fuse($.map($(this.conf.search.items), function (item) { + var $item = $(item); + + return { + group: $item.data('group'), + name: $item.data('name'), + type: $item.data('type'), + node: $item + }; + }), this.conf.fuse); + + this.initializeSearch(); + }; + + // Fill DOM with search suggestions + Search.prototype.fillSuggestions = function (items) { + var searchSuggestions = $(this.conf.search.suggestionsWrapper); + searchSuggestions.html(''); + + var suggestions = $.map(items.slice(0, 10), function (item) { + var $li = $('<li />', { + 'data-group': item.group, + 'data-type': item.type, + 'data-name': item.name, + 'html': '<a href="#' + item.group + '-' + item.type + '-' + item.name + '"><code>' + item.type.slice(0, 3) + '</code> ' + item.name + '</a>' + }); + + searchSuggestions.append($li); + return $li; + }); + + return suggestions; + }; + + // Perform a search on a given term + Search.prototype.search = function (term) { + return this.fillSuggestions(this.index.search(term)); + }; + + // Search logic + Search.prototype.initializeSearch = function () { + var searchForm = $(this.conf.search.form); + var searchInput = $(this.conf.search.input); + var searchSuggestions = $(this.conf.search.suggestionsWrapper); + + var currentSelection = -1; + var suggestions = []; + var selected; + + var self = this; + + // Clicking on a suggestion + searchSuggestions.on('click', function (e) { + var target = $(event.target); + + if (target.nodeName === 'A') { + searchInput.val(target.parent().data('name')); + suggestions = self.fillSuggestions([]); + } + }); + + // Filling the form + searchForm.on('keyup', function (e) { + e.preventDefault(); + + // Enter + if (e.keyCode === 13) { + if (selected) { + suggestions = self.fillSuggestions([]); + searchInput.val(selected.data('name')); + window.location = selected.children().first().attr('href'); + } + + e.stopPropagation(); + } + + // KeyDown + if (e.keyCode === 40) { + currentSelection = (currentSelection + 1) % suggestions.length; + } + + // KeyUp + if (e.keyCode === 38) { + currentSelection = currentSelection - 1; + + if (currentSelection < 0) { + currentSelection = suggestions.length - 1; + } + } + + if (suggestions[currentSelection]) { + if (selected) { + selected.removeClass('selected'); + } + + selected = suggestions[currentSelection]; + selected.addClass('selected'); + } + + }); + + searchInput.on('keyup', function (e) { + if (e.keyCode !== 40 && e.keyCode !== 38) { + currentSelection = -1; + suggestions = self.search($(this).val()); + } + + else { + e.preventDefault(); + } + }).on('search', function () { + suggestions = self.search($(this).val()); + }); + }; + + global.Search = Search; + +}(window.jQuery, window)); diff --git a/ui/ui-frontend/projects/pastis/sassdoc/assets/js/sidebar.js b/ui/ui-frontend/projects/pastis/sassdoc/assets/js/sidebar.js new file mode 100644 index 0000000000000000000000000000000000000000..b85852b1eace57a3a25d0db68536cecb65e2cc30 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/sassdoc/assets/js/sidebar.js @@ -0,0 +1,163 @@ +(function ($, global) { + + var Sidebar = function (conf) { + this.conf = $.extend({ + + // Collapsed class + collapsedClass: 'is-collapsed', + + // Storage key + storageKey: '_sassdoc_sidebar_index', + + // Index attribute + indexAttribute: 'data-slug', + + // Toggle button + toggleBtn: '.js-btn-toggle', + + // Automatic initialization + init: true + }, conf || {}); + + if (this.conf.init === true) { + this.initialize(); + } + }; + + /** + * Initialize module + */ + Sidebar.prototype.initialize = function () { + this.conf.nodes = $('[' + this.conf.indexAttribute + ']'); + + this.load(); + this.updateDOM(); + this.bind(); + this.loadToggle(); + }; + + + /** + * Load sidebar toggle + */ + Sidebar.prototype.loadToggle = function () { + $('<span />', { + 'class': 'layout-toggle', + 'html': '×', + 'data-alt': '→' + }).appendTo( $('.header') ); + + $('.layout-toggle').on('click', function () { + var $this = $(this); + var alt; + + $('body').toggleClass('sidebar-closed'); + + alt = $this.html(); + $this.html($this.data('alt')); + $this.data('alt', alt); + }); + }; + + /** + * Load data from storage or create fresh index + */ + Sidebar.prototype.load = function () { + var index = 'localStorage' in global ? + global.localStorage.getItem(this.conf.storageKey) : + null; + + this.index = index ? JSON.parse(index) : this.buildIndex(); + }; + + /** + * Build a fresh index + */ + Sidebar.prototype.buildIndex = function () { + var index = {}; + var $item; + + this.conf.nodes.each($.proxy(function (index, item) { + $item = $(item); + + index[$item.attr(this.conf.indexAttribute)] = !$item.hasClass(this.conf.collapsedClass); + }, this)); + + return index; + }; + + /** + * Update DOM based on index + */ + Sidebar.prototype.updateDOM = function () { + var item; + + for (item in this.index) { + if (this.index[item] === false) { + $('[' + this.conf.indexAttribute + '="' + item + '"]').addClass(this.conf.collapsedClass); + } + } + }; + + /** + * Save index in storage + */ + Sidebar.prototype.save = function () { + if (!('localStorage' in global)) { + return; + } + + global.localStorage.setItem(this.conf.storageKey, JSON.stringify(this.index)); + }; + + /** + * Bind UI events + */ + Sidebar.prototype.bind = function () { + var $item, slug, fn, text; + var collapsed = false; + + // Save index in localStorage + global.onbeforeunload = $.proxy(function () { + this.save(); + }, this); + + // Toggle all + $(this.conf.toggleBtn).on('click', $.proxy(function (event) { + $node = $(event.target); + + text = $node.attr('data-alt'); + $node.attr('data-alt', $node.text()); + $node.text(text); + + fn = collapsed === true ? 'removeClass' : 'addClass'; + + this.conf.nodes.each($.proxy(function (index, item) { + $item = $(item); + slug = $item.attr(this.conf.indexAttribute); + + this.index[slug] = collapsed; + + $('[' + this.conf.indexAttribute + '="' + slug + '"]')[fn](this.conf.collapsedClass); + }, this)); + + collapsed = !collapsed; + this.save(); + }, this)); + + // Toggle item + this.conf.nodes.on('click', $.proxy(function (event) { + $item = $(event.target); + slug = $item.attr(this.conf.indexAttribute); + + // Update index + this.index[slug] = !this.index[slug]; + + // Update DOM + $item.toggleClass(this.conf.collapsedClass); + }, this)); + }; + + global.Sidebar = Sidebar; + +}(window.jQuery, window)); diff --git a/ui/ui-frontend/projects/pastis/sassdoc/assets/js/vendor/fuse.min.js b/ui/ui-frontend/projects/pastis/sassdoc/assets/js/vendor/fuse.min.js new file mode 100644 index 0000000000000000000000000000000000000000..79898e9fab4f25e31756f688a3d5ce36fdec4894 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/sassdoc/assets/js/vendor/fuse.min.js @@ -0,0 +1,20 @@ +/** + * @license + * Fuse - Lightweight fuzzy-search + * + * Copyright (c) 2012 Kirollos Risk <kirollos@gmail.com>. + * All Rights Reserved. Apache Software License 2.0 + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +!function(t){function e(t,n){this.list=t,this.options=n=n||{};var i,o,s;for(i=0,keys=["sort","includeScore","shouldSort"],o=keys.length;o>i;i++)s=keys[i],this.options[s]=s in n?n[s]:e.defaultOptions[s];for(i=0,keys=["searchFn","sortFn","keys","getFn"],o=keys.length;o>i;i++)s=keys[i],this.options[s]=n[s]||e.defaultOptions[s]}var n=function(t,e){if(e=e||{},this.options=e,this.options.location=e.location||n.defaultOptions.location,this.options.distance="distance"in e?e.distance:n.defaultOptions.distance,this.options.threshold="threshold"in e?e.threshold:n.defaultOptions.threshold,this.options.maxPatternLength=e.maxPatternLength||n.defaultOptions.maxPatternLength,this.pattern=e.caseSensitive?t:t.toLowerCase(),this.patternLen=t.length,this.patternLen>this.options.maxPatternLength)throw new Error("Pattern length is too long");this.matchmask=1<<this.patternLen-1,this.patternAlphabet=this._calculatePatternAlphabet()};n.defaultOptions={location:0,distance:100,threshold:.6,maxPatternLength:32},n.prototype._calculatePatternAlphabet=function(){var t={},e=0;for(e=0;e<this.patternLen;e++)t[this.pattern.charAt(e)]=0;for(e=0;e<this.patternLen;e++)t[this.pattern.charAt(e)]|=1<<this.pattern.length-e-1;return t},n.prototype._bitapScore=function(t,e){var n=t/this.patternLen,i=Math.abs(this.options.location-e);return this.options.distance?n+i/this.options.distance:i?1:n},n.prototype.search=function(t){if(t=this.options.caseSensitive?t:t.toLowerCase(),this.pattern===t)return{isMatch:!0,score:0};var e,n,i,o,s,r,a,h,p,c=t.length,l=this.options.location,u=this.options.threshold,f=t.indexOf(this.pattern,l),d=this.patternLen+c,g=1,m=[];for(-1!=f&&(u=Math.min(this._bitapScore(0,f),u),f=t.lastIndexOf(this.pattern,l+this.patternLen),-1!=f&&(u=Math.min(this._bitapScore(0,f),u))),f=-1,e=0;e<this.patternLen;e++){for(i=0,o=d;o>i;)this._bitapScore(e,l+o)<=u?i=o:d=o,o=Math.floor((d-i)/2+i);for(d=o,s=Math.max(1,l-o+1),r=Math.min(l+o,c)+this.patternLen,a=Array(r+2),a[r+1]=(1<<e)-1,n=r;n>=s;n--)if(p=this.patternAlphabet[t.charAt(n-1)],a[n]=0===e?(a[n+1]<<1|1)&p:(a[n+1]<<1|1)&p|((h[n+1]|h[n])<<1|1)|h[n+1],a[n]&this.matchmask&&(g=this._bitapScore(e,n-1),u>=g)){if(u=g,f=n-1,m.push(f),!(f>l))break;s=Math.max(1,2*l-f)}if(this._bitapScore(e+1,l)>u)break;h=a}return{isMatch:f>=0,score:g}};var i={deepValue:function(t,e){for(var n=0,e=e.split("."),i=e.length;i>n;n++){if(!t)return null;t=t[e[n]]}return t}};e.defaultOptions={id:null,caseSensitive:!1,includeScore:!1,shouldSort:!0,searchFn:n,sortFn:function(t,e){return t.score-e.score},getFn:i.deepValue,keys:[]},e.prototype.search=function(t){var e,n,o,s,r,a=new this.options.searchFn(t,this.options),h=this.list,p=h.length,c=this.options,l=this.options.keys,u=l.length,f=[],d={},g=[],m=function(t,e,n){void 0!==t&&null!==t&&"string"==typeof t&&(s=a.search(t),s.isMatch&&(r=d[n],r?r.score=Math.min(r.score,s.score):(d[n]={item:e,score:s.score},f.push(d[n]))))};if("string"==typeof h[0])for(var e=0;p>e;e++)m(h[e],e,e);else for(var e=0;p>e;e++)for(o=h[e],n=0;u>n;n++)m(this.options.getFn(o,l[n]),o,e);c.shouldSort&&f.sort(c.sortFn);for(var y=c.includeScore?function(t){return f[t]}:function(t){return f[t].item},L=c.id?function(t){return i.deepValue(y(t),c.id)}:function(t){return y(t)},e=0,v=f.length;v>e;e++)g.push(L(e));return g},"object"==typeof exports?module.exports=e:"function"==typeof define&&define.amd?define(function(){return e}):t.Fuse=e}(this); \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/sassdoc/assets/js/vendor/jquery.min.js b/ui/ui-frontend/projects/pastis/sassdoc/assets/js/vendor/jquery.min.js new file mode 100644 index 0000000000000000000000000000000000000000..e5ace116b6f53cfec96eb5175ecd36f727ad4047 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/sassdoc/assets/js/vendor/jquery.min.js @@ -0,0 +1,4 @@ +/*! jQuery v2.1.1 | (c) 2005, 2014 jQuery Foundation, Inc. | jquery.org/license */ +!function(a,b){"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){var c=[],d=c.slice,e=c.concat,f=c.push,g=c.indexOf,h={},i=h.toString,j=h.hasOwnProperty,k={},l=a.document,m="2.1.1",n=function(a,b){return new n.fn.init(a,b)},o=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,p=/^-ms-/,q=/-([\da-z])/gi,r=function(a,b){return b.toUpperCase()};n.fn=n.prototype={jquery:m,constructor:n,selector:"",length:0,toArray:function(){return d.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:d.call(this)},pushStack:function(a){var b=n.merge(this.constructor(),a);return b.prevObject=this,b.context=this.context,b},each:function(a,b){return n.each(this,a,b)},map:function(a){return this.pushStack(n.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(d.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:c.sort,splice:c.splice},n.extend=n.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||n.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(n.isPlainObject(d)||(e=n.isArray(d)))?(e?(e=!1,f=c&&n.isArray(c)?c:[]):f=c&&n.isPlainObject(c)?c:{},g[b]=n.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},n.extend({expando:"jQuery"+(m+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===n.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){return!n.isArray(a)&&a-parseFloat(a)>=0},isPlainObject:function(a){return"object"!==n.type(a)||a.nodeType||n.isWindow(a)?!1:a.constructor&&!j.call(a.constructor.prototype,"isPrototypeOf")?!1:!0},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?h[i.call(a)]||"object":typeof a},globalEval:function(a){var b,c=eval;a=n.trim(a),a&&(1===a.indexOf("use strict")?(b=l.createElement("script"),b.text=a,l.head.appendChild(b).parentNode.removeChild(b)):c(a))},camelCase:function(a){return a.replace(p,"ms-").replace(q,r)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b,c){var d,e=0,f=a.length,g=s(a);if(c){if(g){for(;f>e;e++)if(d=b.apply(a[e],c),d===!1)break}else for(e in a)if(d=b.apply(a[e],c),d===!1)break}else if(g){for(;f>e;e++)if(d=b.call(a[e],e,a[e]),d===!1)break}else for(e in a)if(d=b.call(a[e],e,a[e]),d===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(o,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(s(Object(a))?n.merge(c,"string"==typeof a?[a]:a):f.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:g.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,f=0,g=a.length,h=s(a),i=[];if(h)for(;g>f;f++)d=b(a[f],f,c),null!=d&&i.push(d);else for(f in a)d=b(a[f],f,c),null!=d&&i.push(d);return e.apply([],i)},guid:1,proxy:function(a,b){var c,e,f;return"string"==typeof b&&(c=a[b],b=a,a=c),n.isFunction(a)?(e=d.call(arguments,2),f=function(){return a.apply(b||this,e.concat(d.call(arguments)))},f.guid=a.guid=a.guid||n.guid++,f):void 0},now:Date.now,support:k}),n.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(a,b){h["[object "+b+"]"]=b.toLowerCase()});function s(a){var b=a.length,c=n.type(a);return"function"===c||n.isWindow(a)?!1:1===a.nodeType&&b?!0:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var t=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+-new Date,v=a.document,w=0,x=0,y=gb(),z=gb(),A=gb(),B=function(a,b){return a===b&&(l=!0),0},C="undefined",D=1<<31,E={}.hasOwnProperty,F=[],G=F.pop,H=F.push,I=F.push,J=F.slice,K=F.indexOf||function(a){for(var b=0,c=this.length;c>b;b++)if(this[b]===a)return b;return-1},L="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",M="[\\x20\\t\\r\\n\\f]",N="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",O=N.replace("w","w#"),P="\\["+M+"*("+N+")(?:"+M+"*([*^$|!~]?=)"+M+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+O+"))|)"+M+"*\\]",Q=":("+N+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+P+")*)|.*)\\)|)",R=new RegExp("^"+M+"+|((?:^|[^\\\\])(?:\\\\.)*)"+M+"+$","g"),S=new RegExp("^"+M+"*,"+M+"*"),T=new RegExp("^"+M+"*([>+~]|"+M+")"+M+"*"),U=new RegExp("="+M+"*([^\\]'\"]*?)"+M+"*\\]","g"),V=new RegExp(Q),W=new RegExp("^"+O+"$"),X={ID:new RegExp("^#("+N+")"),CLASS:new RegExp("^\\.("+N+")"),TAG:new RegExp("^("+N.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+Q),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+L+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/^(?:input|select|textarea|button)$/i,Z=/^h\d$/i,$=/^[^{]+\{\s*\[native \w/,_=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ab=/[+~]/,bb=/'|\\/g,cb=new RegExp("\\\\([\\da-f]{1,6}"+M+"?|("+M+")|.)","ig"),db=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)};try{I.apply(F=J.call(v.childNodes),v.childNodes),F[v.childNodes.length].nodeType}catch(eb){I={apply:F.length?function(a,b){H.apply(a,J.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function fb(a,b,d,e){var f,h,j,k,l,o,r,s,w,x;if((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,d=d||[],!a||"string"!=typeof a)return d;if(1!==(k=b.nodeType)&&9!==k)return[];if(p&&!e){if(f=_.exec(a))if(j=f[1]){if(9===k){if(h=b.getElementById(j),!h||!h.parentNode)return d;if(h.id===j)return d.push(h),d}else if(b.ownerDocument&&(h=b.ownerDocument.getElementById(j))&&t(b,h)&&h.id===j)return d.push(h),d}else{if(f[2])return I.apply(d,b.getElementsByTagName(a)),d;if((j=f[3])&&c.getElementsByClassName&&b.getElementsByClassName)return I.apply(d,b.getElementsByClassName(j)),d}if(c.qsa&&(!q||!q.test(a))){if(s=r=u,w=b,x=9===k&&a,1===k&&"object"!==b.nodeName.toLowerCase()){o=g(a),(r=b.getAttribute("id"))?s=r.replace(bb,"\\$&"):b.setAttribute("id",s),s="[id='"+s+"'] ",l=o.length;while(l--)o[l]=s+qb(o[l]);w=ab.test(a)&&ob(b.parentNode)||b,x=o.join(",")}if(x)try{return I.apply(d,w.querySelectorAll(x)),d}catch(y){}finally{r||b.removeAttribute("id")}}}return i(a.replace(R,"$1"),b,d,e)}function gb(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function hb(a){return a[u]=!0,a}function ib(a){var b=n.createElement("div");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function jb(a,b){var c=a.split("|"),e=a.length;while(e--)d.attrHandle[c[e]]=b}function kb(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&(~b.sourceIndex||D)-(~a.sourceIndex||D);if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function lb(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function mb(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function nb(a){return hb(function(b){return b=+b,hb(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function ob(a){return a&&typeof a.getElementsByTagName!==C&&a}c=fb.support={},f=fb.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=fb.setDocument=function(a){var b,e=a?a.ownerDocument||a:v,g=e.defaultView;return e!==n&&9===e.nodeType&&e.documentElement?(n=e,o=e.documentElement,p=!f(e),g&&g!==g.top&&(g.addEventListener?g.addEventListener("unload",function(){m()},!1):g.attachEvent&&g.attachEvent("onunload",function(){m()})),c.attributes=ib(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ib(function(a){return a.appendChild(e.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=$.test(e.getElementsByClassName)&&ib(function(a){return a.innerHTML="<div class='a'></div><div class='a i'></div>",a.firstChild.className="i",2===a.getElementsByClassName("i").length}),c.getById=ib(function(a){return o.appendChild(a).id=u,!e.getElementsByName||!e.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if(typeof b.getElementById!==C&&p){var c=b.getElementById(a);return c&&c.parentNode?[c]:[]}},d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(cb,db);return function(a){var c=typeof a.getAttributeNode!==C&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return typeof b.getElementsByTagName!==C?b.getElementsByTagName(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return typeof b.getElementsByClassName!==C&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=$.test(e.querySelectorAll))&&(ib(function(a){a.innerHTML="<select msallowclip=''><option selected=''></option></select>",a.querySelectorAll("[msallowclip^='']").length&&q.push("[*^$]="+M+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+M+"*(?:value|"+L+")"),a.querySelectorAll(":checked").length||q.push(":checked")}),ib(function(a){var b=e.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+M+"*[*^$|!~]?="),a.querySelectorAll(":enabled").length||q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=$.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ib(function(a){c.disconnectedMatch=s.call(a,"div"),s.call(a,"[s!='']:x"),r.push("!=",Q)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=$.test(o.compareDocumentPosition),t=b||$.test(o.contains)?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)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===e||a.ownerDocument===v&&t(v,a)?-1:b===e||b.ownerDocument===v&&t(v,b)?1:k?K.call(k,a)-K.call(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,f=a.parentNode,g=b.parentNode,h=[a],i=[b];if(!f||!g)return a===e?-1:b===e?1:f?-1:g?1:k?K.call(k,a)-K.call(k,b):0;if(f===g)return kb(a,b);c=a;while(c=c.parentNode)h.unshift(c);c=b;while(c=c.parentNode)i.unshift(c);while(h[d]===i[d])d++;return d?kb(h[d],i[d]):h[d]===v?-1:i[d]===v?1:0},e):n},fb.matches=function(a,b){return fb(a,null,null,b)},fb.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(U,"='$1']"),!(!c.matchesSelector||!p||r&&r.test(b)||q&&q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return fb(b,n,null,[a]).length>0},fb.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},fb.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&E.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},fb.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},fb.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=fb.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=fb.selectors={cacheLength:50,createPseudo:hb,match:X,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(cb,db),a[3]=(a[3]||a[4]||a[5]||"").replace(cb,db),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||fb.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&fb.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return X.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&V.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(cb,db).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+M+")"+a+"("+M+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||typeof a.getAttribute!==C&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=fb.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h;if(q){if(f){while(p){l=b;while(l=l[p])if(h?l.nodeName.toLowerCase()===r:1===l.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){k=q[u]||(q[u]={}),j=k[a]||[],n=j[0]===w&&j[1],m=j[0]===w&&j[2],l=n&&q.childNodes[n];while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if(1===l.nodeType&&++m&&l===b){k[a]=[w,n,m];break}}else if(s&&(j=(b[u]||(b[u]={}))[a])&&j[0]===w)m=j[1];else while(l=++n&&l&&l[p]||(m=n=0)||o.pop())if((h?l.nodeName.toLowerCase()===r:1===l.nodeType)&&++m&&(s&&((l[u]||(l[u]={}))[a]=[w,m]),l===b))break;return m-=e,m===d||m%d===0&&m/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||fb.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?hb(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=K.call(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:hb(function(a){var b=[],c=[],d=h(a.replace(R,"$1"));return d[u]?hb(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),!c.pop()}}),has:hb(function(a){return function(b){return fb(a,b).length>0}}),contains:hb(function(a){return function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:hb(function(a){return W.test(a||"")||fb.error("unsupported lang: "+a),a=a.replace(cb,db).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:function(a){return a.disabled===!1},disabled:function(a){return a.disabled===!0},checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return Z.test(a.nodeName)},input:function(a){return Y.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:nb(function(){return[0]}),last:nb(function(a,b){return[b-1]}),eq:nb(function(a,b,c){return[0>c?c+b:c]}),even:nb(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:nb(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:nb(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:nb(function(a,b,c){for(var d=0>c?c+b:c;++d<b;)a.push(d);return a})}},d.pseudos.nth=d.pseudos.eq;for(b in{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})d.pseudos[b]=lb(b);for(b in{submit:!0,reset:!0})d.pseudos[b]=mb(b);function pb(){}pb.prototype=d.filters=d.pseudos,d.setFilters=new pb,g=fb.tokenize=function(a,b){var c,e,f,g,h,i,j,k=z[a+" "];if(k)return b?0:k.slice(0);h=a,i=[],j=d.preFilter;while(h){(!c||(e=S.exec(h)))&&(e&&(h=h.slice(e[0].length)||h),i.push(f=[])),c=!1,(e=T.exec(h))&&(c=e.shift(),f.push({value:c,type:e[0].replace(R," ")}),h=h.slice(c.length));for(g in d.filter)!(e=X[g].exec(h))||j[g]&&!(e=j[g](e))||(c=e.shift(),f.push({value:c,type:g,matches:e}),h=h.slice(c.length));if(!c)break}return b?h.length:h?fb.error(a):z(a,i).slice(0)};function qb(a){for(var b=0,c=a.length,d="";c>b;b++)d+=a[b].value;return d}function rb(a,b,c){var d=b.dir,e=c&&"parentNode"===d,f=x++;return b.first?function(b,c,f){while(b=b[d])if(1===b.nodeType||e)return a(b,c,f)}:function(b,c,g){var h,i,j=[w,f];if(g){while(b=b[d])if((1===b.nodeType||e)&&a(b,c,g))return!0}else while(b=b[d])if(1===b.nodeType||e){if(i=b[u]||(b[u]={}),(h=i[d])&&h[0]===w&&h[1]===f)return j[2]=h[2];if(i[d]=j,j[2]=a(b,c,g))return!0}}}function sb(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function tb(a,b,c){for(var d=0,e=b.length;e>d;d++)fb(a,b[d],c);return c}function ub(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(!c||c(f,d,e))&&(g.push(f),j&&b.push(h));return g}function vb(a,b,c,d,e,f){return d&&!d[u]&&(d=vb(d)),e&&!e[u]&&(e=vb(e,f)),hb(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||tb(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:ub(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=ub(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?K.call(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=ub(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):I.apply(g,r)})}function wb(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=rb(function(a){return a===b},h,!0),l=rb(function(a){return K.call(b,a)>-1},h,!0),m=[function(a,c,d){return!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d))}];f>i;i++)if(c=d.relative[a[i].type])m=[rb(sb(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return vb(i>1&&sb(m),i>1&&qb(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(R,"$1"),c,e>i&&wb(a.slice(i,e)),f>e&&wb(a=a.slice(e)),f>e&&qb(a))}m.push(c)}return sb(m)}function xb(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,m,o,p=0,q="0",r=f&&[],s=[],t=j,u=f||e&&d.find.TAG("*",k),v=w+=null==t?1:Math.random()||.1,x=u.length;for(k&&(j=g!==n&&g);q!==x&&null!=(l=u[q]);q++){if(e&&l){m=0;while(o=a[m++])if(o(l,g,h)){i.push(l);break}k&&(w=v)}c&&((l=!o&&l)&&p--,f&&r.push(l))}if(p+=q,c&&q!==p){m=0;while(o=b[m++])o(r,s,g,h);if(f){if(p>0)while(q--)r[q]||s[q]||(s[q]=G.call(i));s=ub(s)}I.apply(i,s),k&&!f&&s.length>0&&p+b.length>1&&fb.uniqueSort(i)}return k&&(w=v,j=t),r};return c?hb(f):f}return h=fb.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=wb(b[c]),f[u]?d.push(f):e.push(f);f=A(a,xb(e,d)),f.selector=a}return f},i=fb.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(cb,db),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=X.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(cb,db),ab.test(j[0].type)&&ob(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&qb(j),!a)return I.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,ab.test(a)&&ob(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ib(function(a){return 1&a.compareDocumentPosition(n.createElement("div"))}),ib(function(a){return a.innerHTML="<a href='#'></a>","#"===a.firstChild.getAttribute("href")})||jb("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ib(function(a){return a.innerHTML="<input/>",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||jb("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ib(function(a){return null==a.getAttribute("disabled")})||jb(L,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),fb}(a);n.find=t,n.expr=t.selectors,n.expr[":"]=n.expr.pseudos,n.unique=t.uniqueSort,n.text=t.getText,n.isXMLDoc=t.isXML,n.contains=t.contains;var u=n.expr.match.needsContext,v=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,w=/^.[^:#\[\.,]*$/;function x(a,b,c){if(n.isFunction(b))return n.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return n.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(w.test(b))return n.filter(b,a,c);b=n.filter(b,a)}return n.grep(a,function(a){return g.call(b,a)>=0!==c})}n.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?n.find.matchesSelector(d,a)?[d]:[]:n.find.matches(a,n.grep(b,function(a){return 1===a.nodeType}))},n.fn.extend({find:function(a){var b,c=this.length,d=[],e=this;if("string"!=typeof a)return this.pushStack(n(a).filter(function(){for(b=0;c>b;b++)if(n.contains(e[b],this))return!0}));for(b=0;c>b;b++)n.find(a,e[b],d);return d=this.pushStack(c>1?n.unique(d):d),d.selector=this.selector?this.selector+" "+a:a,d},filter:function(a){return this.pushStack(x(this,a||[],!1))},not:function(a){return this.pushStack(x(this,a||[],!0))},is:function(a){return!!x(this,"string"==typeof a&&u.test(a)?n(a):a||[],!1).length}});var y,z=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,A=n.fn.init=function(a,b){var c,d;if(!a)return this;if("string"==typeof a){if(c="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:z.exec(a),!c||!c[1]&&b)return!b||b.jquery?(b||y).find(a):this.constructor(b).find(a);if(c[1]){if(b=b instanceof n?b[0]:b,n.merge(this,n.parseHTML(c[1],b&&b.nodeType?b.ownerDocument||b:l,!0)),v.test(c[1])&&n.isPlainObject(b))for(c in b)n.isFunction(this[c])?this[c](b[c]):this.attr(c,b[c]);return this}return d=l.getElementById(c[2]),d&&d.parentNode&&(this.length=1,this[0]=d),this.context=l,this.selector=a,this}return a.nodeType?(this.context=this[0]=a,this.length=1,this):n.isFunction(a)?"undefined"!=typeof y.ready?y.ready(a):a(n):(void 0!==a.selector&&(this.selector=a.selector,this.context=a.context),n.makeArray(a,this))};A.prototype=n.fn,y=n(l);var B=/^(?:parents|prev(?:Until|All))/,C={children:!0,contents:!0,next:!0,prev:!0};n.extend({dir:function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&n(a).is(c))break;d.push(a)}return d},sibling:function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c}}),n.fn.extend({has:function(a){var b=n(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(n.contains(this,b[a]))return!0})},closest:function(a,b){for(var c,d=0,e=this.length,f=[],g=u.test(a)||"string"!=typeof a?n(a,b||this.context):0;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&n.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?n.unique(f):f)},index:function(a){return a?"string"==typeof a?g.call(n(a),this[0]):g.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(n.unique(n.merge(this.get(),n(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function D(a,b){while((a=a[b])&&1!==a.nodeType);return a}n.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return n.dir(a,"parentNode")},parentsUntil:function(a,b,c){return n.dir(a,"parentNode",c)},next:function(a){return D(a,"nextSibling")},prev:function(a){return D(a,"previousSibling")},nextAll:function(a){return n.dir(a,"nextSibling")},prevAll:function(a){return n.dir(a,"previousSibling")},nextUntil:function(a,b,c){return n.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return n.dir(a,"previousSibling",c)},siblings:function(a){return n.sibling((a.parentNode||{}).firstChild,a)},children:function(a){return n.sibling(a.firstChild)},contents:function(a){return a.contentDocument||n.merge([],a.childNodes)}},function(a,b){n.fn[a]=function(c,d){var e=n.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=n.filter(d,e)),this.length>1&&(C[a]||n.unique(e),B.test(a)&&e.reverse()),this.pushStack(e)}});var E=/\S+/g,F={};function G(a){var b=F[a]={};return n.each(a.match(E)||[],function(a,c){b[c]=!0}),b}n.Callbacks=function(a){a="string"==typeof a?F[a]||G(a):n.extend({},a);var b,c,d,e,f,g,h=[],i=!a.once&&[],j=function(l){for(b=a.memory&&l,c=!0,g=e||0,e=0,f=h.length,d=!0;h&&f>g;g++)if(h[g].apply(l[0],l[1])===!1&&a.stopOnFalse){b=!1;break}d=!1,h&&(i?i.length&&j(i.shift()):b?h=[]:k.disable())},k={add:function(){if(h){var c=h.length;!function g(b){n.each(b,function(b,c){var d=n.type(c);"function"===d?a.unique&&k.has(c)||h.push(c):c&&c.length&&"string"!==d&&g(c)})}(arguments),d?f=h.length:b&&(e=c,j(b))}return this},remove:function(){return h&&n.each(arguments,function(a,b){var c;while((c=n.inArray(b,h,c))>-1)h.splice(c,1),d&&(f>=c&&f--,g>=c&&g--)}),this},has:function(a){return a?n.inArray(a,h)>-1:!(!h||!h.length)},empty:function(){return h=[],f=0,this},disable:function(){return h=i=b=void 0,this},disabled:function(){return!h},lock:function(){return i=void 0,b||k.disable(),this},locked:function(){return!i},fireWith:function(a,b){return!h||c&&!i||(b=b||[],b=[a,b.slice?b.slice():b],d?i.push(b):j(b)),this},fire:function(){return k.fireWith(this,arguments),this},fired:function(){return!!c}};return k},n.extend({Deferred:function(a){var b=[["resolve","done",n.Callbacks("once memory"),"resolved"],["reject","fail",n.Callbacks("once memory"),"rejected"],["notify","progress",n.Callbacks("memory")]],c="pending",d={state:function(){return c},always:function(){return e.done(arguments).fail(arguments),this},then:function(){var a=arguments;return n.Deferred(function(c){n.each(b,function(b,f){var g=n.isFunction(a[b])&&a[b];e[f[1]](function(){var a=g&&g.apply(this,arguments);a&&n.isFunction(a.promise)?a.promise().done(c.resolve).fail(c.reject).progress(c.notify):c[f[0]+"With"](this===d?c.promise():this,g?[a]:arguments)})}),a=null}).promise()},promise:function(a){return null!=a?n.extend(a,d):d}},e={};return d.pipe=d.then,n.each(b,function(a,f){var g=f[2],h=f[3];d[f[1]]=g.add,h&&g.add(function(){c=h},b[1^a][2].disable,b[2][2].lock),e[f[0]]=function(){return e[f[0]+"With"](this===e?d:this,arguments),this},e[f[0]+"With"]=g.fireWith}),d.promise(e),a&&a.call(e,e),e},when:function(a){var b=0,c=d.call(arguments),e=c.length,f=1!==e||a&&n.isFunction(a.promise)?e:0,g=1===f?a:n.Deferred(),h=function(a,b,c){return function(e){b[a]=this,c[a]=arguments.length>1?d.call(arguments):e,c===i?g.notifyWith(b,c):--f||g.resolveWith(b,c)}},i,j,k;if(e>1)for(i=new Array(e),j=new Array(e),k=new Array(e);e>b;b++)c[b]&&n.isFunction(c[b].promise)?c[b].promise().done(h(b,k,c)).fail(g.reject).progress(h(b,j,i)):--f;return f||g.resolveWith(k,c),g.promise()}});var H;n.fn.ready=function(a){return n.ready.promise().done(a),this},n.extend({isReady:!1,readyWait:1,holdReady:function(a){a?n.readyWait++:n.ready(!0)},ready:function(a){(a===!0?--n.readyWait:n.isReady)||(n.isReady=!0,a!==!0&&--n.readyWait>0||(H.resolveWith(l,[n]),n.fn.triggerHandler&&(n(l).triggerHandler("ready"),n(l).off("ready"))))}});function I(){l.removeEventListener("DOMContentLoaded",I,!1),a.removeEventListener("load",I,!1),n.ready()}n.ready.promise=function(b){return H||(H=n.Deferred(),"complete"===l.readyState?setTimeout(n.ready):(l.addEventListener("DOMContentLoaded",I,!1),a.addEventListener("load",I,!1))),H.promise(b)},n.ready.promise();var J=n.access=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===n.type(c)){e=!0;for(h in c)n.access(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,n.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(n(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f};n.acceptData=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function K(){Object.defineProperty(this.cache={},0,{get:function(){return{}}}),this.expando=n.expando+Math.random()}K.uid=1,K.accepts=n.acceptData,K.prototype={key:function(a){if(!K.accepts(a))return 0;var b={},c=a[this.expando];if(!c){c=K.uid++;try{b[this.expando]={value:c},Object.defineProperties(a,b)}catch(d){b[this.expando]=c,n.extend(a,b)}}return this.cache[c]||(this.cache[c]={}),c},set:function(a,b,c){var d,e=this.key(a),f=this.cache[e];if("string"==typeof b)f[b]=c;else if(n.isEmptyObject(f))n.extend(this.cache[e],b);else for(d in b)f[d]=b[d];return f},get:function(a,b){var c=this.cache[this.key(a)];return void 0===b?c:c[b]},access:function(a,b,c){var d;return void 0===b||b&&"string"==typeof b&&void 0===c?(d=this.get(a,b),void 0!==d?d:this.get(a,n.camelCase(b))):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d,e,f=this.key(a),g=this.cache[f];if(void 0===b)this.cache[f]={};else{n.isArray(b)?d=b.concat(b.map(n.camelCase)):(e=n.camelCase(b),b in g?d=[b,e]:(d=e,d=d in g?[d]:d.match(E)||[])),c=d.length;while(c--)delete g[d[c]]}},hasData:function(a){return!n.isEmptyObject(this.cache[a[this.expando]]||{})},discard:function(a){a[this.expando]&&delete this.cache[a[this.expando]]}};var L=new K,M=new K,N=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,O=/([A-Z])/g;function P(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(O,"-$1").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:N.test(c)?n.parseJSON(c):c}catch(e){}M.set(a,b,c)}else c=void 0;return c}n.extend({hasData:function(a){return M.hasData(a)||L.hasData(a)},data:function(a,b,c){return M.access(a,b,c)},removeData:function(a,b){M.remove(a,b) +},_data:function(a,b,c){return L.access(a,b,c)},_removeData:function(a,b){L.remove(a,b)}}),n.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=M.get(f),1===f.nodeType&&!L.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=n.camelCase(d.slice(5)),P(f,d,e[d])));L.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){M.set(this,a)}):J(this,function(b){var c,d=n.camelCase(a);if(f&&void 0===b){if(c=M.get(f,a),void 0!==c)return c;if(c=M.get(f,d),void 0!==c)return c;if(c=P(f,d,void 0),void 0!==c)return c}else this.each(function(){var c=M.get(this,d);M.set(this,d,b),-1!==a.indexOf("-")&&void 0!==c&&M.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){M.remove(this,a)})}}),n.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=L.get(a,b),c&&(!d||n.isArray(c)?d=L.access(a,b,n.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=n.queue(a,b),d=c.length,e=c.shift(),f=n._queueHooks(a,b),g=function(){n.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return L.get(a,c)||L.access(a,c,{empty:n.Callbacks("once memory").add(function(){L.remove(a,[b+"queue",c])})})}}),n.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length<c?n.queue(this[0],a):void 0===b?this:this.each(function(){var c=n.queue(this,a,b);n._queueHooks(this,a),"fx"===a&&"inprogress"!==c[0]&&n.dequeue(this,a)})},dequeue:function(a){return this.each(function(){n.dequeue(this,a)})},clearQueue:function(a){return this.queue(a||"fx",[])},promise:function(a,b){var c,d=1,e=n.Deferred(),f=this,g=this.length,h=function(){--d||e.resolveWith(f,[f])};"string"!=typeof a&&(b=a,a=void 0),a=a||"fx";while(g--)c=L.get(f[g],a+"queueHooks"),c&&c.empty&&(d++,c.empty.add(h));return h(),e.promise(b)}});var Q=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,R=["Top","Right","Bottom","Left"],S=function(a,b){return a=b||a,"none"===n.css(a,"display")||!n.contains(a.ownerDocument,a)},T=/^(?:checkbox|radio)$/i;!function(){var a=l.createDocumentFragment(),b=a.appendChild(l.createElement("div")),c=l.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),k.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="<textarea>x</textarea>",k.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var U="undefined";k.focusinBubbles="onfocusin"in a;var V=/^key/,W=/^(?:mouse|pointer|contextmenu)|click/,X=/^(?:focusinfocus|focusoutblur)$/,Y=/^([^.]*)(?:\.(.+)|)$/;function Z(){return!0}function $(){return!1}function _(){try{return l.activeElement}catch(a){}}n.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.get(a);if(r){c.handler&&(f=c,c=f.handler,e=f.selector),c.guid||(c.guid=n.guid++),(i=r.events)||(i=r.events={}),(g=r.handle)||(g=r.handle=function(b){return typeof n!==U&&n.event.triggered!==b.type?n.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(E)||[""],j=b.length;while(j--)h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o&&(l=n.event.special[o]||{},o=(e?l.delegateType:l.bindType)||o,l=n.event.special[o]||{},k=n.extend({type:o,origType:q,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&n.expr.match.needsContext.test(e),namespace:p.join(".")},f),(m=i[o])||(m=i[o]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,p,g)!==!1||a.addEventListener&&a.addEventListener(o,g,!1)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),n.event.global[o]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,o,p,q,r=L.hasData(a)&&L.get(a);if(r&&(i=r.events)){b=(b||"").match(E)||[""],j=b.length;while(j--)if(h=Y.exec(b[j])||[],o=q=h[1],p=(h[2]||"").split(".").sort(),o){l=n.event.special[o]||{},o=(d?l.delegateType:l.bindType)||o,m=i[o]||[],h=h[2]&&new RegExp("(^|\\.)"+p.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&q!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,p,r.handle)!==!1||n.removeEvent(a,o,r.handle),delete i[o])}else for(o in i)n.event.remove(a,o+b[j],c,d,!0);n.isEmptyObject(i)&&(delete r.handle,L.remove(a,"events"))}},trigger:function(b,c,d,e){var f,g,h,i,k,m,o,p=[d||l],q=j.call(b,"type")?b.type:b,r=j.call(b,"namespace")?b.namespace.split("."):[];if(g=h=d=d||l,3!==d.nodeType&&8!==d.nodeType&&!X.test(q+n.event.triggered)&&(q.indexOf(".")>=0&&(r=q.split("."),q=r.shift(),r.sort()),k=q.indexOf(":")<0&&"on"+q,b=b[n.expando]?b:new n.Event(q,"object"==typeof b&&b),b.isTrigger=e?2:3,b.namespace=r.join("."),b.namespace_re=b.namespace?new RegExp("(^|\\.)"+r.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=d),c=null==c?[b]:n.makeArray(c,[b]),o=n.event.special[q]||{},e||!o.trigger||o.trigger.apply(d,c)!==!1)){if(!e&&!o.noBubble&&!n.isWindow(d)){for(i=o.delegateType||q,X.test(i+q)||(g=g.parentNode);g;g=g.parentNode)p.push(g),h=g;h===(d.ownerDocument||l)&&p.push(h.defaultView||h.parentWindow||a)}f=0;while((g=p[f++])&&!b.isPropagationStopped())b.type=f>1?i:o.bindType||q,m=(L.get(g,"events")||{})[b.type]&&L.get(g,"handle"),m&&m.apply(g,c),m=k&&g[k],m&&m.apply&&n.acceptData(g)&&(b.result=m.apply(g,c),b.result===!1&&b.preventDefault());return b.type=q,e||b.isDefaultPrevented()||o._default&&o._default.apply(p.pop(),c)!==!1||!n.acceptData(d)||k&&n.isFunction(d[q])&&!n.isWindow(d)&&(h=d[k],h&&(d[k]=null),n.event.triggered=q,d[q](),n.event.triggered=void 0,h&&(d[k]=h)),b.result}},dispatch:function(a){a=n.event.fix(a);var b,c,e,f,g,h=[],i=d.call(arguments),j=(L.get(this,"events")||{})[a.type]||[],k=n.event.special[a.type]||{};if(i[0]=a,a.delegateTarget=this,!k.preDispatch||k.preDispatch.call(this,a)!==!1){h=n.event.handlers.call(this,a,j),b=0;while((f=h[b++])&&!a.isPropagationStopped()){a.currentTarget=f.elem,c=0;while((g=f.handlers[c++])&&!a.isImmediatePropagationStopped())(!a.namespace_re||a.namespace_re.test(g.namespace))&&(a.handleObj=g,a.data=g.data,e=((n.event.special[g.origType]||{}).handle||g.handler).apply(f.elem,i),void 0!==e&&(a.result=e)===!1&&(a.preventDefault(),a.stopPropagation()))}return k.postDispatch&&k.postDispatch.call(this,a),a.result}},handlers:function(a,b){var c,d,e,f,g=[],h=b.delegateCount,i=a.target;if(h&&i.nodeType&&(!a.button||"click"!==a.type))for(;i!==this;i=i.parentNode||this)if(i.disabled!==!0||"click"!==a.type){for(d=[],c=0;h>c;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?n(e,this).index(i)>=0:n.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h<b.length&&g.push({elem:this,handlers:b.slice(h)}),g},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(a,b){return null==a.which&&(a.which=null!=b.charCode?b.charCode:b.keyCode),a}},mouseHooks:{props:"button buttons clientX clientY offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(a,b){var c,d,e,f=b.button;return null==a.pageX&&null!=b.clientX&&(c=a.target.ownerDocument||l,d=c.documentElement,e=c.body,a.pageX=b.clientX+(d&&d.scrollLeft||e&&e.scrollLeft||0)-(d&&d.clientLeft||e&&e.clientLeft||0),a.pageY=b.clientY+(d&&d.scrollTop||e&&e.scrollTop||0)-(d&&d.clientTop||e&&e.clientTop||0)),a.which||void 0===f||(a.which=1&f?1:2&f?3:4&f?2:0),a}},fix:function(a){if(a[n.expando])return a;var b,c,d,e=a.type,f=a,g=this.fixHooks[e];g||(this.fixHooks[e]=g=W.test(e)?this.mouseHooks:V.test(e)?this.keyHooks:{}),d=g.props?this.props.concat(g.props):this.props,a=new n.Event(f),b=d.length;while(b--)c=d[b],a[c]=f[c];return a.target||(a.target=l),3===a.target.nodeType&&(a.target=a.target.parentNode),g.filter?g.filter(a,f):a},special:{load:{noBubble:!0},focus:{trigger:function(){return this!==_()&&this.focus?(this.focus(),!1):void 0},delegateType:"focusin"},blur:{trigger:function(){return this===_()&&this.blur?(this.blur(),!1):void 0},delegateType:"focusout"},click:{trigger:function(){return"checkbox"===this.type&&this.click&&n.nodeName(this,"input")?(this.click(),!1):void 0},_default:function(a){return n.nodeName(a.target,"a")}},beforeunload:{postDispatch:function(a){void 0!==a.result&&a.originalEvent&&(a.originalEvent.returnValue=a.result)}}},simulate:function(a,b,c,d){var e=n.extend(new n.Event,c,{type:a,isSimulated:!0,originalEvent:{}});d?n.event.trigger(e,null,b):n.event.dispatch.call(b,e),e.isDefaultPrevented()&&c.preventDefault()}},n.removeEvent=function(a,b,c){a.removeEventListener&&a.removeEventListener(b,c,!1)},n.Event=function(a,b){return this instanceof n.Event?(a&&a.type?(this.originalEvent=a,this.type=a.type,this.isDefaultPrevented=a.defaultPrevented||void 0===a.defaultPrevented&&a.returnValue===!1?Z:$):this.type=a,b&&n.extend(this,b),this.timeStamp=a&&a.timeStamp||n.now(),void(this[n.expando]=!0)):new n.Event(a,b)},n.Event.prototype={isDefaultPrevented:$,isPropagationStopped:$,isImmediatePropagationStopped:$,preventDefault:function(){var a=this.originalEvent;this.isDefaultPrevented=Z,a&&a.preventDefault&&a.preventDefault()},stopPropagation:function(){var a=this.originalEvent;this.isPropagationStopped=Z,a&&a.stopPropagation&&a.stopPropagation()},stopImmediatePropagation:function(){var a=this.originalEvent;this.isImmediatePropagationStopped=Z,a&&a.stopImmediatePropagation&&a.stopImmediatePropagation(),this.stopPropagation()}},n.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(a,b){n.event.special[a]={delegateType:b,bindType:b,handle:function(a){var c,d=this,e=a.relatedTarget,f=a.handleObj;return(!e||e!==d&&!n.contains(d,e))&&(a.type=f.origType,c=f.handler.apply(this,arguments),a.type=b),c}}}),k.focusinBubbles||n.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){n.event.simulate(b,a.target,n.event.fix(a),!0)};n.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=L.access(d,b);e||d.addEventListener(a,c,!0),L.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=L.access(d,b)-1;e?L.access(d,b,e):(d.removeEventListener(a,c,!0),L.remove(d,b))}}}),n.fn.extend({on:function(a,b,c,d,e){var f,g;if("object"==typeof a){"string"!=typeof b&&(c=c||b,b=void 0);for(g in a)this.on(g,b,c,a[g],e);return this}if(null==c&&null==d?(d=b,c=b=void 0):null==d&&("string"==typeof b?(d=c,c=void 0):(d=c,c=b,b=void 0)),d===!1)d=$;else if(!d)return this;return 1===e&&(f=d,d=function(a){return n().off(a),f.apply(this,arguments)},d.guid=f.guid||(f.guid=n.guid++)),this.each(function(){n.event.add(this,a,d,c,b)})},one:function(a,b,c,d){return this.on(a,b,c,d,1)},off:function(a,b,c){var d,e;if(a&&a.preventDefault&&a.handleObj)return d=a.handleObj,n(a.delegateTarget).off(d.namespace?d.origType+"."+d.namespace:d.origType,d.selector,d.handler),this;if("object"==typeof a){for(e in a)this.off(e,b,a[e]);return this}return(b===!1||"function"==typeof b)&&(c=b,b=void 0),c===!1&&(c=$),this.each(function(){n.event.remove(this,a,c,b)})},trigger:function(a,b){return this.each(function(){n.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?n.event.trigger(a,b,c,!0):void 0}});var ab=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,bb=/<([\w:]+)/,cb=/<|&#?\w+;/,db=/<(?:script|style|link)/i,eb=/checked\s*(?:[^=]|=\s*.checked.)/i,fb=/^$|\/(?:java|ecma)script/i,gb=/^true\/(.*)/,hb=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,ib={option:[1,"<select multiple='multiple'>","</select>"],thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};ib.optgroup=ib.option,ib.tbody=ib.tfoot=ib.colgroup=ib.caption=ib.thead,ib.th=ib.td;function jb(a,b){return n.nodeName(a,"table")&&n.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a.appendChild(a.ownerDocument.createElement("tbody")):a}function kb(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function lb(a){var b=gb.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function mb(a,b){for(var c=0,d=a.length;d>c;c++)L.set(a[c],"globalEval",!b||L.get(b[c],"globalEval"))}function nb(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(L.hasData(a)&&(f=L.access(a),g=L.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)n.event.add(b,e,j[e][c])}M.hasData(a)&&(h=M.access(a),i=n.extend({},h),M.set(b,i))}}function ob(a,b){var c=a.getElementsByTagName?a.getElementsByTagName(b||"*"):a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&n.nodeName(a,b)?n.merge([a],c):c}function pb(a,b){var c=b.nodeName.toLowerCase();"input"===c&&T.test(a.type)?b.checked=a.checked:("input"===c||"textarea"===c)&&(b.defaultValue=a.defaultValue)}n.extend({clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=n.contains(a.ownerDocument,a);if(!(k.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||n.isXMLDoc(a)))for(g=ob(h),f=ob(a),d=0,e=f.length;e>d;d++)pb(f[d],g[d]);if(b)if(c)for(f=f||ob(a),g=g||ob(h),d=0,e=f.length;e>d;d++)nb(f[d],g[d]);else nb(a,h);return g=ob(h,"script"),g.length>0&&mb(g,!i&&ob(a,"script")),h},buildFragment:function(a,b,c,d){for(var e,f,g,h,i,j,k=b.createDocumentFragment(),l=[],m=0,o=a.length;o>m;m++)if(e=a[m],e||0===e)if("object"===n.type(e))n.merge(l,e.nodeType?[e]:e);else if(cb.test(e)){f=f||k.appendChild(b.createElement("div")),g=(bb.exec(e)||["",""])[1].toLowerCase(),h=ib[g]||ib._default,f.innerHTML=h[1]+e.replace(ab,"<$1></$2>")+h[2],j=h[0];while(j--)f=f.lastChild;n.merge(l,f.childNodes),f=k.firstChild,f.textContent=""}else l.push(b.createTextNode(e));k.textContent="",m=0;while(e=l[m++])if((!d||-1===n.inArray(e,d))&&(i=n.contains(e.ownerDocument,e),f=ob(k.appendChild(e),"script"),i&&mb(f),c)){j=0;while(e=f[j++])fb.test(e.type||"")&&c.push(e)}return k},cleanData:function(a){for(var b,c,d,e,f=n.event.special,g=0;void 0!==(c=a[g]);g++){if(n.acceptData(c)&&(e=c[L.expando],e&&(b=L.cache[e]))){if(b.events)for(d in b.events)f[d]?n.event.remove(c,d):n.removeEvent(c,d,b.handle);L.cache[e]&&delete L.cache[e]}delete M.cache[c[M.expando]]}}}),n.fn.extend({text:function(a){return J(this,function(a){return void 0===a?n.text(this):this.empty().each(function(){(1===this.nodeType||11===this.nodeType||9===this.nodeType)&&(this.textContent=a)})},null,a,arguments.length)},append:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.appendChild(a)}})},prepend:function(){return this.domManip(arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=jb(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return this.domManip(arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},remove:function(a,b){for(var c,d=a?n.filter(a,this):this,e=0;null!=(c=d[e]);e++)b||1!==c.nodeType||n.cleanData(ob(c)),c.parentNode&&(b&&n.contains(c.ownerDocument,c)&&mb(ob(c,"script")),c.parentNode.removeChild(c));return this},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(n.cleanData(ob(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return n.clone(this,a,b)})},html:function(a){return J(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!db.test(a)&&!ib[(bb.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(ab,"<$1></$2>");try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(n.cleanData(ob(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=arguments[0];return this.domManip(arguments,function(b){a=this.parentNode,n.cleanData(ob(this)),a&&a.replaceChild(b,this)}),a&&(a.length||a.nodeType)?this:this.remove()},detach:function(a){return this.remove(a,!0)},domManip:function(a,b){a=e.apply([],a);var c,d,f,g,h,i,j=0,l=this.length,m=this,o=l-1,p=a[0],q=n.isFunction(p);if(q||l>1&&"string"==typeof p&&!k.checkClone&&eb.test(p))return this.each(function(c){var d=m.eq(c);q&&(a[0]=p.call(this,c,d.html())),d.domManip(a,b)});if(l&&(c=n.buildFragment(a,this[0].ownerDocument,!1,this),d=c.firstChild,1===c.childNodes.length&&(c=d),d)){for(f=n.map(ob(c,"script"),kb),g=f.length;l>j;j++)h=c,j!==o&&(h=n.clone(h,!0,!0),g&&n.merge(f,ob(h,"script"))),b.call(this[j],h,j);if(g)for(i=f[f.length-1].ownerDocument,n.map(f,lb),j=0;g>j;j++)h=f[j],fb.test(h.type||"")&&!L.access(h,"globalEval")&&n.contains(i,h)&&(h.src?n._evalUrl&&n._evalUrl(h.src):n.globalEval(h.textContent.replace(hb,"")))}return this}}),n.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){n.fn[a]=function(a){for(var c,d=[],e=n(a),g=e.length-1,h=0;g>=h;h++)c=h===g?this:this.clone(!0),n(e[h])[b](c),f.apply(d,c.get());return this.pushStack(d)}});var qb,rb={};function sb(b,c){var d,e=n(c.createElement(b)).appendTo(c.body),f=a.getDefaultComputedStyle&&(d=a.getDefaultComputedStyle(e[0]))?d.display:n.css(e[0],"display");return e.detach(),f}function tb(a){var b=l,c=rb[a];return c||(c=sb(a,b),"none"!==c&&c||(qb=(qb||n("<iframe frameborder='0' width='0' height='0'/>")).appendTo(b.documentElement),b=qb[0].contentDocument,b.write(),b.close(),c=sb(a,b),qb.detach()),rb[a]=c),c}var ub=/^margin/,vb=new RegExp("^("+Q+")(?!px)[a-z%]+$","i"),wb=function(a){return a.ownerDocument.defaultView.getComputedStyle(a,null)};function xb(a,b,c){var d,e,f,g,h=a.style;return c=c||wb(a),c&&(g=c.getPropertyValue(b)||c[b]),c&&(""!==g||n.contains(a.ownerDocument,a)||(g=n.style(a,b)),vb.test(g)&&ub.test(b)&&(d=h.width,e=h.minWidth,f=h.maxWidth,h.minWidth=h.maxWidth=h.width=g,g=c.width,h.width=d,h.minWidth=e,h.maxWidth=f)),void 0!==g?g+"":g}function yb(a,b){return{get:function(){return a()?void delete this.get:(this.get=b).apply(this,arguments)}}}!function(){var b,c,d=l.documentElement,e=l.createElement("div"),f=l.createElement("div");if(f.style){f.style.backgroundClip="content-box",f.cloneNode(!0).style.backgroundClip="",k.clearCloneStyle="content-box"===f.style.backgroundClip,e.style.cssText="border:0;width:0;height:0;top:0;left:-9999px;margin-top:1px;position:absolute",e.appendChild(f);function g(){f.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;display:block;margin-top:1%;top:1%;border:1px;padding:1px;width:4px;position:absolute",f.innerHTML="",d.appendChild(e);var g=a.getComputedStyle(f,null);b="1%"!==g.top,c="4px"===g.width,d.removeChild(e)}a.getComputedStyle&&n.extend(k,{pixelPosition:function(){return g(),b},boxSizingReliable:function(){return null==c&&g(),c},reliableMarginRight:function(){var b,c=f.appendChild(l.createElement("div"));return c.style.cssText=f.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;display:block;margin:0;border:0;padding:0",c.style.marginRight=c.style.width="0",f.style.width="1px",d.appendChild(e),b=!parseFloat(a.getComputedStyle(c,null).marginRight),d.removeChild(e),b}})}}(),n.swap=function(a,b,c,d){var e,f,g={};for(f in b)g[f]=a.style[f],a.style[f]=b[f];e=c.apply(a,d||[]);for(f in b)a.style[f]=g[f];return e};var zb=/^(none|table(?!-c[ea]).+)/,Ab=new RegExp("^("+Q+")(.*)$","i"),Bb=new RegExp("^([+-])=("+Q+")","i"),Cb={position:"absolute",visibility:"hidden",display:"block"},Db={letterSpacing:"0",fontWeight:"400"},Eb=["Webkit","O","Moz","ms"];function Fb(a,b){if(b in a)return b;var c=b[0].toUpperCase()+b.slice(1),d=b,e=Eb.length;while(e--)if(b=Eb[e]+c,b in a)return b;return d}function Gb(a,b,c){var d=Ab.exec(b);return d?Math.max(0,d[1]-(c||0))+(d[2]||"px"):b}function Hb(a,b,c,d,e){for(var f=c===(d?"border":"content")?4:"width"===b?1:0,g=0;4>f;f+=2)"margin"===c&&(g+=n.css(a,c+R[f],!0,e)),d?("content"===c&&(g-=n.css(a,"padding"+R[f],!0,e)),"margin"!==c&&(g-=n.css(a,"border"+R[f]+"Width",!0,e))):(g+=n.css(a,"padding"+R[f],!0,e),"padding"!==c&&(g+=n.css(a,"border"+R[f]+"Width",!0,e)));return g}function Ib(a,b,c){var d=!0,e="width"===b?a.offsetWidth:a.offsetHeight,f=wb(a),g="border-box"===n.css(a,"boxSizing",!1,f);if(0>=e||null==e){if(e=xb(a,b,f),(0>e||null==e)&&(e=a.style[b]),vb.test(e))return e;d=g&&(k.boxSizingReliable()||e===a.style[b]),e=parseFloat(e)||0}return e+Hb(a,b,c||(g?"border":"content"),d,f)+"px"}function Jb(a,b){for(var c,d,e,f=[],g=0,h=a.length;h>g;g++)d=a[g],d.style&&(f[g]=L.get(d,"olddisplay"),c=d.style.display,b?(f[g]||"none"!==c||(d.style.display=""),""===d.style.display&&S(d)&&(f[g]=L.access(d,"olddisplay",tb(d.nodeName)))):(e=S(d),"none"===c&&e||L.set(d,"olddisplay",e?c:n.css(d,"display"))));for(g=0;h>g;g++)d=a[g],d.style&&(b&&"none"!==d.style.display&&""!==d.style.display||(d.style.display=b?f[g]||"":"none"));return a}n.extend({cssHooks:{opacity:{get:function(a,b){if(b){var c=xb(a,"opacity");return""===c?"1":c}}}},cssNumber:{columnCount:!0,fillOpacity:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":"cssFloat"},style:function(a,b,c,d){if(a&&3!==a.nodeType&&8!==a.nodeType&&a.style){var e,f,g,h=n.camelCase(b),i=a.style;return b=n.cssProps[h]||(n.cssProps[h]=Fb(i,h)),g=n.cssHooks[b]||n.cssHooks[h],void 0===c?g&&"get"in g&&void 0!==(e=g.get(a,!1,d))?e:i[b]:(f=typeof c,"string"===f&&(e=Bb.exec(c))&&(c=(e[1]+1)*e[2]+parseFloat(n.css(a,b)),f="number"),null!=c&&c===c&&("number"!==f||n.cssNumber[h]||(c+="px"),k.clearCloneStyle||""!==c||0!==b.indexOf("background")||(i[b]="inherit"),g&&"set"in g&&void 0===(c=g.set(a,c,d))||(i[b]=c)),void 0)}},css:function(a,b,c,d){var e,f,g,h=n.camelCase(b);return b=n.cssProps[h]||(n.cssProps[h]=Fb(a.style,h)),g=n.cssHooks[b]||n.cssHooks[h],g&&"get"in g&&(e=g.get(a,!0,c)),void 0===e&&(e=xb(a,b,d)),"normal"===e&&b in Db&&(e=Db[b]),""===c||c?(f=parseFloat(e),c===!0||n.isNumeric(f)?f||0:e):e}}),n.each(["height","width"],function(a,b){n.cssHooks[b]={get:function(a,c,d){return c?zb.test(n.css(a,"display"))&&0===a.offsetWidth?n.swap(a,Cb,function(){return Ib(a,b,d)}):Ib(a,b,d):void 0},set:function(a,c,d){var e=d&&wb(a);return Gb(a,c,d?Hb(a,b,d,"border-box"===n.css(a,"boxSizing",!1,e),e):0)}}}),n.cssHooks.marginRight=yb(k.reliableMarginRight,function(a,b){return b?n.swap(a,{display:"inline-block"},xb,[a,"marginRight"]):void 0}),n.each({margin:"",padding:"",border:"Width"},function(a,b){n.cssHooks[a+b]={expand:function(c){for(var d=0,e={},f="string"==typeof c?c.split(" "):[c];4>d;d++)e[a+R[d]+b]=f[d]||f[d-2]||f[0];return e}},ub.test(a)||(n.cssHooks[a+b].set=Gb)}),n.fn.extend({css:function(a,b){return J(this,function(a,b,c){var d,e,f={},g=0;if(n.isArray(b)){for(d=wb(a),e=b.length;e>g;g++)f[b[g]]=n.css(a,b[g],!1,d);return f}return void 0!==c?n.style(a,b,c):n.css(a,b)},a,b,arguments.length>1)},show:function(){return Jb(this,!0)},hide:function(){return Jb(this)},toggle:function(a){return"boolean"==typeof a?a?this.show():this.hide():this.each(function(){S(this)?n(this).show():n(this).hide()})}});function Kb(a,b,c,d,e){return new Kb.prototype.init(a,b,c,d,e)}n.Tween=Kb,Kb.prototype={constructor:Kb,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||"swing",this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(n.cssNumber[c]?"":"px")},cur:function(){var a=Kb.propHooks[this.prop];return a&&a.get?a.get(this):Kb.propHooks._default.get(this)},run:function(a){var b,c=Kb.propHooks[this.prop];return this.pos=b=this.options.duration?n.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Kb.propHooks._default.set(this),this}},Kb.prototype.init.prototype=Kb.prototype,Kb.propHooks={_default:{get:function(a){var b;return null==a.elem[a.prop]||a.elem.style&&null!=a.elem.style[a.prop]?(b=n.css(a.elem,a.prop,""),b&&"auto"!==b?b:0):a.elem[a.prop]},set:function(a){n.fx.step[a.prop]?n.fx.step[a.prop](a):a.elem.style&&(null!=a.elem.style[n.cssProps[a.prop]]||n.cssHooks[a.prop])?n.style(a.elem,a.prop,a.now+a.unit):a.elem[a.prop]=a.now}}},Kb.propHooks.scrollTop=Kb.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},n.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2}},n.fx=Kb.prototype.init,n.fx.step={};var Lb,Mb,Nb=/^(?:toggle|show|hide)$/,Ob=new RegExp("^(?:([+-])=|)("+Q+")([a-z%]*)$","i"),Pb=/queueHooks$/,Qb=[Vb],Rb={"*":[function(a,b){var c=this.createTween(a,b),d=c.cur(),e=Ob.exec(b),f=e&&e[3]||(n.cssNumber[a]?"":"px"),g=(n.cssNumber[a]||"px"!==f&&+d)&&Ob.exec(n.css(c.elem,a)),h=1,i=20;if(g&&g[3]!==f){f=f||g[3],e=e||[],g=+d||1;do h=h||".5",g/=h,n.style(c.elem,a,g+f);while(h!==(h=c.cur()/d)&&1!==h&&--i)}return e&&(g=c.start=+g||+d||0,c.unit=f,c.end=e[1]?g+(e[1]+1)*e[2]:+e[2]),c}]};function Sb(){return setTimeout(function(){Lb=void 0}),Lb=n.now()}function Tb(a,b){var c,d=0,e={height:a};for(b=b?1:0;4>d;d+=2-b)c=R[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function Ub(a,b,c){for(var d,e=(Rb[b]||[]).concat(Rb["*"]),f=0,g=e.length;g>f;f++)if(d=e[f].call(c,b,a))return d}function Vb(a,b,c){var d,e,f,g,h,i,j,k,l=this,m={},o=a.style,p=a.nodeType&&S(a),q=L.get(a,"fxshow");c.queue||(h=n._queueHooks(a,"fx"),null==h.unqueued&&(h.unqueued=0,i=h.empty.fire,h.empty.fire=function(){h.unqueued||i()}),h.unqueued++,l.always(function(){l.always(function(){h.unqueued--,n.queue(a,"fx").length||h.empty.fire()})})),1===a.nodeType&&("height"in b||"width"in b)&&(c.overflow=[o.overflow,o.overflowX,o.overflowY],j=n.css(a,"display"),k="none"===j?L.get(a,"olddisplay")||tb(a.nodeName):j,"inline"===k&&"none"===n.css(a,"float")&&(o.display="inline-block")),c.overflow&&(o.overflow="hidden",l.always(function(){o.overflow=c.overflow[0],o.overflowX=c.overflow[1],o.overflowY=c.overflow[2]}));for(d in b)if(e=b[d],Nb.exec(e)){if(delete b[d],f=f||"toggle"===e,e===(p?"hide":"show")){if("show"!==e||!q||void 0===q[d])continue;p=!0}m[d]=q&&q[d]||n.style(a,d)}else j=void 0;if(n.isEmptyObject(m))"inline"===("none"===j?tb(a.nodeName):j)&&(o.display=j);else{q?"hidden"in q&&(p=q.hidden):q=L.access(a,"fxshow",{}),f&&(q.hidden=!p),p?n(a).show():l.done(function(){n(a).hide()}),l.done(function(){var b;L.remove(a,"fxshow");for(b in m)n.style(a,b,m[b])});for(d in m)g=Ub(p?q[d]:0,d,l),d in q||(q[d]=g.start,p&&(g.end=g.start,g.start="width"===d||"height"===d?1:0))}}function Wb(a,b){var c,d,e,f,g;for(c in a)if(d=n.camelCase(c),e=b[d],f=a[c],n.isArray(f)&&(e=f[1],f=a[c]=f[0]),c!==d&&(a[d]=f,delete a[c]),g=n.cssHooks[d],g&&"expand"in g){f=g.expand(f),delete a[d];for(c in f)c in a||(a[c]=f[c],b[c]=e)}else b[d]=e}function Xb(a,b,c){var d,e,f=0,g=Qb.length,h=n.Deferred().always(function(){delete i.elem}),i=function(){if(e)return!1;for(var b=Lb||Sb(),c=Math.max(0,j.startTime+j.duration-b),d=c/j.duration||0,f=1-d,g=0,i=j.tweens.length;i>g;g++)j.tweens[g].run(f);return h.notifyWith(a,[j,f,c]),1>f&&i?c:(h.resolveWith(a,[j]),!1)},j=h.promise({elem:a,props:n.extend({},b),opts:n.extend(!0,{specialEasing:{}},c),originalProperties:b,originalOptions:c,startTime:Lb||Sb(),duration:c.duration,tweens:[],createTween:function(b,c){var d=n.Tween(a,j.opts,b,c,j.opts.specialEasing[b]||j.opts.easing);return j.tweens.push(d),d},stop:function(b){var c=0,d=b?j.tweens.length:0;if(e)return this;for(e=!0;d>c;c++)j.tweens[c].run(1);return b?h.resolveWith(a,[j,b]):h.rejectWith(a,[j,b]),this}}),k=j.props;for(Wb(k,j.opts.specialEasing);g>f;f++)if(d=Qb[f].call(j,a,k,j.opts))return d;return n.map(k,Ub,j),n.isFunction(j.opts.start)&&j.opts.start.call(a,j),n.fx.timer(n.extend(i,{elem:a,anim:j,queue:j.opts.queue})),j.progress(j.opts.progress).done(j.opts.done,j.opts.complete).fail(j.opts.fail).always(j.opts.always)}n.Animation=n.extend(Xb,{tweener:function(a,b){n.isFunction(a)?(b=a,a=["*"]):a=a.split(" ");for(var c,d=0,e=a.length;e>d;d++)c=a[d],Rb[c]=Rb[c]||[],Rb[c].unshift(b)},prefilter:function(a,b){b?Qb.unshift(a):Qb.push(a)}}),n.speed=function(a,b,c){var d=a&&"object"==typeof a?n.extend({},a):{complete:c||!c&&b||n.isFunction(a)&&a,duration:a,easing:c&&b||b&&!n.isFunction(b)&&b};return d.duration=n.fx.off?0:"number"==typeof d.duration?d.duration:d.duration in n.fx.speeds?n.fx.speeds[d.duration]:n.fx.speeds._default,(null==d.queue||d.queue===!0)&&(d.queue="fx"),d.old=d.complete,d.complete=function(){n.isFunction(d.old)&&d.old.call(this),d.queue&&n.dequeue(this,d.queue)},d},n.fn.extend({fadeTo:function(a,b,c,d){return this.filter(S).css("opacity",0).show().end().animate({opacity:b},a,c,d)},animate:function(a,b,c,d){var e=n.isEmptyObject(a),f=n.speed(b,c,d),g=function(){var b=Xb(this,n.extend({},a),f);(e||L.get(this,"finish"))&&b.stop(!0)};return g.finish=g,e||f.queue===!1?this.each(g):this.queue(f.queue,g)},stop:function(a,b,c){var d=function(a){var b=a.stop;delete a.stop,b(c)};return"string"!=typeof a&&(c=b,b=a,a=void 0),b&&a!==!1&&this.queue(a||"fx",[]),this.each(function(){var b=!0,e=null!=a&&a+"queueHooks",f=n.timers,g=L.get(this);if(e)g[e]&&g[e].stop&&d(g[e]);else for(e in g)g[e]&&g[e].stop&&Pb.test(e)&&d(g[e]);for(e=f.length;e--;)f[e].elem!==this||null!=a&&f[e].queue!==a||(f[e].anim.stop(c),b=!1,f.splice(e,1));(b||!c)&&n.dequeue(this,a)})},finish:function(a){return a!==!1&&(a=a||"fx"),this.each(function(){var b,c=L.get(this),d=c[a+"queue"],e=c[a+"queueHooks"],f=n.timers,g=d?d.length:0;for(c.finish=!0,n.queue(this,a,[]),e&&e.stop&&e.stop.call(this,!0),b=f.length;b--;)f[b].elem===this&&f[b].queue===a&&(f[b].anim.stop(!0),f.splice(b,1));for(b=0;g>b;b++)d[b]&&d[b].finish&&d[b].finish.call(this);delete c.finish})}}),n.each(["toggle","show","hide"],function(a,b){var c=n.fn[b];n.fn[b]=function(a,d,e){return null==a||"boolean"==typeof a?c.apply(this,arguments):this.animate(Tb(b,!0),a,d,e)}}),n.each({slideDown:Tb("show"),slideUp:Tb("hide"),slideToggle:Tb("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(a,b){n.fn[a]=function(a,c,d){return this.animate(b,a,c,d)}}),n.timers=[],n.fx.tick=function(){var a,b=0,c=n.timers;for(Lb=n.now();b<c.length;b++)a=c[b],a()||c[b]!==a||c.splice(b--,1);c.length||n.fx.stop(),Lb=void 0},n.fx.timer=function(a){n.timers.push(a),a()?n.fx.start():n.timers.pop()},n.fx.interval=13,n.fx.start=function(){Mb||(Mb=setInterval(n.fx.tick,n.fx.interval))},n.fx.stop=function(){clearInterval(Mb),Mb=null},n.fx.speeds={slow:600,fast:200,_default:400},n.fn.delay=function(a,b){return a=n.fx?n.fx.speeds[a]||a:a,b=b||"fx",this.queue(b,function(b,c){var d=setTimeout(b,a);c.stop=function(){clearTimeout(d)}})},function(){var a=l.createElement("input"),b=l.createElement("select"),c=b.appendChild(l.createElement("option"));a.type="checkbox",k.checkOn=""!==a.value,k.optSelected=c.selected,b.disabled=!0,k.optDisabled=!c.disabled,a=l.createElement("input"),a.value="t",a.type="radio",k.radioValue="t"===a.value}();var Yb,Zb,$b=n.expr.attrHandle;n.fn.extend({attr:function(a,b){return J(this,n.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){n.removeAttr(this,a)})}}),n.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(a&&3!==f&&8!==f&&2!==f)return typeof a.getAttribute===U?n.prop(a,b,c):(1===f&&n.isXMLDoc(a)||(b=b.toLowerCase(),d=n.attrHooks[b]||(n.expr.match.bool.test(b)?Zb:Yb)),void 0===c?d&&"get"in d&&null!==(e=d.get(a,b))?e:(e=n.find.attr(a,b),null==e?void 0:e):null!==c?d&&"set"in d&&void 0!==(e=d.set(a,c,b))?e:(a.setAttribute(b,c+""),c):void n.removeAttr(a,b)) +},removeAttr:function(a,b){var c,d,e=0,f=b&&b.match(E);if(f&&1===a.nodeType)while(c=f[e++])d=n.propFix[c]||c,n.expr.match.bool.test(c)&&(a[d]=!1),a.removeAttribute(c)},attrHooks:{type:{set:function(a,b){if(!k.radioValue&&"radio"===b&&n.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}}}),Zb={set:function(a,b,c){return b===!1?n.removeAttr(a,c):a.setAttribute(c,c),c}},n.each(n.expr.match.bool.source.match(/\w+/g),function(a,b){var c=$b[b]||n.find.attr;$b[b]=function(a,b,d){var e,f;return d||(f=$b[b],$b[b]=e,e=null!=c(a,b,d)?b.toLowerCase():null,$b[b]=f),e}});var _b=/^(?:input|select|textarea|button)$/i;n.fn.extend({prop:function(a,b){return J(this,n.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[n.propFix[a]||a]})}}),n.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(a,b,c){var d,e,f,g=a.nodeType;if(a&&3!==g&&8!==g&&2!==g)return f=1!==g||!n.isXMLDoc(a),f&&(b=n.propFix[b]||b,e=n.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){return a.hasAttribute("tabindex")||_b.test(a.nodeName)||a.href?a.tabIndex:-1}}}}),k.optSelected||(n.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null}}),n.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){n.propFix[this.toLowerCase()]=this});var ac=/[\t\r\n\f]/g;n.fn.extend({addClass:function(a){var b,c,d,e,f,g,h="string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).addClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):" ")){f=0;while(e=b[f++])d.indexOf(" "+e+" ")<0&&(d+=e+" ");g=n.trim(d),c.className!==g&&(c.className=g)}return this},removeClass:function(a){var b,c,d,e,f,g,h=0===arguments.length||"string"==typeof a&&a,i=0,j=this.length;if(n.isFunction(a))return this.each(function(b){n(this).removeClass(a.call(this,b,this.className))});if(h)for(b=(a||"").match(E)||[];j>i;i++)if(c=this[i],d=1===c.nodeType&&(c.className?(" "+c.className+" ").replace(ac," "):"")){f=0;while(e=b[f++])while(d.indexOf(" "+e+" ")>=0)d=d.replace(" "+e+" "," ");g=a?n.trim(d):"",c.className!==g&&(c.className=g)}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):this.each(n.isFunction(a)?function(c){n(this).toggleClass(a.call(this,c,this.className,b),b)}:function(){if("string"===c){var b,d=0,e=n(this),f=a.match(E)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else(c===U||"boolean"===c)&&(this.className&&L.set(this,"__className__",this.className),this.className=this.className||a===!1?"":L.get(this,"__className__")||"")})},hasClass:function(a){for(var b=" "+a+" ",c=0,d=this.length;d>c;c++)if(1===this[c].nodeType&&(" "+this[c].className+" ").replace(ac," ").indexOf(b)>=0)return!0;return!1}});var bc=/\r/g;n.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=n.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,n(this).val()):a,null==e?e="":"number"==typeof e?e+="":n.isArray(e)&&(e=n.map(e,function(a){return null==a?"":a+""})),b=n.valHooks[this.type]||n.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=n.valHooks[e.type]||n.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(bc,""):null==c?"":c)}}}),n.extend({valHooks:{option:{get:function(a){var b=n.find.attr(a,"value");return null!=b?b:n.trim(n.text(a))}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type||0>e,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],!(!c.selected&&i!==e||(k.optDisabled?c.disabled:null!==c.getAttribute("disabled"))||c.parentNode.disabled&&n.nodeName(c.parentNode,"optgroup"))){if(b=n(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=n.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=n.inArray(d.value,f)>=0)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),n.each(["radio","checkbox"],function(){n.valHooks[this]={set:function(a,b){return n.isArray(b)?a.checked=n.inArray(n(a).val(),b)>=0:void 0}},k.checkOn||(n.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})}),n.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(a,b){n.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),n.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)},bind:function(a,b,c){return this.on(a,null,b,c)},unbind:function(a,b){return this.off(a,null,b)},delegate:function(a,b,c,d){return this.on(b,a,c,d)},undelegate:function(a,b,c){return 1===arguments.length?this.off(a,"**"):this.off(b,a||"**",c)}});var cc=n.now(),dc=/\?/;n.parseJSON=function(a){return JSON.parse(a+"")},n.parseXML=function(a){var b,c;if(!a||"string"!=typeof a)return null;try{c=new DOMParser,b=c.parseFromString(a,"text/xml")}catch(d){b=void 0}return(!b||b.getElementsByTagName("parsererror").length)&&n.error("Invalid XML: "+a),b};var ec,fc,gc=/#.*$/,hc=/([?&])_=[^&]*/,ic=/^(.*?):[ \t]*([^\r\n]*)$/gm,jc=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,kc=/^(?:GET|HEAD)$/,lc=/^\/\//,mc=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,nc={},oc={},pc="*/".concat("*");try{fc=location.href}catch(qc){fc=l.createElement("a"),fc.href="",fc=fc.href}ec=mc.exec(fc.toLowerCase())||[];function rc(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(E)||[];if(n.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function sc(a,b,c,d){var e={},f=a===oc;function g(h){var i;return e[h]=!0,n.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function tc(a,b){var c,d,e=n.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&n.extend(!0,a,d),a}function uc(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function vc(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}n.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:fc,type:"GET",isLocal:jc.test(ec[1]),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":pc,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":n.parseJSON,"text xml":n.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?tc(tc(a,n.ajaxSettings),b):tc(n.ajaxSettings,a)},ajaxPrefilter:rc(nc),ajaxTransport:rc(oc),ajax:function(a,b){"object"==typeof a&&(b=a,a=void 0),b=b||{};var c,d,e,f,g,h,i,j,k=n.ajaxSetup({},b),l=k.context||k,m=k.context&&(l.nodeType||l.jquery)?n(l):n.event,o=n.Deferred(),p=n.Callbacks("once memory"),q=k.statusCode||{},r={},s={},t=0,u="canceled",v={readyState:0,getResponseHeader:function(a){var b;if(2===t){if(!f){f={};while(b=ic.exec(e))f[b[1].toLowerCase()]=b[2]}b=f[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return 2===t?e:null},setRequestHeader:function(a,b){var c=a.toLowerCase();return t||(a=s[c]=s[c]||a,r[a]=b),this},overrideMimeType:function(a){return t||(k.mimeType=a),this},statusCode:function(a){var b;if(a)if(2>t)for(b in a)q[b]=[q[b],a[b]];else v.always(a[v.status]);return this},abort:function(a){var b=a||u;return c&&c.abort(b),x(0,b),this}};if(o.promise(v).complete=p.add,v.success=v.done,v.error=v.fail,k.url=((a||k.url||fc)+"").replace(gc,"").replace(lc,ec[1]+"//"),k.type=b.method||b.type||k.method||k.type,k.dataTypes=n.trim(k.dataType||"*").toLowerCase().match(E)||[""],null==k.crossDomain&&(h=mc.exec(k.url.toLowerCase()),k.crossDomain=!(!h||h[1]===ec[1]&&h[2]===ec[2]&&(h[3]||("http:"===h[1]?"80":"443"))===(ec[3]||("http:"===ec[1]?"80":"443")))),k.data&&k.processData&&"string"!=typeof k.data&&(k.data=n.param(k.data,k.traditional)),sc(nc,k,b,v),2===t)return v;i=k.global,i&&0===n.active++&&n.event.trigger("ajaxStart"),k.type=k.type.toUpperCase(),k.hasContent=!kc.test(k.type),d=k.url,k.hasContent||(k.data&&(d=k.url+=(dc.test(d)?"&":"?")+k.data,delete k.data),k.cache===!1&&(k.url=hc.test(d)?d.replace(hc,"$1_="+cc++):d+(dc.test(d)?"&":"?")+"_="+cc++)),k.ifModified&&(n.lastModified[d]&&v.setRequestHeader("If-Modified-Since",n.lastModified[d]),n.etag[d]&&v.setRequestHeader("If-None-Match",n.etag[d])),(k.data&&k.hasContent&&k.contentType!==!1||b.contentType)&&v.setRequestHeader("Content-Type",k.contentType),v.setRequestHeader("Accept",k.dataTypes[0]&&k.accepts[k.dataTypes[0]]?k.accepts[k.dataTypes[0]]+("*"!==k.dataTypes[0]?", "+pc+"; q=0.01":""):k.accepts["*"]);for(j in k.headers)v.setRequestHeader(j,k.headers[j]);if(k.beforeSend&&(k.beforeSend.call(l,v,k)===!1||2===t))return v.abort();u="abort";for(j in{success:1,error:1,complete:1})v[j](k[j]);if(c=sc(oc,k,b,v)){v.readyState=1,i&&m.trigger("ajaxSend",[v,k]),k.async&&k.timeout>0&&(g=setTimeout(function(){v.abort("timeout")},k.timeout));try{t=1,c.send(r,x)}catch(w){if(!(2>t))throw w;x(-1,w)}}else x(-1,"No Transport");function x(a,b,f,h){var j,r,s,u,w,x=b;2!==t&&(t=2,g&&clearTimeout(g),c=void 0,e=h||"",v.readyState=a>0?4:0,j=a>=200&&300>a||304===a,f&&(u=uc(k,v,f)),u=vc(k,u,v,j),j?(k.ifModified&&(w=v.getResponseHeader("Last-Modified"),w&&(n.lastModified[d]=w),w=v.getResponseHeader("etag"),w&&(n.etag[d]=w)),204===a||"HEAD"===k.type?x="nocontent":304===a?x="notmodified":(x=u.state,r=u.data,s=u.error,j=!s)):(s=x,(a||!x)&&(x="error",0>a&&(a=0))),v.status=a,v.statusText=(b||x)+"",j?o.resolveWith(l,[r,x,v]):o.rejectWith(l,[v,x,s]),v.statusCode(q),q=void 0,i&&m.trigger(j?"ajaxSuccess":"ajaxError",[v,k,j?r:s]),p.fireWith(l,[v,x]),i&&(m.trigger("ajaxComplete",[v,k]),--n.active||n.event.trigger("ajaxStop")))}return v},getJSON:function(a,b,c){return n.get(a,b,c,"json")},getScript:function(a,b){return n.get(a,void 0,b,"script")}}),n.each(["get","post"],function(a,b){n[b]=function(a,c,d,e){return n.isFunction(c)&&(e=e||d,d=c,c=void 0),n.ajax({url:a,type:b,dataType:e,data:c,success:d})}}),n.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(a,b){n.fn[b]=function(a){return this.on(b,a)}}),n._evalUrl=function(a){return n.ajax({url:a,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0})},n.fn.extend({wrapAll:function(a){var b;return n.isFunction(a)?this.each(function(b){n(this).wrapAll(a.call(this,b))}):(this[0]&&(b=n(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this)},wrapInner:function(a){return this.each(n.isFunction(a)?function(b){n(this).wrapInner(a.call(this,b))}:function(){var b=n(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=n.isFunction(a);return this.each(function(c){n(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){n.nodeName(this,"body")||n(this).replaceWith(this.childNodes)}).end()}}),n.expr.filters.hidden=function(a){return a.offsetWidth<=0&&a.offsetHeight<=0},n.expr.filters.visible=function(a){return!n.expr.filters.hidden(a)};var wc=/%20/g,xc=/\[\]$/,yc=/\r?\n/g,zc=/^(?:submit|button|image|reset|file)$/i,Ac=/^(?:input|select|textarea|keygen)/i;function Bc(a,b,c,d){var e;if(n.isArray(b))n.each(b,function(b,e){c||xc.test(a)?d(a,e):Bc(a+"["+("object"==typeof e?b:"")+"]",e,c,d)});else if(c||"object"!==n.type(b))d(a,b);else for(e in b)Bc(a+"["+e+"]",b[e],c,d)}n.param=function(a,b){var c,d=[],e=function(a,b){b=n.isFunction(b)?b():null==b?"":b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};if(void 0===b&&(b=n.ajaxSettings&&n.ajaxSettings.traditional),n.isArray(a)||a.jquery&&!n.isPlainObject(a))n.each(a,function(){e(this.name,this.value)});else for(c in a)Bc(c,a[c],b,e);return d.join("&").replace(wc,"+")},n.fn.extend({serialize:function(){return n.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=n.prop(this,"elements");return a?n.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!n(this).is(":disabled")&&Ac.test(this.nodeName)&&!zc.test(a)&&(this.checked||!T.test(a))}).map(function(a,b){var c=n(this).val();return null==c?null:n.isArray(c)?n.map(c,function(a){return{name:b.name,value:a.replace(yc,"\r\n")}}):{name:b.name,value:c.replace(yc,"\r\n")}}).get()}}),n.ajaxSettings.xhr=function(){try{return new XMLHttpRequest}catch(a){}};var Cc=0,Dc={},Ec={0:200,1223:204},Fc=n.ajaxSettings.xhr();a.ActiveXObject&&n(a).on("unload",function(){for(var a in Dc)Dc[a]()}),k.cors=!!Fc&&"withCredentials"in Fc,k.ajax=Fc=!!Fc,n.ajaxTransport(function(a){var b;return k.cors||Fc&&!a.crossDomain?{send:function(c,d){var e,f=a.xhr(),g=++Cc;if(f.open(a.type,a.url,a.async,a.username,a.password),a.xhrFields)for(e in a.xhrFields)f[e]=a.xhrFields[e];a.mimeType&&f.overrideMimeType&&f.overrideMimeType(a.mimeType),a.crossDomain||c["X-Requested-With"]||(c["X-Requested-With"]="XMLHttpRequest");for(e in c)f.setRequestHeader(e,c[e]);b=function(a){return function(){b&&(delete Dc[g],b=f.onload=f.onerror=null,"abort"===a?f.abort():"error"===a?d(f.status,f.statusText):d(Ec[f.status]||f.status,f.statusText,"string"==typeof f.responseText?{text:f.responseText}:void 0,f.getAllResponseHeaders()))}},f.onload=b(),f.onerror=b("error"),b=Dc[g]=b("abort");try{f.send(a.hasContent&&a.data||null)}catch(h){if(b)throw h}},abort:function(){b&&b()}}:void 0}),n.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(a){return n.globalEval(a),a}}}),n.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),n.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(d,e){b=n("<script>").prop({async:!0,charset:a.scriptCharset,src:a.url}).on("load error",c=function(a){b.remove(),c=null,a&&e("error"===a.type?404:200,a.type)}),l.head.appendChild(b[0])},abort:function(){c&&c()}}}});var Gc=[],Hc=/(=)\?(?=&|$)|\?\?/;n.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var a=Gc.pop()||n.expando+"_"+cc++;return this[a]=!0,a}}),n.ajaxPrefilter("json jsonp",function(b,c,d){var e,f,g,h=b.jsonp!==!1&&(Hc.test(b.url)?"url":"string"==typeof b.data&&!(b.contentType||"").indexOf("application/x-www-form-urlencoded")&&Hc.test(b.data)&&"data");return h||"jsonp"===b.dataTypes[0]?(e=b.jsonpCallback=n.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,h?b[h]=b[h].replace(Hc,"$1"+e):b.jsonp!==!1&&(b.url+=(dc.test(b.url)?"&":"?")+b.jsonp+"="+e),b.converters["script json"]=function(){return g||n.error(e+" was not called"),g[0]},b.dataTypes[0]="json",f=a[e],a[e]=function(){g=arguments},d.always(function(){a[e]=f,b[e]&&(b.jsonpCallback=c.jsonpCallback,Gc.push(e)),g&&n.isFunction(f)&&f(g[0]),g=f=void 0}),"script"):void 0}),n.parseHTML=function(a,b,c){if(!a||"string"!=typeof a)return null;"boolean"==typeof b&&(c=b,b=!1),b=b||l;var d=v.exec(a),e=!c&&[];return d?[b.createElement(d[1])]:(d=n.buildFragment([a],b,e),e&&e.length&&n(e).remove(),n.merge([],d.childNodes))};var Ic=n.fn.load;n.fn.load=function(a,b,c){if("string"!=typeof a&&Ic)return Ic.apply(this,arguments);var d,e,f,g=this,h=a.indexOf(" ");return h>=0&&(d=n.trim(a.slice(h)),a=a.slice(0,h)),n.isFunction(b)?(c=b,b=void 0):b&&"object"==typeof b&&(e="POST"),g.length>0&&n.ajax({url:a,type:e,dataType:"html",data:b}).done(function(a){f=arguments,g.html(d?n("<div>").append(n.parseHTML(a)).find(d):a)}).complete(c&&function(a,b){g.each(c,f||[a.responseText,b,a])}),this},n.expr.filters.animated=function(a){return n.grep(n.timers,function(b){return a===b.elem}).length};var Jc=a.document.documentElement;function Kc(a){return n.isWindow(a)?a:9===a.nodeType&&a.defaultView}n.offset={setOffset:function(a,b,c){var d,e,f,g,h,i,j,k=n.css(a,"position"),l=n(a),m={};"static"===k&&(a.style.position="relative"),h=l.offset(),f=n.css(a,"top"),i=n.css(a,"left"),j=("absolute"===k||"fixed"===k)&&(f+i).indexOf("auto")>-1,j?(d=l.position(),g=d.top,e=d.left):(g=parseFloat(f)||0,e=parseFloat(i)||0),n.isFunction(b)&&(b=b.call(a,c,h)),null!=b.top&&(m.top=b.top-h.top+g),null!=b.left&&(m.left=b.left-h.left+e),"using"in b?b.using.call(a,m):l.css(m)}},n.fn.extend({offset:function(a){if(arguments.length)return void 0===a?this:this.each(function(b){n.offset.setOffset(this,a,b)});var b,c,d=this[0],e={top:0,left:0},f=d&&d.ownerDocument;if(f)return b=f.documentElement,n.contains(b,d)?(typeof d.getBoundingClientRect!==U&&(e=d.getBoundingClientRect()),c=Kc(f),{top:e.top+c.pageYOffset-b.clientTop,left:e.left+c.pageXOffset-b.clientLeft}):e},position:function(){if(this[0]){var a,b,c=this[0],d={top:0,left:0};return"fixed"===n.css(c,"position")?b=c.getBoundingClientRect():(a=this.offsetParent(),b=this.offset(),n.nodeName(a[0],"html")||(d=a.offset()),d.top+=n.css(a[0],"borderTopWidth",!0),d.left+=n.css(a[0],"borderLeftWidth",!0)),{top:b.top-d.top-n.css(c,"marginTop",!0),left:b.left-d.left-n.css(c,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||Jc;while(a&&!n.nodeName(a,"html")&&"static"===n.css(a,"position"))a=a.offsetParent;return a||Jc})}}),n.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(b,c){var d="pageYOffset"===c;n.fn[b]=function(e){return J(this,function(b,e,f){var g=Kc(b);return void 0===f?g?g[c]:b[e]:void(g?g.scrollTo(d?a.pageXOffset:f,d?f:a.pageYOffset):b[e]=f)},b,e,arguments.length,null)}}),n.each(["top","left"],function(a,b){n.cssHooks[b]=yb(k.pixelPosition,function(a,c){return c?(c=xb(a,b),vb.test(c)?n(a).position()[b]+"px":c):void 0})}),n.each({Height:"height",Width:"width"},function(a,b){n.each({padding:"inner"+a,content:b,"":"outer"+a},function(c,d){n.fn[d]=function(d,e){var f=arguments.length&&(c||"boolean"!=typeof d),g=c||(d===!0||e===!0?"margin":"border");return J(this,function(b,c,d){var e;return n.isWindow(b)?b.document.documentElement["client"+a]:9===b.nodeType?(e=b.documentElement,Math.max(b.body["scroll"+a],e["scroll"+a],b.body["offset"+a],e["offset"+a],e["client"+a])):void 0===d?n.css(b,c,g):n.style(b,c,d,g)},b,f?d:void 0,f,null)}})}),n.fn.size=function(){return this.length},n.fn.andSelf=n.fn.addBack,"function"==typeof define&&define.amd&&define("jquery",[],function(){return n});var Lc=a.jQuery,Mc=a.$;return n.noConflict=function(b){return a.$===n&&(a.$=Mc),b&&a.jQuery===n&&(a.jQuery=Lc),n},typeof b===U&&(a.jQuery=a.$=n),n}); diff --git a/ui/ui-frontend/projects/pastis/sassdoc/assets/js/vendor/prism.min.js b/ui/ui-frontend/projects/pastis/sassdoc/assets/js/vendor/prism.min.js new file mode 100644 index 0000000000000000000000000000000000000000..30d8725890a84b72d93d00d6f0ad602a396f8bb6 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/sassdoc/assets/js/vendor/prism.min.js @@ -0,0 +1,9 @@ +/* http://prismjs.com/download.html?themes=prism&languages=markup+css+css-extras+clike+javascript+scss */ +var self=typeof window!="undefined"?window:{},Prism=function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=self.Prism={util:{encode:function(e){return e instanceof n?new n(e.type,t.util.encode(e.content)):t.util.type(e)==="Array"?e.map(t.util.encode):e.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},clone:function(e){var n=t.util.type(e);switch(n){case"Object":var r={};for(var i in e)e.hasOwnProperty(i)&&(r[i]=t.util.clone(e[i]));return r;case"Array":return e.slice()}return e}},languages:{extend:function(e,n){var r=t.util.clone(t.languages[e]);for(var i in n)r[i]=n[i];return r},insertBefore:function(e,n,r,i){i=i||t.languages;var s=i[e],o={};for(var u in s)if(s.hasOwnProperty(u)){if(u==n)for(var a in r)r.hasOwnProperty(a)&&(o[a]=r[a]);o[u]=s[u]}return i[e]=o},DFS:function(e,n){for(var r in e){n.call(e,r,e[r]);t.util.type(e)==="Object"&&t.languages.DFS(e[r],n)}}},highlightAll:function(e,n){var r=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code');for(var i=0,s;s=r[i++];)t.highlightElement(s,e===!0,n)},highlightElement:function(r,i,s){var o,u,a=r;while(a&&!e.test(a.className))a=a.parentNode;if(a){o=(a.className.match(e)||[,""])[1];u=t.languages[o]}if(!u)return;r.className=r.className.replace(e,"").replace(/\s+/g," ")+" language-"+o;a=r.parentNode;/pre/i.test(a.nodeName)&&(a.className=a.className.replace(e,"").replace(/\s+/g," ")+" language-"+o);var f=r.textContent;if(!f)return;var l={element:r,language:o,grammar:u,code:f};t.hooks.run("before-highlight",l);if(i&&self.Worker){var c=new Worker(t.filename);c.onmessage=function(e){l.highlightedCode=n.stringify(JSON.parse(e.data),o);t.hooks.run("before-insert",l);l.element.innerHTML=l.highlightedCode;s&&s.call(l.element);t.hooks.run("after-highlight",l)};c.postMessage(JSON.stringify({language:l.language,code:l.code}))}else{l.highlightedCode=t.highlight(l.code,l.grammar,l.language);t.hooks.run("before-insert",l);l.element.innerHTML=l.highlightedCode;s&&s.call(r);t.hooks.run("after-highlight",l)}},highlight:function(e,r,i){var s=t.tokenize(e,r);return n.stringify(t.util.encode(s),i)},tokenize:function(e,n,r){var i=t.Token,s=[e],o=n.rest;if(o){for(var u in o)n[u]=o[u];delete n.rest}e:for(var u in n){if(!n.hasOwnProperty(u)||!n[u])continue;var a=n[u],f=a.inside,l=!!a.lookbehind,c=0;a=a.pattern||a;for(var h=0;h<s.length;h++){var p=s[h];if(s.length>e.length)break e;if(p instanceof i)continue;a.lastIndex=0;var d=a.exec(p);if(d){l&&(c=d[1].length);var v=d.index-1+c,d=d[0].slice(c),m=d.length,g=v+m,y=p.slice(0,v+1),b=p.slice(g+1),w=[h,1];y&&w.push(y);var E=new i(u,f?t.tokenize(d,f):d);w.push(E);b&&w.push(b);Array.prototype.splice.apply(s,w)}}}return s},hooks:{all:{},add:function(e,n){var r=t.hooks.all;r[e]=r[e]||[];r[e].push(n)},run:function(e,n){var r=t.hooks.all[e];if(!r||!r.length)return;for(var i=0,s;s=r[i++];)s(n)}}},n=t.Token=function(e,t){this.type=e;this.content=t};n.stringify=function(e,r,i){if(typeof e=="string")return e;if(Object.prototype.toString.call(e)=="[object Array]")return e.map(function(t){return n.stringify(t,r,e)}).join("");var s={type:e.type,content:n.stringify(e.content,r,i),tag:"span",classes:["token",e.type],attributes:{},language:r,parent:i};s.type=="comment"&&(s.attributes.spellcheck="true");t.hooks.run("wrap",s);var o="";for(var u in s.attributes)o+=u+'="'+(s.attributes[u]||"")+'"';return"<"+s.tag+' class="'+s.classes.join(" ")+'" '+o+">"+s.content+"</"+s.tag+">"};if(!self.document){if(!self.addEventListener)return self.Prism;self.addEventListener("message",function(e){var n=JSON.parse(e.data),r=n.language,i=n.code;self.postMessage(JSON.stringify(t.tokenize(i,t.languages[r])));self.close()},!1);return self.Prism}var r=document.getElementsByTagName("script");r=r[r.length-1];if(r){t.filename=r.src;document.addEventListener&&!r.hasAttribute("data-manual")&&document.addEventListener("DOMContentLoaded",t.highlightAll)}return self.Prism}();typeof module!="undefined"&&module.exports&&(module.exports=Prism);; +Prism.languages.markup={comment:/<!--[\w\W]*?-->/g,prolog:/<\?.+?\?>/,doctype:/<!DOCTYPE.+?>/,cdata:/<!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/<\/?[\w:-]+\s*(?:\s+[\w:-]+(?:=(?:("|')(\\?[\w\W])*?\1|[^\s'">=]+))?\s*)*\/?>/gi,inside:{tag:{pattern:/^<\/?[\w:-]+/i,inside:{punctuation:/^<\/?/,namespace:/^[\w-]+?:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/gi,inside:{punctuation:/=|>|"/g}},punctuation:/\/?>/g,"attr-name":{pattern:/[\w:-]+/g,inside:{namespace:/^[\w-]+?:/}}}},entity:/\&#?[\da-z]{1,8};/gi};Prism.hooks.add("wrap",function(e){e.type==="entity"&&(e.attributes.title=e.content.replace(/&/,"&"))});; +Prism.languages.css={comment:/\/\*[\w\W]*?\*\//g,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*{))/gi,inside:{punctuation:/[;:]/g}},url:/url\((["']?).*?\1\)/gi,selector:/[^\{\}\s][^\{\};]*(?=\s*\{)/g,property:/(\b|\B)[\w-]+(?=\s*:)/ig,string:/("|')(\\?.)*?\1/g,important:/\B!important\b/gi,punctuation:/[\{\};:]/g,"function":/[-a-z0-9]+(?=\()/ig};Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{style:{pattern:/<style[\w\W]*?>[\w\W]*?<\/style>/ig,inside:{tag:{pattern:/<style[\w\W]*?>|<\/style>/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.css}}});; +Prism.languages.css.selector={pattern:/[^\{\}\s][^\{\}]*(?=\s*\{)/g,inside:{"pseudo-element":/:(?:after|before|first-letter|first-line|selection)|::[-\w]+/g,"pseudo-class":/:[-\w]+(?:\(.*\))?/g,"class":/\.[-:\.\w]+/g,id:/#[-:\.\w]+/g}};Prism.languages.insertBefore("css","ignore",{hexcode:/#[\da-f]{3,6}/gi,entity:/\\[\da-f]{1,8}/gi,number:/[\d%\.]+/g});; +Prism.languages.clike={comment:{pattern:/(^|[^\\])(\/\*[\w\W]*?\*\/|(^|[^:])\/\/.*?(\r?\n|$))/g,lookbehind:!0},string:/("|')(\\?.)*?\1/g,"class-name":{pattern:/((?:(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/ig,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/g,"boolean":/\b(true|false)\b/g,"function":{pattern:/[a-z0-9_]+\(/ig,inside:{punctuation:/\(/}},number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?)\b/g,operator:/[-+]{1,2}|!|<=?|>=?|={1,3}|&{1,2}|\|?\||\?|\*|\/|\~|\^|\%/g,ignore:/&(lt|gt|amp);/gi,punctuation:/[{}[\];(),.:]/g};; +Prism.languages.javascript=Prism.languages.extend("clike",{keyword:/\b(break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|function|get|if|implements|import|in|instanceof|interface|let|new|null|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/g,number:/\b-?(0x[\dA-Fa-f]+|\d*\.?\d+([Ee]-?\d+)?|NaN|-?Infinity)\b/g});Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/g,lookbehind:!0}});Prism.languages.markup&&Prism.languages.insertBefore("markup","tag",{script:{pattern:/<script[\w\W]*?>[\w\W]*?<\/script>/ig,inside:{tag:{pattern:/<script[\w\W]*?>|<\/script>/ig,inside:Prism.languages.markup.tag.inside},rest:Prism.languages.javascript}}}); +; +Prism.languages.scss=Prism.languages.extend("css",{comment:{pattern:/(^|[^\\])(\/\*[\w\W]*?\*\/|\/\/.*?(\r?\n|$))/g,lookbehind:!0},atrule:/@[\w-]+(?=\s+(\(|\{|;))/gi,url:/([-a-z]+-)*url(?=\()/gi,selector:/([^@;\{\}\(\)]?([^@;\{\}\(\)]|&|\#\{\$[-_\w]+\})+)(?=\s*\{(\}|\s|[^\}]+(:|\{)[^\}]+))/gm});Prism.languages.insertBefore("scss","atrule",{keyword:/@(if|else if|else|for|each|while|import|extend|debug|warn|mixin|include|function|return|content)|(?=@for\s+\$[-_\w]+\s)+from/i});Prism.languages.insertBefore("scss","property",{variable:/((\$[-_\w]+)|(#\{\$[-_\w]+\}))/i});Prism.languages.insertBefore("scss","ignore",{placeholder:/%[-_\w]+/i,statement:/\B!(default|optional)\b/gi,"boolean":/\b(true|false)\b/g,"null":/\b(null)\b/g,operator:/\s+([-+]{1,2}|={1,2}|!=|\|?\||\?|\*|\/|\%)\s+/g});; \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/sassdoc/index.html b/ui/ui-frontend/projects/pastis/sassdoc/index.html new file mode 100644 index 0000000000000000000000000000000000000000..3c9c4c131bfe863052fb1258f631e10d1677cfa0 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/sassdoc/index.html @@ -0,0 +1,81 @@ +<!doctype html><html lang="en"><head><meta charset="utf-8"><title>Pastis-front - v0.0.0</title><link rel="stylesheet" href="assets/css/main.css"><link href="https://fonts.googleapis.com/css?family=Open+Sans:400,500,700" rel="stylesheet" type="text/css"><meta name="viewport" content="width=device-width"><meta content="IE=edge, chrome=1" http-equiv="X-UA-Compatible"><!-- Open Graph tags --><meta property="og:title" content="Pastis-front - SassDoc"><meta property="og:type" content="website"><meta property="og:description" content="Release the docs!"><!-- Thanks to Sass-lang.com for the icons --><link href="assets/images/favicon.png" rel="shortcut icon"></head><body><aside class="sidebar" role="nav"><div class="sidebar__header"><h1 class="sidebar__title">Pastis-front - 0.0.0</h1></div><div class="sidebar__body"><button type="button" class="btn-toggle js-btn-toggle" data-alt="Open all">Close all</button><p class="sidebar__item sidebar__item--heading" data-slug="undefined"><a href="#undefined">General</a></p><div><p class="sidebar__item sidebar__item--sub-heading" data-slug="undefined-variable"><a href="#undefined-variable">variables</a></p><ul class="list-unstyled"><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="colors" data-type="variable"><a href="#undefined-variable-colors">colors</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="dropdowns-border" data-type="variable"><a href="#undefined-variable-dropdowns-border">dropdowns-border</a></li></ul><p class="sidebar__item sidebar__item--sub-heading" data-slug="undefined-css"><a href="#undefined-css">css</a></p><ul class="list-unstyled"><li class="sidebar__item sassdoc__item" data-group="undefined" data-name=".pastis-header-no-sidebar" data-type="css"><a href="#undefined-css-.pastis-header-no-sidebar">.pastis-header-no-sidebar</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name=".pastis-header-with-sidebar" data-type="css"><a href="#undefined-css-.pastis-header-with-sidebar">.pastis-header-with-sidebar</a></li></ul><p class="sidebar__item sidebar__item--sub-heading" data-slug="undefined-mixin"><a href="#undefined-mixin">mixins</a></p><ul class="list-unstyled"><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="color-modifiers" data-type="mixin"><a href="#undefined-mixin-color-modifiers">color-modifiers</a></li><li class="sidebar__item sassdoc__item" data-group="undefined" data-name="button-modifiers" data-type="mixin"><a href="#undefined-mixin-button-modifiers">button-modifiers</a></li></ul></div></div></aside><article class="main" role="main"><header class="header" role="banner"><div class="container"><div class="sassdoc__searchbar searchbar"><label for="js-search-input" class="visually-hidden">Search</label><div class="searchbar__form" id="js-search"><input name="search" type="search" class="searchbar__field" autocomplete="off" autofocus id="js-search-input" placeholder="Search"><ul class="searchbar__suggestions" id="js-search-suggestions"></ul></div></div></div></header><section class="main__section"><h1 class="main__heading" id="undefined"><div class="container">General</div></h1><section class="main__sub-section" id="undefined-variable"><h2 class="main__heading--secondary"><div class="container">variables</div></h2><section class="main__item container item" id="undefined-variable-colors"><h3 class="item__heading"><a class="item__name" href="#variable-colors">colors</a></h3><div class="item__code-wrapper"><pre class="item__code language-scss"><code>$colors: ( + /* Primary */ + primary-500: #FE4F02, + primary-400: #FF6933, + primary-300: #FF8559, + primary-200: #FFA789, + primary-50: #FCE8E5, + primary-light: #FF833C, + primary-dark: #C20900, + primary-disabled: #FFCAB7, + /* Secondary */ + secondary-300: #5CBAA9, + secondary-200: #88CEC1, + secondary-50: #E1F3F0, + secondary-light: #8FEDDB, + secondary-dark: #258A7A, + secondary-disabled: #B6E1D9, + /* Variant */ + black-low:#9D9D9D, + black-disabled:#E0E0E0, + black-medium:#474747, +);</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Pastis base colors</p></div><h3 class="item__sub-heading">Author</h3><ul class="list-unstyled"><li><p>Paulo Pimenta</p></li></ul></section><section class="main__item container item" id="undefined-variable-dropdowns-border"><h3 class="item__heading"><a class="item__name" href="#variable-dropdowns-border">dropdowns-border</a></h3><div class="item__code-wrapper"><pre class="item__code language-scss"><code>$dropdowns-border: ( + button1:( + enabled: (1px solid map-get($colors, 'secondary-300')), + disabled: (1px solid map-get($colors, 'secondary-disabled')), + hover: (1px solid map-get($colors, 'secondary-300')), + focus: (1px solid map-get($colors, 'secondary-300')), + ), + button2:( + enabled: (1px solid #F0F0F0), + disabled: '', + hover: (1px solid #F0F0F0), + focus: (1px solid #F0F0F0) + ), + leading:( + enabled: (1px solid map-get($colors, 'secondary-300')), + disabled: (1px solid map-get($colors, 'secondary-disabled')), + hover: (1px solid map-get($colors, 'secondary-300')), + focus: (1px solid map-get($colors, 'secondary-300')) + ), + search:( + enabled: '', + disabled: '', + hover: '', + focus: '' + ), + special:( + enabled: (1px solid #5CBAA9) + ) +);</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Pastis dropdown border colors</p></div><h3 class="item__sub-heading">Author</h3><ul class="list-unstyled"><li><p>Paulo Pimenta</p></li></ul></section></section><section class="main__sub-section" id="undefined-css"><h2 class="main__heading--secondary"><div class="container">css</div></h2><section class="main__item container item" id="undefined-css-.pastis-header-no-sidebar"><h3 class="item__heading"><a class="item__name" href="#css-.pastis-header-no-sidebar">.pastis-header-no-sidebar</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="<code>.pastis-header-no-sidebar { + position: absolute; + width: 1440px; + height: 288px; + left: 0px; + top: -2px; + background: #ECEEF3; +}</code>" data-collapsed=".pastis-header-no-sidebar { ... }"><code>.pastis-header-no-sidebar { ... }</code></pre></div><h3 class="item__sub-heading">Author</h3><ul class="list-unstyled"><li><p>Paulo Pimenta</p></li></ul></section><section class="main__item container item" id="undefined-css-.pastis-header-with-sidebar"><h3 class="item__heading"><a class="item__name" href="#css-.pastis-header-with-sidebar">.pastis-header-with-sidebar</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="<code>.pastis-header-with-sidebar { + @extend .pastis-header-no-sidebar; + width: 952px; +}</code>" data-collapsed=".pastis-header-with-sidebar { ... }"><code>.pastis-header-with-sidebar { ... }</code></pre></div><h3 class="item__sub-heading">Author</h3><ul class="list-unstyled"><li><p>Paulo Pimenta</p></li></ul></section></section><section class="main__sub-section" id="undefined-mixin"><h2 class="main__heading--secondary"><div class="container">mixins</div></h2><section class="main__item container item" id="undefined-mixin-color-modifiers"><h3 class="item__heading"><a class="item__name" href="#mixin-color-modifiers">color-modifiers</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@mixin color-modifiers() { + @each $name, $hex in $pastis-colors { + &-#{$name} { + #{$attribute}: $hex; + } + } + }" data-collapsed="@mixin color-modifiers() { ... }"><code>@mixin color-modifiers() { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Generate base colors for PASTIS</p></div><h3 class="item__sub-heading">Parameters</h3><p>None.</p><h3 class="item__sub-heading">See</h3><ul class="list-unstyled"><li><span class="item__cross-type">[variable]</span> <a href="#variable-colors"><code>colors</code></a></li></ul><h3 class="item__sub-heading">Author</h3><ul class="list-unstyled"><li><p>Paulo Pimenta</p></li></ul></section><section class="main__item container item" id="undefined-mixin-button-modifiers"><h3 class="item__heading"><a class="item__name" href="#mixin-button-modifiers">button-modifiers</a></h3><div class="item__code-wrapper"><pre class="item__code item__code--togglable language-scss" data-current-state="collapsed" data-expanded="@mixin button-modifiers() { + @each $name, $button in $pastis-buttons { + &#{$prefix}#{$name} { + @each $type, $value in $button { + &#{$separator}#{$type} { + @each $k, $v in map-get($buttons-font-text,$name){ + #{$k}:$v; + // @debug $name'....'#{$k}':'$v; + } + @extend .pastis-btn; + #{$attribute}: $value; + } + } + } + } + }" data-collapsed="@mixin button-modifiers() { ... }"><code>@mixin button-modifiers() { ... }</code></pre></div><h3 class="item__sub-heading">Description</h3><div class="item__description"><p>Generate buttons for PASTIS</p></div><h3 class="item__sub-heading">Parameters</h3><p>None.</p><h3 class="item__sub-heading">Output</h3><div class="item__description"><p>Pastis buttons</p></div><h3 class="item__sub-heading">Author</h3><ul class="list-unstyled"><li><p>Paulo Pimenta</p></li></ul></section></section></section><footer class="footer" role="contentinfo"><div class="container"><div class="footer__project-info project-info"><!-- Name and URL --> <span class="project-info__name">Pastis-front</span><!-- Version --> <span class="project-info__version">- v0.0.0</span><!-- License --></div><a class="footer__watermark" href="http://sassdoc.com"><img src="assets/images/logo_light_inline.svg" alt="SassDoc Logo"></a></div></footer></article><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script><script>window.jQuery || document.write('<script src="assets/js/vendor/jquery.min.js"><\/script>')</script><script src="assets/js/main.min.js"></script></body></html> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/app-routing.module.ts b/ui/ui-frontend/projects/pastis/src/app/app-routing.module.ts new file mode 100644 index 0000000000000000000000000000000000000000..ab17e6bc906b798f21e3bcf52faffce6c29c8494 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/app-routing.module.ts @@ -0,0 +1,60 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { NgModule, isDevMode } from '@angular/core'; +import { RouterModule, Routes } from '@angular/router'; +import { SedaVisualizerComponent } from './seda-visualizer/seda-visualizer.component'; +import { HomeComponent } from './home/home.component'; +import { PastisUnderConstructionComponent } from './shared/pastis-under-construction/pastis-under-construction.component'; +import { ProfileVisualizerComponent } from './profile-visualizer/profile-visualizer.component'; + +const routes: Routes = [ + {path: 'sedaview', component: SedaVisualizerComponent}, + {path: 'profileview', component: ProfileVisualizerComponent}, + {path: '', component: HomeComponent}, + {path: '**', component: PastisUnderConstructionComponent} +]; + +@NgModule({ + imports: [RouterModule.forRoot(routes)], + exports: [RouterModule] +}) +export class AppRoutingModule { + + } + +export const routingComponents = [SedaVisualizerComponent,HomeComponent,ProfileVisualizerComponent]; diff --git a/ui/ui-frontend/projects/pastis/src/app/app.component.html b/ui/ui-frontend/projects/pastis/src/app/app.component.html new file mode 100644 index 0000000000000000000000000000000000000000..90c6b64632858139a9e4f4b1c55d0ee1d6e7b740 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/app.component.html @@ -0,0 +1 @@ +<router-outlet></router-outlet> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/app.component.scss b/ui/ui-frontend/projects/pastis/src/app/app.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/ui/ui-frontend/projects/pastis/src/app/app.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/app.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..b399b55b6ce852ec7d4b898888f5ec8936936e01 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/app.component.spec.ts @@ -0,0 +1,68 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed, async } from '@angular/core/testing'; +import { AppComponent } from './app.component'; + +describe('AppComponent', () => { + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ + AppComponent + ], + }).compileComponents(); + })); + + it('should create the app', () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + expect(app).toBeTruthy(); + }); + + it(`should have as title 'pastis-front'`, () => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + expect(app.title).toEqual('pastis-front'); + }); + + it('should render title in a h1 tag', () => { + const fixture = TestBed.createComponent(AppComponent); + fixture.detectChanges(); + const compiled = fixture.debugElement.nativeElement; + expect(compiled.querySelector('h1').textContent).toContain('Welcome to pastis-front!'); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/app.component.ts b/ui/ui-frontend/projects/pastis/src/app/app.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..bdb297728bf08dd0a260e8fc7d2b077fea88260d --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/app.component.ts @@ -0,0 +1,50 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component } from '@angular/core'; + +@Component({ + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.scss'], + //changeDetection: ChangeDetectionStrategy.OnPush +}) +export class AppComponent { + + constructor() { + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/app.module.ts b/ui/ui-frontend/projects/pastis/src/app/app.module.ts new file mode 100644 index 0000000000000000000000000000000000000000..81c8d7390204290bf768c4357c87d9286e867b68 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/app.module.ts @@ -0,0 +1,136 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +// Angular modules +import { BrowserModule } from '@angular/platform-browser'; +import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; +import { NgModule, APP_INITIALIZER } from '@angular/core'; +import { HttpClientModule, HttpClient } from '@angular/common/http'; +import { FormsModule } from '@angular/forms'; +import { ReactiveFormsModule } from '@angular/forms'; + + +//Pastis modules +import { CoreModule } from './core/core.module'; +import { FileTreeModule } from './file-tree/file-tree.module'; +import { UserActionsModule } from './user-actions/user-actions.module'; +import { SharedModule } from './shared/shared.module'; +import { ProfileModule} from './profile/profile.module' + +//Material modules +import { MatProgressSpinnerModule, + MatGridListModule, + MatSidenavModule, + MatTabsModule, + MatToolbarModule, + MatDialogModule +} from '@angular/material'; + +//Routing Modules and components +import { AppRoutingModule,routingComponents } from './app-routing.module'; + + +// Components +import { AppComponent } from './app.component'; +import { PastisDialogConfirmComponent } from './shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component'; +import { UserActionAddMetadataComponent } from './user-actions/user-action-add-metadata/user-action-add-metadata.component'; +import { UserActionRemoveMetadataComponent } from './user-actions/user-action-remove-metadata/user-action-remove-metadata.component'; +import { PortalModule } from '@angular/cdk/portal'; +import { ToastContainerModule, ToastrModule } from 'ngx-toastr'; +import { PastisConfiguration } from '../app/core/classes/pastis-configuration'; +import { PastisMaterialModule } from './material.module'; + + + +@NgModule({ + declarations: [ + AppComponent, + PastisDialogConfirmComponent, + UserActionAddMetadataComponent, + UserActionRemoveMetadataComponent, + routingComponents, + ], + entryComponents:[PastisDialogConfirmComponent,UserActionAddMetadataComponent,UserActionRemoveMetadataComponent], + imports: [ + HttpClientModule, + BrowserModule, + FormsModule, + ReactiveFormsModule, + BrowserAnimationsModule, + PortalModule, + UserActionsModule, + CoreModule, + FileTreeModule, + SharedModule, + AppRoutingModule, + ProfileModule, + ToastContainerModule, + ToastrModule.forRoot({ + positionClass: 'toast-bottom-full-width', + preventDuplicates: false, + timeOut: 2000, + closeButton:false, + easeTime:0 + }), + ], + exports:[ + HttpClientModule, + BrowserModule, + FormsModule, + ReactiveFormsModule, + BrowserAnimationsModule, + UserActionsModule, + CoreModule, + FileTreeModule, + SharedModule + ], + providers: [ + PastisConfiguration, + { + provide: APP_INITIALIZER, + useFactory: PastisConfigurationFactory, + deps: [PastisConfiguration, HttpClient], multi: true }, + ], + + bootstrap: [AppComponent], + +}) +export class AppModule { } + + export function PastisConfigurationFactory(appConfig: PastisConfiguration) { + return () => appConfig.ensureInit(); + } diff --git a/ui/ui-frontend/projects/pastis/src/app/core/classes/icons.ts b/ui/ui-frontend/projects/pastis/src/app/core/classes/icons.ts new file mode 100644 index 0000000000000000000000000000000000000000..84e3b865a10aae3bb1ee9bcdb88f1d4e5aed44fa --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/classes/icons.ts @@ -0,0 +1,50 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +// Button names should reflect an action +export enum IconsEnum { + 'pastis-close-sidenav' = 'close-sidenav', + 'pastis-close-popup' = 'close-popup', + 'pastis-back-crete-profile' = 'arrow-back', + 'pastis-save' = 'save', + 'pastis-setting' = 'setting', + 'pastis-complex-element' = 'complex-element', + 'pastis-complex-element-white' = 'complex-element-white', + 'pastis-complex-element-white2' = 'complex-element-white2', + 'pastis-plus-blue' = 'plus-blue', + 'pastis-plus-grey' = 'plus-grey', +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/classes/models.ts b/ui/ui-frontend/projects/pastis/src/app/core/classes/models.ts new file mode 100644 index 0000000000000000000000000000000000000000..da5251b51b27b584c2ec2b8a60d7012b50645ebb --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/classes/models.ts @@ -0,0 +1,51 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +export interface CardinalityValues { + value: string; + viewValue: string; + } + +export interface MetadataHeaders { + id: number; + nomDuChamp: string; + type: string; + valeurFixe: string; + cardinalite: string[]; + commentaire: string; + enumeration: string[]; + } diff --git a/ui/ui-frontend/projects/pastis/src/app/core/classes/pastis-configuration.ts b/ui/ui-frontend/projects/pastis/src/app/core/classes/pastis-configuration.ts new file mode 100644 index 0000000000000000000000000000000000000000..a0d23ac4ef877d8a5eee3ae2f38a39c0880edf77 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/classes/pastis-configuration.ts @@ -0,0 +1,28 @@ +import { Injectable } from "@angular/core"; +import { HttpClient } from '@angular/common/http'; +import { PastisApiService } from '../services/api.pastis.service'; + +@Injectable() + +export class PastisConfiguration { + routeName : string; + sucessMessage: string; + errorMessage: string; + apiRoutePath : string; + apiPastisUrl: string; + port: number; + getProfileUrl: string; + uploadProfileUrl: string; + getFileUrl: string; + updateFileUrl: string; + apiFullPath: string; + + constructor(private pastisApi: PastisApiService,private http:HttpClient){}; + +public ensureInit(): Promise<any> { + return new Promise((r, e) => { + this.pastisApi.get("./assets/config/config.json").subscribe((content: PastisConfiguration) => {Object.assign(this, content);r(this);}, reason => e(reason)); + }); + }; + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/classes/pastis-route-api.ts b/ui/ui-frontend/projects/pastis/src/app/core/classes/pastis-route-api.ts new file mode 100644 index 0000000000000000000000000000000000000000..ceb76764573675a9765074d03dda0c12afbc4035 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/classes/pastis-route-api.ts @@ -0,0 +1,76 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import {environment as envProd} from '../../../environments/environment.rec' +import {environment as envDev} from '../../../environments/environment.dev' +import { isDevMode, Injectable } from '@angular/core'; + +@Injectable({ + providedIn: 'root' + }) +export class PastisApiRoute { + + rootApiPath: string; + apiUrls: {}; + apiPathMap : Map<string,string>; + + + constructor() { + this.rootApiPath = isDevMode() ? envDev.apiServerUrl : envProd.apiServerUrl; + this.apiPathMap = new Map(); + + const apiEntryPoints= { + 'createprofile' : '/createprofile', + 'updateprofile' : '/updateprofile', + 'getfile' : '/getFile', + 'profilefromfilePath' :'/createprofilefromfile', + 'getSedaFile' :'/assets/seda.json' + + } + for(var entryProint in apiEntryPoints) { + if (apiEntryPoints.hasOwnProperty(entryProint)) { + console.log(entryProint); + this.apiPathMap.set(entryProint+'Path',apiEntryPoints[entryProint]) + } + } + + + } + + + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/core.module.ts b/ui/ui-frontend/projects/pastis/src/app/core/core.module.ts new file mode 100644 index 0000000000000000000000000000000000000000..5fbb23ad7d3ad1d114e5db676b2d38b8cfe49eb4 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/core.module.ts @@ -0,0 +1,109 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { NgModule,CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { PastisApiService } from './services/api.pastis.service'; + +import { HTTP_INTERCEPTORS } from '@angular/common/http'; +import { PastisSpinnerInterceptor } from '../shared/pastis-spinner/pastis-spinner-interceptor'; +import { SharedModule } from '../shared/shared.module'; +import { SedaService } from './services/seda.service'; +import { RegisterIconsService } from './services/register-icons.service'; +import { NotificationService } from './services/notification.service'; +import { PopupService } from './services/popup.service'; + +import { + NgxUiLoaderModule, + NgxUiLoaderConfig, + SPINNER, + POSITION, + PB_DIRECTION +} from 'ngx-ui-loader'; +import { PastisMaterialModule } from '../material.module'; + +const ngxUiLoaderConfig: NgxUiLoaderConfig = { + "bgsColor": "red", + "bgsOpacity": 0.5, + "bgsPosition": "bottom-right", + "bgsSize": 60, + "bgsType": "ball-spin-clockwise", + "blur": 5, + "delay": 0, + "fgsColor": "#ffffff", + "fgsPosition": "center-center", + "fgsSize": 60, + "fgsType": "ball-spin-clockwise", + "gap": 24, + "logoPosition": "center-center", + "logoSize": 120, + "logoUrl": "assets/pastis-logo7.png", + "masterLoaderId": "master", + "overlayBorderRadius": "0", + "overlayColor": "rgba(40,40,40,0.8)", + "pbColor": "#604379", + "pbDirection": "ltr", + "pbThickness": 3, + "hasProgressBar": false, + "textColor": "#FFFFFF", + "textPosition": "center-center", + "maxTime": -1, + "minTime": 300 +}; +@NgModule({ + imports: [ + CommonModule, + PastisMaterialModule, + SharedModule, + NgxUiLoaderModule.forRoot(ngxUiLoaderConfig), + ], + exports: [NgxUiLoaderModule], + providers: [ + PastisSpinnerInterceptor, + PastisApiService, + SedaService, + RegisterIconsService, + NotificationService, + PopupService, + + { provide: HTTP_INTERCEPTORS, useClass: PastisSpinnerInterceptor,multi: true} + ], + declarations: [], +}) +export class CoreModule { + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/index.ts b/ui/ui-frontend/projects/pastis/src/app/core/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..f0edec2bd1754911fca792d4b5b283cf3403f7b7 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/index.ts @@ -0,0 +1,39 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +export * from './core.module'; +export * from './services'; diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/api.pastis.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/api.pastis.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..907c445c9b2cca9c0470e06a16ef1422811f05e1 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/api.pastis.service.ts @@ -0,0 +1,80 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA stardard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { HttpClient } from '@angular/common/http'; +import { Injectable } from '@angular/core'; +import { Observable } from 'rxjs'; +import { environment } from '../../../environments/environment'; + +@Injectable({ + providedIn: 'root' +}) +export class PastisApiService { + constructor( private http: HttpClient) {} + + // Generic GET Method + get<T = any>(path: string, options?: {}): Observable<T> { + console.log('On API service using url : ', `${path}`); + return this.http.get<T>(`${path}`, options); + } + + // Generic GET Method + getLocally<T = any>(path: string): Observable<T> { + console.log('On getLocally using filepath : ', `${path}`); + return this.http.get<T>(`${path}`); + } + + // Generic PUT Method + put<T>(path: string, body: object = {}): Observable<T> { + return this.http.put<T>( + `${environment.apiServerUrl}${path}`, + JSON.stringify(body)); + } + + // Generic POST Method + post<T>(path: string, body: object = {}, options?: {}): Observable<T> { + console.log('File', body); + console.log('On api service post with options : ' , options, path); + return this.http.post<T>(`${environment.apiServerUrl}${path}`, body, options); + } + + delete(path): Observable<any> { + return this.http.delete( + `${environment.apiServerUrl}${path}`); + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/api.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/api.service.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..884e7285d36448805b017d9e0dd6616db399de99 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/api.service.spec.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed } from '@angular/core/testing'; + +import { PastisApiService } from './api.pastis.service'; + +describe('ApiService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: PastisApiService = TestBed.get(PastisApiService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/file.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/file.service.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..67b964a3f66c5227308ecaab26653efce3d8dfd2 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/file.service.spec.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed } from '@angular/core/testing'; + +import { FileService } from './file.service'; + +describe('FileService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: FileService = TestBed.get(FileService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/file.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/file.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..88293afa86956491de2cca64b43fb9a6cfcc6e4c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/file.service.ts @@ -0,0 +1,401 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { EventEmitter, Injectable, Output } from '@angular/core'; +import { MatDialog } from '@angular/material'; +import { BehaviorSubject, Observable, throwError } from 'rxjs'; +import { SedaData, SedaElementConstants, SedaCardinalityConstants } from '../../appfile-tree/classes/seda-data'; +import { FileNode, TypeConstants,FileNodeInsertParams, FileNodeInsertAttributeParams } from '../../file-tree/classes/file-node'; +import { PastisDialogConfirmComponent } from '../../shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component'; +import { ProfileService } from './profile.service'; +import { PastisDialogData } from '../../appshared/pastis-dialog/classes/pastis-dialog-data'; +import { SedaService } from './seda.service'; +import { FileTreeMetadataService } from '../../appfile-tree/file-tree-metadata/file-tree-metadata.service'; +import { profile } from 'console'; + +@Injectable({ + providedIn: 'root' +}) + +export class FileService { + + @Output() + public addNode: EventEmitter<FileNode> = new EventEmitter<FileNode>(); + @Output() + public insertItem: EventEmitter<FileNodeInsertParams> = new EventEmitter<FileNodeInsertParams>(); + @Output() + public insertAttributes: EventEmitter<FileNodeInsertAttributeParams> = new EventEmitter<FileNodeInsertAttributeParams>(); + @Output() + public removeNode: EventEmitter<FileNode> = new EventEmitter<FileNode>(); + @Output() + public renderChanges: EventEmitter<boolean> = new EventEmitter<boolean>(); + + dataChange = new BehaviorSubject<FileNode[]>([]); + nodeChange = new BehaviorSubject<FileNode>(null); + allData = new BehaviorSubject<FileNode[]>([]); + + collectionName = new BehaviorSubject<string>(null); + rootTabMetadataName = new BehaviorSubject<string>(null); + + + filteredNode = new BehaviorSubject<FileNode>(null); + tabChildrenRulesChange = new BehaviorSubject<string[][]>([]); + + + private params = {}; + parentNodeMap = new Map<FileNode, FileNode>(); + private formatErrors(error: any) { + return throwError('An error : ' + error.error); + } + + constructor(private profileService: ProfileService, private fileMetadataService: FileTreeMetadataService, + private dialog: MatDialog, private sedaService: SedaService) { } + + getCurrentFileTree(): Observable<FileNode[]> { + console.log("On file service : ", this.dataChange.getValue()) + return this.dataChange; + } + + getFileTreeFromApi(): Observable<FileNode[]> { + this.profileService.getProfile().subscribe(data => { + this.sedaService.getSedaRules().subscribe(sedaData => { + let sedaDataArray: SedaData[] = [sedaData[0]]; + this.linkFileNodeToSedaData(null, data, sedaDataArray); + this.dataChange.next(data); + }) + }); + return this.dataChange; + } + + sedaDataArchiveUnit : SedaData; + + /** + * Relie chaque FileNode a sa définition Seda + * + * Les nodes correspondant aux ArchivesUnit + * se réfèrent à la définition SEDA de l'ArchiveUnit mère (ils sont récursifs...) + * @param parent + * @param nodes + * @param sedaData + */ + linkFileNodeToSedaData(parent: FileNode, nodes: FileNode[], sedaData: SedaData[]){ + nodes.forEach(node => { + node.parent = parent; + let nodeName : String = (node.name === 'xml:id')?'id':node.name; + let sedaDataMatch: SedaData; + + // Si le node en cours est une ArchiveUnit, lui même enfant d'une ArchiveUnit... + if (nodeName === 'ArchiveUnit' && this.sedaDataArchiveUnit != undefined) { + // Alors on utilise la définition SEDA de l'ArchiveUnit mère.. + sedaDataMatch = this.sedaDataArchiveUnit; + } else { + // Sinon on recherche la définition SEDA dans l'arbre + sedaDataMatch = sedaData.find(seda => seda.Name === nodeName); + } + if (sedaDataMatch == undefined){ + console.log('FUUUUUUUUCK'); + } else { + // Si le node en cours est l'achive ArchiveUnit mère, on la sauvegarde pour l'utiliser pour les ArchivesUnit enfants + if (sedaDataMatch.Name === 'ArchiveUnit' && this.sedaDataArchiveUnit == undefined){ + this.sedaDataArchiveUnit = sedaDataMatch; + // On introduit la récursivité sur les ArchivesUnit + this.sedaDataArchiveUnit.Children.find(c=>c.Name=='ArchiveUnit').Children = this.sedaDataArchiveUnit.Children; + } + } + node.sedaData = sedaDataMatch; + if (node.children.length>0){ + this.linkFileNodeToSedaData(node, node.children,node.sedaData.Children); + } + }); + } + + updateFileTree(newData: FileNode[]): Observable<FileNode[]> { + this.sedaService.getSedaRules().subscribe(sedaData => { + let sedaDataArray: SedaData[] = [sedaData[0]]; + this.linkFileNodeToSedaData(null, newData, sedaDataArray); + this.dataChange.next(newData); + }) + return this.dataChange; + } + + /** + * Update the children of a node, based on given list of nodes + * @param parentNode + * @param newChildrenNodes + */ + updateNodeChildren(parentNode: FileNode, newChildrenNodes:FileNode[]) { + for (let idx in parentNode.children) { + let childFromNewChildren = newChildrenNodes.find(newChild => newChild.id == parentNode.children[idx].id); + if (childFromNewChildren) { + parentNode.children[idx] = childFromNewChildren; + } + } + } + + sendNode(node:FileNode) { + this.nodeChange.next(node); + console.log("Node on file file service : ", this.nodeChange.getValue()); + } + + openPopup(popData: PastisDialogData){ + const dialogConfirmRef = this.dialog.open(PastisDialogConfirmComponent, { + width: popData.width, + height: popData.height, + data: popData, + panelClass: 'pastis-popup-modal-box' + }); + return new Promise((resolve, reject) => { + dialogConfirmRef.afterClosed().subscribe(data => { + resolve(data); + console.log("The confirm dialog was closed with data : ", data); + }, reject) + }); + } + + findChild(nodeName:string,node:FileNode):FileNode { + if (nodeName === node.name) return node; + for (let child of node.children) { + if (child.name === nodeName){ + return child; + } + } + } + + findChildById(nodeId:Number,node:FileNode):FileNode { + if (nodeId === node.id) return node; + for (let child of node.children) { + if (child.id === nodeId){ + return child; + } + } + } + + setCollectionName(collectionName:string){ + this.collectionName.next(collectionName); + } + + setTabRootMetadataName(rootTabMetadataName:string){ + this.rootTabMetadataName.next(rootTabMetadataName); + } + + + openDialogWithTemplateRef(templateRef) { + this.dialog.open(templateRef); + } + + setNewChildrenRules(rules:string[][]){ + this.tabChildrenRulesChange.next(rules); + } + + /** + * Get one attribute of the node by its name + * @param fileNode The concerned node + * @param attributeName The name of the attribute we want to get + */ + getAttributeByName(fileNode:FileNode, attributeName:String):FileNode { + return fileNode.children.find(c=>c.name==attributeName); + } + + /** + * Delete all the attributes of the concerned FileNode + * @param fileNode The concerned FileNode + */ + deleteAllAttributes(fileNode: FileNode):void { + fileNode.children = fileNode.children.filter(c=>c.type!==TypeConstants.attribute); + } + + /** Update an item Tree node */ + updateItem(node: FileNode) { + this.dataChange.next(node[0]); + console.log("Node updated to : ", this.dataChange.getValue()) + + } + + removeItem(nodesToBeDeleted: FileNode[], root: FileNode) { + if (nodesToBeDeleted.length) { + for (let node of nodesToBeDeleted) { + let nodeToBeDeleted = this.getFileNodeByName(root,node.name); + //Check if node exists in the file tree + if (nodeToBeDeleted) { + const parentNode = nodeToBeDeleted.parent; + console.log("On removeItem with node : ", nodeToBeDeleted, "and parent : ", parentNode); + const index = parentNode.children.indexOf(nodeToBeDeleted); + if (index !== -1) { + parentNode.children.splice(index, 1); + this.parentNodeMap.delete(nodeToBeDeleted); + } + console.log("Deleted node : ", nodeToBeDeleted, "and his parent : ", parentNode); + } + } + } + console.log("No nodes will be deleted") + } + + /** Find a parent tree node */ + findParent(id: number, node: FileNode): FileNode { + console.log("On findParent with parent node id : ", id , " and node : ", node); + if (node && node.id === id) { + return node; + } else { + //console.log('ELSE ' + JSON.stringify(node.children)); + if (node.children && id) { + for (let element = 0; node.children.length; element++) { + //console.log('Recursive ' + JSON.stringify(node.children[element].children)); + //console.error("Node here : ", node.children[element], element) + if (element && node.children && node.children.length > 0 && node.children[element].children.length > 0) { + return this.findParent(id, node.children[element]); + } else { + continue; + } + } + } + } + } + + sendNodeMetadata(node: FileNode) { + let rulesFromService = this.tabChildrenRulesChange.getValue() + let tabChildrenToInclude = rulesFromService[0]; + let tabChildrenToExclude = rulesFromService[1]; + console.log("Node clicked : ", node, "...with tab rules from service : ", rulesFromService); + console.log("The found node on filetree : ", node.sedaData) + this.sedaService.selectedSedaNode.next(node.sedaData); + this.dataChange.next(node[0]); + this.sendNode(node); + let dataTable = this.fileMetadataService.fillDataTable(node.sedaData, node, tabChildrenToInclude, tabChildrenToExclude); + console.log("Data revtried on click : ", dataTable); + console.log("Node seda %s in filetree is ready to be edited with seda data %o", node.name, this.sedaService.selectedSedaNode.getValue()); + this.fileMetadataService.dataSource.next(dataTable); + } + + getFileNodeByName(fileTree:FileNode, nodeNameToFind:string):FileNode { + if (fileTree){ + if (fileTree.name === nodeNameToFind) { + return fileTree; + } + for (const child of fileTree.children) { + const res = this.getFileNodeByName(child, nodeNameToFind); + if (res) { + return res; + } + } + } + } + + getFileNodeById(fileTree:FileNode, nodeIdToFind:number) { + if (fileTree){ + if (fileTree.id === nodeIdToFind) { + return fileTree; + } + for (const child of fileTree.children) { + const res = this.getFileNodeById(child, nodeIdToFind); + if (res) { + return res; + } + } + } + } + + getFileNodeLocally(currentNode:FileNode, nameNode:string):FileNode { + //console.log("Node on this.findSedaNode : %o", currentNode) + if (currentNode){ + let i: number, currentChild: FileNode; + if (nameNode == currentNode.name ) { + return currentNode; + } else { + // Use a for loop instead of forEach to avoid nested functions + // Otherwise "return" will not work properly + if (currentNode.children) { + for (i = 0; i < currentNode.children.length; i += 1) { + currentChild = currentNode.children[i]; + // Search in the current child + let result = this.getFileNodeLocally(currentChild,nameNode); + // Return the result if the node has been found + if (result) { + return result; + } + } + } else { + // The node has not been found and we have no more options + console.log("No SEDA nodes could be found for ", nameNode); + return; + } + } + } + } + + getComplexSedaChildrenAsFileNode(sedaElement:SedaData):FileNode[] { + // Insert all children of complex elements based on SEDA definition + if (sedaElement.Element === SedaElementConstants.complex && + sedaElement.Children.length > 0) { + let fileNodeComplexChildren : FileNode[] = []; + sedaElement.Children.forEach(child=> { + if (child.Cardinality === SedaCardinalityConstants.one || + child.Cardinality === SedaCardinalityConstants.oreOrMore) { + let aFileNode : FileNode = {} as FileNode; + aFileNode.name = child.Name; + aFileNode.cardinality = child.Cardinality; + aFileNode.children = []; + aFileNode.type = TypeConstants[child.Type]; + fileNodeComplexChildren.push(aFileNode); + } + }) + return fileNodeComplexChildren + } + + } + + updateMedataTable(node:FileNode){ + //let isNodeComplex = this.sedaService.checkSedaElementType(node.name,this.sedaService.selectedSedaNodeParent.getValue()) + let rulesFromService = this.tabChildrenRulesChange.getValue() + let tabChildrenToInclude = rulesFromService[0]; + let tabChildrenToExclude = rulesFromService[1]; + this.sedaService.selectedSedaNode.next(node.sedaData); + let dataTable = this.fileMetadataService.fillDataTable(node.sedaData, node, tabChildrenToInclude, tabChildrenToExclude); + let hasAtLeastOneComplexChild = node.children.some(el=> el.type === TypeConstants.element); + + if(node.sedaData.Element === SedaElementConstants.complex){ + this.fileMetadataService.shouldLoadMetadataTable.next(hasAtLeastOneComplexChild); + console.log("The the current tab root node is : ", node) + this.sedaService.selectedSedaNode.next(node.sedaData); + console.log("Filled data on table : ", dataTable, "...should load : ", this.fileMetadataService.shouldLoadMetadataTable.getValue()); + this.fileMetadataService.dataSource.next(dataTable); + } else { + this.fileMetadataService.shouldLoadMetadataTable.next(true); + this.fileMetadataService.dataSource.next(dataTable); + } + } + } \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/index.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/index.ts new file mode 100644 index 0000000000000000000000000000000000000000..7fe38239a6a3e2ec27ec6d2dbda84432294070ea --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/index.ts @@ -0,0 +1,39 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +export * from './api.pastis.service'; diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/notification.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/notification.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..7ac14b68995f909fdbaa224afa52dc7bbacadb74 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/notification.service.ts @@ -0,0 +1,92 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +import {Injectable} from '@angular/core' +import { ToastrService } from 'ngx-toastr'; +import { + MatSnackBar, + MatSnackBarConfig, + MatSnackBarHorizontalPosition, + MatSnackBarVerticalPosition, + MatSnackBarRef +} from '@angular/material'; + +@Injectable({ + providedIn:'root' +}) +export class NotificationService { + + constructor(private toasterService:ToastrService, private snackBar: MatSnackBar){} + + // Toaster + showSuccess(message:string) { + this.toasterService.success(message); + } + + showInfo(message:string) { + this.toasterService.info(message); + } + + showError(message:string) { + this.toasterService.error(message); + } + + showWarning(message:string) { + this.toasterService.warning(message); + } + + //SnackBar + + openSnackBar(message, action, duration) { + let snackBarConfig = new MatSnackBarConfig(); + let snackBarRef: MatSnackBarRef<any>; + let horizontalPosition: MatSnackBarHorizontalPosition = 'center'; + let verticalPosition: MatSnackBarVerticalPosition = 'bottom'; + let snackBarAutoHide = '1500'; + snackBarConfig = new MatSnackBarConfig(); + snackBarConfig.horizontalPosition = horizontalPosition; + snackBarConfig.verticalPosition = verticalPosition; + snackBarConfig.duration = parseInt(snackBarAutoHide, 0); + snackBarConfig.panelClass = 'pastis-notifier-bg'; + snackBarConfig.duration = duration * 1000; + this.snackBar.open(message, action, snackBarConfig) +} + + + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/popup.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/popup.service.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..4b3ad932841ec1a079e654a4dc0f78f7c08b6166 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/popup.service.spec.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed } from '@angular/core/testing'; + +import { PopupService } from './popup.service'; + +describe('PopupService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: PopupService = TestBed.get(PopupService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/popup.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/popup.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..352116942b25ab62e7c7c5aa9db87ab5675077e9 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/popup.service.ts @@ -0,0 +1,73 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Injectable, EventEmitter } from '@angular/core'; +import { PastisDialogData } from '../../appshared/pastis-dialog/classes/pastis-dialog-data'; +import { MatDialog } from '@angular/material'; +import { PastisDialogConfirmComponent } from '../../appshared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component'; +import { BehaviorSubject } from 'rxjs'; + +@Injectable({ + providedIn: 'root' +}) +export class PopupService { + + popUpDataBeforeClose = new BehaviorSubject<any>(null); + popUpDataAfterOpen = new BehaviorSubject<any>(null); + btnYesShoudBeDisabled= new BehaviorSubject<boolean>(false); + + + constructor(private dialog: MatDialog) { } + + getPopUpDataOnOpen(){ + return this.popUpDataAfterOpen.getValue(); + } + getPopUpDataOnClose(){ + return this.popUpDataBeforeClose; + } + setPopUpDataOnOpen(incomingData:any){ + this.popUpDataAfterOpen.next(incomingData); + } + setPopUpDataOnClose(incomingData:any){ + this.popUpDataBeforeClose.next(incomingData); + } + disableYesButton(condition:boolean){ + condition ? this.btnYesShoudBeDisabled.next(true) : this.btnYesShoudBeDisabled.next(false); + } + + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/profile.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/profile.service.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..ddeeab9608def5dd493e55ca4063907edfe1364d --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/profile.service.spec.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed } from '@angular/core/testing'; + +import { ProfileService } from './profile.service'; + +describe('ProfileService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: ProfileService = TestBed.get(ProfileService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/profile.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/profile.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..1ae80dc94b751236d79650dbfd72ac5b52c2b09d --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/profile.service.ts @@ -0,0 +1,98 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { HttpHeaders } from '@angular/common/http'; +import { Injectable, isDevMode } from '@angular/core'; +import { Observable } from 'rxjs'; +import { FileNode } from '../../file-tree/classes/file-node'; +import { PastisApiService } from './api.pastis.service'; +import { PastisConfiguration } from '../classes/pastis-configuration'; +import { environment} from '../../../environments/environment' +import { cloneDeep } from 'lodash'; +@Injectable({ + providedIn: 'root' +}) +export class ProfileService { + + private apiServerPath: string; + + + constructor(private apiService: PastisApiService, private pastisConfig: PastisConfiguration) { + this.apiServerPath = isDevMode() ? environment.apiServerUrl : pastisConfig.apiPastisUrl; + } + + getProfile(): Observable<FileNode[]> { + return this.apiService.get<FileNode[]>(this.apiServerPath + this.pastisConfig.getProfileUrl); + } + + // Upload a RNG file to the server + // Response : a JSON object + uploadProfile(profile: FormData): Observable<FileNode[]> { + const httpOptions = { + headers: new HttpHeaders({ + 'Content-Type': 'multipart/form-data', + }) + }; + console.log("Path : ", this.apiServerPath+this.pastisConfig.uploadProfileUrl) + return this.apiService.post(this.pastisConfig.uploadProfileUrl, profile); + } + + // Get the base rng profile + getFile(): Observable<Blob> { + const options = {responseType: 'blob'}; + return this.apiService.get(this.apiServerPath+this.pastisConfig.getFileUrl, options); + } + + // Get the modified tree as an RNG file + updateFile(file: FileNode[]): Observable<Blob> { + const httpOptions = { + headers: new HttpHeaders({ + 'Content-type': 'application/json', + }), + responseType: 'blob' + }; + let profile: FileNode = cloneDeep(file[0]); + this.fixCircularReference(profile); + return this.apiService.post(this.pastisConfig.updateFileUrl, profile, httpOptions); + } + + fixCircularReference(node: FileNode){ + node.parent=null; + node.sedaData=null; + node.children.forEach(child=>{this.fixCircularReference(child);}); + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/register-icons.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/register-icons.service.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..a97536294284d7ebf926d8b3c635f743f7e27056 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/register-icons.service.spec.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed } from '@angular/core/testing'; + +import { RegisterIconsService } from './register-icons.service'; + +describe('RegisterIconsService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: RegisterIconsService = TestBed.get(RegisterIconsService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/register-icons.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/register-icons.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..c5a0e455730832a6b7716d2b7210331753088503 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/register-icons.service.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Injectable } from '@angular/core'; +import { MatIconRegistry } from '@angular/material'; +import { DomSanitizer } from '@angular/platform-browser'; +import { IconsEnum } from '../classes/icons'; + +@Injectable({ + providedIn: 'root' +}) +export class RegisterIconsService { + + constructor( + private matIconRegistry: MatIconRegistry, + private domSanitizer: DomSanitizer + ) { } + + registerIcons(): void { + this.loadIcons(Object.values(IconsEnum), '../assets/svg/icons'); + } + + loadIcons(iconKeys: string[], iconUrl: string): void { + iconKeys.forEach(key => { + this.matIconRegistry.addSvgIcon(key, this.domSanitizer.bypassSecurityTrustResourceUrl(`${iconUrl}/${key}.svg`)); + }); + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/seda.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/seda.service.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..026252040f753b5b61ab23e147d31be99dfa00a2 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/seda.service.spec.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed } from '@angular/core/testing'; + +import { SedaService } from './seda.service'; + +describe('SedaService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: SedaService = TestBed.get(SedaService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/seda.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/seda.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..83bef3528148db03b1f2cedf8530f11117137d2b --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/seda.service.ts @@ -0,0 +1,222 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Injectable } from '@angular/core'; +import { BehaviorSubject, Observable } from 'rxjs'; +import { CardinalityConstants, FileNode } from '../../file-tree/classes/file-node'; +import { SedaData} from '../../file-tree/classes/seda-data'; +import { CardinalityValues } from '../classes/models'; +import { PastisApiService } from './api.pastis.service'; + + + +@Injectable({ + providedIn: 'root' +}) +export class SedaService { + + private getSedaUrl = './assets/seda.json'; + + selectedSedaNode = new BehaviorSubject<SedaData>(null); + selectedSedaNodeParent = new BehaviorSubject<SedaData>(null); + sedaTabNodeRootToSearch = new BehaviorSubject<SedaData>(null); + + + constructor(private pastisAPI : PastisApiService) {} + + getSedaRules(): Observable<SedaData>{ + return this.pastisAPI.getLocally<SedaData>(this.getSedaUrl); + } + + getSedaNode(currentNode:SedaData, nameNode:string):SedaData { + if (currentNode && nameNode) { + let i: number, currentChild: SedaData, result: boolean; + if (nameNode == currentNode.Name ) { + return currentNode; + } else { + // Use a for loop instead of forEach to avoid nested functions + // Otherwise "return" will not work properly + if (currentNode.Children) { + for (i = 0; i < currentNode.Children.length; i += 1) { + currentChild = currentNode.Children[i]; + // Search in the current child + let result = this.getSedaNode(currentChild,nameNode); + // Return the result if the node has been found + if (result) { + return result; + } + } + } + // The node has not been found and we have no more options + return; + } + } + } + + getSedaNodeRecursively(currentNode:SedaData, nameNode:string):SedaData { + //console.log("Node on this.findSedaNode : %o", currentNode) + let i: number, currentChild: SedaData + if (currentNode) { + if (nameNode == currentNode.Name ) { + return currentNode; + } else { + // Use a for loop instead of forEach to avoid nested functions + // Otherwise "return" will not work properly + if (currentNode.Children) { + for (i = 0; i < currentNode.Children.length; i += 1) { + currentChild = currentNode.Children[i]; + // Search in the current child + let result = this.getSedaNodeRecursively(currentChild,nameNode); + // Return the result if the node has been found + if (result) { + return result; + } + } + } else { + // The node has not been found and we have no more options + console.log("No SEDA nodes could be found for ", nameNode); + return; + } + } + } + } + + //Get the seda node based on collection name and a node name. + // Since the SEDA 2.1 model does not contain unique names, + // the function will search the whole file and return a single metadata based on + // a node name and a collection name; + getSedaNodeCollection(sedaNode:SedaData, nodeName:string, collectionName:string):SedaData { + if (sedaNode){ + if (sedaNode.Collection === collectionName && sedaNode.Name === nodeName) { + return sedaNode; + } + for (const child of sedaNode.Children) { + const nodeFound = this.getSedaNodeCollection(child, nodeName,collectionName); + if (nodeFound) { + return nodeFound; + } + } + } + + } + + // For all correspondent values beetween seda and tree elements, + // return a SedaData array of elements that does not have + // an optional (0-1) or an obligatory (1) cardinality. + // If an element have an 'n' cardinality (e.g. 0-N), the element will + // aways be included in the list + findSelectableElementList(sedaNode:SedaData, fileNode:FileNode): SedaData[] { + let fileNodesNames = fileNode.children.map(e=>e.name); + let allowedSelectableList = sedaNode.Children.filter(x => (!fileNodesNames.includes(x.Name) && + x.Cardinality !== CardinalityConstants.Obligatoire.valueOf()) + || + (fileNodesNames.includes(x.Name) && + (x.Cardinality === CardinalityConstants["Zero or More"].valueOf()) + )) + return allowedSelectableList; + } + + findCardinalityName(clickedNode:FileNode, cardlinalityValues: CardinalityValues[]):string{ + if(!clickedNode.cardinality){ + return "1" + } else { + return cardlinalityValues.find(c=>c.value == clickedNode.cardinality).value + } + } + + /** + * Returns the list of all the attributes defined for the node + * @param sedaNode the seda node we want to query + */ + getAttributes(sedaNode:SedaData, collection:string):SedaData[] { + //if (!sedaNode) return; + return sedaNode.Children.filter(children=>children.Element=="Attribute" + && sedaNode.Collection === collection); + } + + isSedaNodeObligatory(nodeName:string,sedaParent:SedaData):boolean{ + if (sedaParent.Name === nodeName) { + return sedaParent.Cardinality.startsWith('1'); + } + if (sedaParent){ + for (let child of sedaParent.Children) { + if (child.Name === nodeName){ + return child.Cardinality.startsWith('1'); + } + } + } + } + + checkSedaElementType(nodeName:string, sedaNode:SedaData):string{ + if (sedaNode.Name === nodeName) return sedaNode.Element; + + let node = sedaNode.Children.find(c=>c.Name==nodeName); + if (node) { + return node.Element + } + //return false; + } + findSedaChildByName(nodeName: string, sedaNode:SedaData): SedaData{ + if (nodeName === sedaNode.Name) { + return sedaNode; + } + const childFound = sedaNode.Children.find(c=>c.Name==nodeName); + return childFound ? childFound : null; + } + + setSedaTabNodeRoot(sedaNodeName:string):void{ + let sedaRootNodeSearch = this.getSedaNodeRecursively(this.selectedSedaNode.getValue(),sedaNodeName) + this.sedaTabNodeRootToSearch.next(sedaRootNodeSearch); + } + + // Returns a list of cardinalities of a given a fileNode's children + // If an attributte child doesn't not have a cardinality + // then the seda child's cardinality will be added by default; + getCardinalitiesOfSedaChildrenAttributes(fileNode:FileNode,sedaNode:SedaData):string[]{ + let cardinalities : string[] = [] + for (let fileChild of fileNode.children){ + for (let sedaChild of sedaNode.Children){ + if (fileChild.name === sedaChild.Name){ + fileChild.cardinality ? + cardinalities.push(fileChild.cardinality) : + cardinalities.push(sedaChild.Cardinality); + } + } + } + return cardinalities; + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/toggle-sidenav.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/toggle-sidenav.service.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..dd4b2f5da653cd27caa1e7a44bcac3cbb7c9e5c2 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/toggle-sidenav.service.spec.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed } from '@angular/core/testing'; + +import { ToggleSidenavService } from './toggle-sidenav.service'; + +describe('ToggleSidenavService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: ToggleSidenavService = TestBed.get(ToggleSidenavService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/core/services/toggle-sidenav.service.ts b/ui/ui-frontend/projects/pastis/src/app/core/services/toggle-sidenav.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..c921ee515a5d8ec55e247b939caa844185a3646c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/core/services/toggle-sidenav.service.ts @@ -0,0 +1,57 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Injectable } from '@angular/core'; +import { BehaviorSubject } from 'rxjs'; + +@Injectable({ + providedIn: 'root' +}) +export class ToggleSidenavService { + + constructor() { } + isOpened = new BehaviorSubject<boolean>(true); + + show() { + this.isOpened.next(true); + console.log("SideNav is opened") + } + hide() { + this.isOpened.next(false); + console.log("SideNav is closed") + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/classes/file-node.ts b/ui/ui-frontend/projects/pastis/src/app/file-tree/classes/file-node.ts new file mode 100644 index 0000000000000000000000000000000000000000..92c6318fe8217089f7d1459b305607cd99ee5f5f --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/classes/file-node.ts @@ -0,0 +1,119 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { SedaData } from './seda-data'; + +/** + * Json node data with nested structure. Each node has a name and a value or a list of children + */ +export enum TypeConstants { + element = 'element', + attribute = 'attribute' +} + +/** + * Json node data with nested structure. Each node has a name and a value or a list of children + */ +/** + * Json node data with nested structure. Each node has a name and a value or a list of children + */ +export enum CardinalityConstants { + 'Zero or More' = '0-N', + 'One Or More' = '1-N', + 'Optional' = '0-1', + 'Obligatoire' = '1', +} + + +/** + * Json node data with nested structure. Each node has a name and a value or a list of children + */ +export enum DataTypeConstants { + string = 'string', + dateTime = 'dateTime', + dateOrDateTime = 'dateOrDateTime', + date = 'date', + ID = 'ID', + 'id' = 'id', + anyURI = 'anyURI', + token = 'token', + tokenType = 'tokenType', + base64Binary = 'base64Binary', + positiveInteger = 'positiveInteger', + boolean = 'boolean', + decimal = 'decimal', + int = 'int', + language = 'language', + NCName = 'NCName', + undefined = 'undefined' +} + +/** + * Json node data with nested structure. Each node has a name and a value or a list of children + */ +export enum ValueOrDataConstants { + value = 'value', + data = 'data', + nsName = 'nsName', + undefined = 'undefined' +} + +export interface FileNode { + id: number; + parentId: number; + name: string; + valueOrData: ValueOrDataConstants; + value: string; + type: TypeConstants; + dataType: DataTypeConstants; + cardinality: string; + level: number; + documentation?: string; + children: FileNode[]; + parent: FileNode; + sedaData: SedaData; +} + +export interface FileNodeInsertParams { + node: FileNode; + elementsToAdd:string[]; +} + +export interface FileNodeInsertAttributeParams { + node: FileNode; + elementsToAdd:FileNode[]; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/classes/metadata-matcher.ts b/ui/ui-frontend/projects/pastis/src/app/file-tree/classes/metadata-matcher.ts new file mode 100644 index 0000000000000000000000000000000000000000..1a63e21179efc3d7dd393d8b7962d062d4e3e4b3 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/classes/metadata-matcher.ts @@ -0,0 +1,53 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import {FormControl, FormGroupDirective, NgForm, Validators} from '@angular/forms'; +import {ErrorStateMatcher} from '@angular/material/core'; + +/** Error when invalid control is dirty, touched, or submitted. */ +export class MetadataMatcher implements ErrorStateMatcher { + isErrorState(control: FormControl | null, form: FormGroupDirective | NgForm | null): boolean { + const isSubmitted = form && form.submitted; + return (control && control.invalid && (control.dirty || control.touched)); + } + + static date(c: FormControl) { + const dateRegEx = new RegExp(/^\d{1,2}\.\d{1,2}\.\d{4}$/); + return dateRegEx.test(c.value) ? null : {date: true} + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/classes/metadata-validator.ts b/ui/ui-frontend/projects/pastis/src/app/file-tree/classes/metadata-validator.ts new file mode 100644 index 0000000000000000000000000000000000000000..10b2fbd2369452e72eac808c24682620fda85ef7 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/classes/metadata-validator.ts @@ -0,0 +1,52 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import {Injectable} from "@angular/core"; +import {FormControl} from "@angular/forms"; + + +@Injectable() +export class DateValidator { + + constructor() { + } + + static date(c: FormControl) { + const dateRegEx = new RegExp(/^\d{1,2}\.\d{1,2}\.\d{4}$/); + return dateRegEx.test(c.value) ? null : {date: true} + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/classes/seda-data.ts b/ui/ui-frontend/projects/pastis/src/app/file-tree/classes/seda-data.ts new file mode 100644 index 0000000000000000000000000000000000000000..9ddc73e2c1a7570b510e9f0349e0231c9ecaf03c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/classes/seda-data.ts @@ -0,0 +1,86 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +//Seda element constants : +//Seda elelemtns can be attributes, simple or complex elements + +export enum SedaElementConstants { + attribute = 'Attribute', + simple = 'Simple', + complex = 'Complex' +} + +//Seda choice constants : can be yes or no +export enum SedaChoiceConstants { + yes = 'yes', + no = 'no', +} + +//Seda Extensible constants : can be yes or no +export enum SedaExtensibleConstants { + yes = 'yes', + no = 'no', +} + + +export enum SedaCardinalityConstants { + 'zeroOrOne' = '0-1', + 'one' = '1', + 'oreOrMore' = '1-N', + 'zeroOrMore' = '0-N' +} + + +export enum SedaCollections { + 'object' = 'Objets', + 'header' = 'Entete', + 'rules' = 'Regles', + 'arborescent' = 'Aborescence' +} + +export interface SedaData { + Name:string; + Type:string; + Element:string; + Cardinality:string; + Definition:string; + Extensible:boolean; + Choice:boolean; + Children: SedaData[]; + Enumeration:string[]; + Collection: SedaCollections; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/edit-attributes.component.html b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/edit-attributes.component.html new file mode 100644 index 0000000000000000000000000000000000000000..2bf3eef5c3d3e8c8e9912b8e14163395f2b136ce --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/edit-attributes.component.html @@ -0,0 +1,75 @@ +<div class="table-container"> + + <table mat-table [dataSource]="matDataSource"> + + <!-- Name Column --> + <ng-container matColumnDef="nomDuChamp"> + <th mat-header-cell *matHeaderCellDef class="pastis-font-table-header col-nom">Nom de l'attribut</th> + <td mat-cell *matCellDef="let element" class="pastis-metadata-table-col-large"> + <span [ngClass]="" + matTooltip="{{getSedaDefinition(element.nomDuChamp)}}" + matTooltipPosition="right"> + {{element.nomDuChamp}} + </span> + </td> + </ng-container> + + <!-- Value Column --> + <ng-container matColumnDef="valeurFixe"> + <th mat-header-cell *matHeaderCellDef class="pastis-font-table-header">Valeur fixe</th> + <td mat-cell *matCellDef="let element" class="pastis-metadata-table-col-small"> + <ng-container [ngSwitch]="getAttributeInputType(element)"> + <ng-container *ngSwitchDefault> + <input matInput + [(ngModel)]="element.valeurFixe" + class="value-text-area pastis-table-content input-valeur-fixe"> + <ng-template #simpleElement></ng-template> + </ng-container> + <ng-container *ngSwitchCase="'enumeration'"> + <mat-select [(ngModel)]="element.valeurFixe"> + <mat-option [value]="val"></mat-option> + <mat-option *ngFor="let val of element.enumeration" [value]="val">{{val}}</mat-option> + </mat-select> + </ng-container> + </ng-container> + </td> + </ng-container> + + + <!-- Comment Column --> + <ng-container matColumnDef="commentaire"> + <th mat-header-cell *matHeaderCellDef class="pastis-font-table-header">Commentaire</th> + <td mat-cell *matCellDef="let element" class="pastis-metadata-table-col-large "> + <input matInput + [ngModel]="element.commentaire" + (ngModelChange)="setElementComment(element.nomDuChamp,$event)" + class="comment-text-area pastis-table-content input-comentaire" + style="float:left"> + </td> + </ng-container> + + <!-- Selected Column --> + <ng-container matColumnDef="selected"> + <th mat-header-cell *matHeaderCellDef class="pastis-font-table-header col-selection" > + Tout sélectionner + <mat-checkbox + (click)="$event.stopPropagation()" + (change)="toggleAllAttributes($event)" + [checked]="isChecked()"> + </mat-checkbox> + <span class="info-bulle"> </span> + + </th> + <td mat-cell *matCellDef="let element;index as i;" class="pastis-metadata-table-col-large check-box"> + <mat-checkbox + [(ngModel)]="element.selected " + style="float:right" + [disabled]=isSedaObligatory(element) + [ngStyle]="{'mat-checkbox-checkmark-path': isSedaObligatory(element) ? 'grey' : ''}"></mat-checkbox> + </td> + </ng-container> + + <tr mat-header-row *matHeaderRowDef="displayedColumns;sticky: true"></tr> + <tr mat-row *matRowDef="let row; columns: displayedColumns;" style="background: white;"></tr> + </table> +</div> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/edit-attributes.component.scss b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/edit-attributes.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..43b183c7bb8831840985c2b64cd2c2c7651cf667 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/edit-attributes.component.scss @@ -0,0 +1,103 @@ +@import '../../../../assets/css/colors'; +@import '../../../../assets/css/dropdown'; +@import '../../../../assets/css/layout'; + + +table{ + background: none; + max-height: 454px; + border-spacing: 0 5px; + margin-bottom: 30px; +} + +.table-container { + max-height: 270px; + overflow: auto; +} + +th { + border: none; + background: white; +} + +td{ + border-radius: 5px; + border: none; +} + + +.col-nom{ + + width: 204px !important; +} + +.input-valeur-fixe{ + text-indent: 10px; + width: 130px !important; +} +.input-comentaire{ + width: 220px !important; + +} +.td-cardinalite{ + width: 100px !important; + text-align: center; + padding-left: 30px !important; + padding-right: 30px !important; +} + +.check-box{ + width: 150px; + padding-right: 39px !important; +} + +.info-bulle{ + padding-left: 28px; + padding-right: 2px; + vertical-align: baseline; + font-size: 24px; + color:map-get($colors,'secondary-300'); +} + +.col-selection{ + text-align: right; + padding-right: 0px !important; +} + +.select-dropdown{ + text-align: left; +} + + // Pastis checkbox (enabled) +::ng-deep .mat-checkbox.mat-accent { + .mat-checkbox-frame { + border: 1px solid map-get($colors,'secondary-300'); + + } + + &.mat-checkbox-checked .mat-checkbox-background { + background-color: white; + border: 1px solid map-get($colors,'secondary-300'); + } + + .mat-checkbox-checkmark-path { + stroke: map-get($colors,'secondary-300') !important; + } + + } + + ::ng-deep .mat-checkbox-ripple .mat-ripple{ + display: none; + } + + // Pastis checkbox (disabled) + ::ng-deep .mat-checkbox-checked.mat-accent.mat-checkbox-disabled .mat-checkbox-background, + .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background { + border: 1px solid; + border-color: map-get($colors,'black-low'); + background-color: white; + + .mat-checkbox-checkmark-path { + stroke: map-get($colors,'black-low') !important; + } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/edit-attributes.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/edit-attributes.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..c62319ab041d3831df4b75ad93b1175ce1d2fad2 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/edit-attributes.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { EditAttributesPopupComponent } from './edit-attributes.component'; + +describe('EditAttributesPopupComponent', () => { + let component: EditAttributesPopupComponent; + let fixture: ComponentFixture<EditAttributesPopupComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ EditAttributesPopupComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(EditAttributesPopupComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/edit-attributes.component.ts b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/edit-attributes.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..5d594fcb2f915f6fdd5b83a10c665e1ab3f17764 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/edit-attributes.component.ts @@ -0,0 +1,280 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, Inject, OnInit, } from '@angular/core'; +import { MatCheckboxChange, MatDialogRef, MatTableDataSource, MAT_DIALOG_DATA } from '@angular/material'; +import { FileService } from '../../../appcore/services/file.service'; +import { SedaService } from '../../../appcore/services/seda.service'; +import { DataTypeConstants, FileNode, TypeConstants, ValueOrDataConstants, CardinalityConstants } from '../../classes/file-node'; +import { SedaData, SedaCardinalityConstants, SedaElementConstants } from '../../classes/seda-data'; +import { AttributeData } from '../edit-attributes/models/edit-attribute-models'; +import { FileTreeMetadataService } from '../file-tree-metadata.service'; +import { PastisDialogData } from '../../../appshared/pastis-dialog/classes/pastis-dialog-data'; +import { PopupService } from '../../../appcore/services/popup.service'; + +@Component({ + selector: 'pastis-edit-attributes', + templateUrl: './edit-attributes.component.html', + styleUrls: ['./edit-attributes.component.scss'] +}) +export class EditAttributesPopupComponent implements OnInit { + + displayedColumns: string[] = ['nomDuChamp', 'valeurFixe', 'commentaire', 'selected']; + + attributeCardinalities: string[]; + + elementSedaCardinality:string; + + selectedValue:string[]; + + parentFileNode:FileNode; + + // The datasource used by the DataTable in the popup + // It's data contains the list of Attributes to display + matDataSource: MatTableDataSource<AttributeData>; + + + constructor( + public dialogRef: MatDialogRef<EditAttributesPopupComponent>, + @Inject(MAT_DIALOG_DATA) public dialogReceivedData: PastisDialogData, + private sedaService: SedaService, + private fileService: FileService, + private fileTreeMetadataService: FileTreeMetadataService, + private popUpService : PopupService + ) { } + + ngOnInit() { + this.fileService.getCurrentFileTree().subscribe( fileTree => { + if (fileTree) { + this.parentFileNode = fileTree[0]; + } + }); + this.matDataSource = this.getDataSource(this.dialogReceivedData.fileNode.sedaData, this.dialogReceivedData.fileNode); + this.initAttributeCardinality(); + // Subscribe any datasource change to setPopUpDataOnClose + setTimeout(() => { + this.popUpService.setPopUpDataOnClose(this.matDataSource.data); + }, 50); + } + + //Checks if a file node has an atttribute child + initAttributeCardinality(){ + for(let index in this.matDataSource.data){ + let fileNode = this.dialogReceivedData.fileNode; + let att = this.matDataSource.data[index]; + let attSedaData = fileNode.sedaData.Children.find(child => child.Name === att.nomDuChamp); + if (attSedaData.Cardinality === CardinalityConstants.Obligatoire) { + this.matDataSource.data[index].selected = true; + } else { + this.matDataSource.data[index].selected = att.selected; + } + } + } + + setElementComment(elementName:string, newComment: string) { + for(let idx in this.matDataSource.data) { + if (this.matDataSource.data[idx].nomDuChamp === elementName) { + this.matDataSource.data[idx].commentaire = newComment; + } + } + console.log("ParentFileNode : ", this.parentFileNode); + for (let node of this.parentFileNode.children) { + if (node.name === elementName) { + node.documentation = newComment; + } + } + } + + setElementValue(elementName:string, newValue: string) { + for(let idx in this.matDataSource.data) { + if (this.matDataSource.data[idx].nomDuChamp === elementName) { + this.matDataSource.data[idx].valeurFixe = newValue; + console.error( this.matDataSource.data[idx].valeurFixe,newValue); + } + } + for (let node of this.parentFileNode.children) { + if (node.name === elementName) { + node.value = newValue; + } + } + } + + /** + * Function that computes the "checked" state of the "select all" checkbox + * If all checkboxs are checked, then the "select all" checkbox is checked + */ + isChecked(): boolean { + return this.matDataSource.data.filter(a=>!a.selected).length==0; + } + + isSedaObligatory(attribute:AttributeData):boolean{ + if (attribute) { + let popUpData = <PastisDialogData>this.popUpService.getPopUpDataOnOpen(); + if (popUpData) { + let popSendSedaNodeFilted = popUpData.fileNode.sedaData.Children.find(child=>child.Name === attribute.nomDuChamp); + return popSendSedaNodeFilted.Cardinality.startsWith('1'); + } + } + return; + } + + /** + * Function that checks/unchecks all attributes + * @param change + */ + toggleAllAttributes(toggleAllCheckChange: MatCheckboxChange):void { + let istoggleAllChecked = toggleAllCheckChange.checked; + this.matDataSource.data.forEach(a=> { + this.isSedaObligatory(a)? a.selected = true :a.selected = istoggleAllChecked; + a.selectedCardinality = '1' + } + ); + } + + /** + * Function that checks/unchecks the attribute + * @param change + */ + toggleAttribute(change: MatCheckboxChange,elementName:string):void { + let element = this.matDataSource.data.find(a=> a.nomDuChamp === elementName); + element.selected = change.checked + } + + + /** + * Returns the modified FileNode from the popup + * + * It parses the datasource of the DataTable to collect the attributes + * and add them to the modified FileNode + */ + getFileNodeFromPopup():FileNode { + // We get the original FileNode that was passed to the popup + let fileNode: FileNode = this.dialogReceivedData.fileNode; + + this.fileService.deleteAllAttributes(fileNode); + + // Map all selected AttributeData to FileNode and add them as children of the fileNode + this.matDataSource.data + .filter(attributeData => attributeData.selected) + .forEach(attributeData => { + let attributeFileNode: FileNode = {} as FileNode; + attributeFileNode.id = window.crypto.getRandomValues(new Uint32Array(10))[0]; + attributeFileNode.cardinality = attributeData.selectedCardinality; + attributeFileNode.children = []; + attributeFileNode.dataType = DataTypeConstants[fileNode.sedaData.Children.find(child=>child.Name === attributeData.nomDuChamp).Type.toString()]; + attributeFileNode.documentation = attributeData.commentaire ? attributeData.commentaire : null; + attributeFileNode.level = fileNode.level + 1; + attributeFileNode.name = attributeData.nomDuChamp; + attributeFileNode.parentId = fileNode.id; + attributeFileNode.type = TypeConstants.attribute; + attributeFileNode.value = attributeData.valeurFixe ? attributeData.valeurFixe : null; + attributeFileNode.valueOrData = ValueOrDataConstants.value; + // Add the attribute to the filenode + console.error("Attribute : ", attributeFileNode) + }); + + return fileNode; + } + + /** + * Get the datasource required to feed the datatable in the popup + * + * This datasource consists of a list of AttributeData + * + * @param sedaNode The seda definition of the node we want to edit + * @param fileNode The node which we want to edit attributes + */ + getDataSource(sedaNode: SedaData, fileNode: FileNode):MatTableDataSource<AttributeData> { + let attributeDataList:AttributeData[] = []; + // Loop on all the attributes available for the node in the seda definition + // Maps all the attributes node to AttributesData object + this.sedaService.getAttributes(sedaNode,sedaNode.Collection).forEach(sedaAttribute=>{ + + let attributeData : AttributeData = {} as AttributeData; + + attributeData.nomDuChamp=sedaAttribute.Name; + attributeData.type=sedaAttribute.Element; + + // Check if the attribute is already added to the current node + let fileAttribute = <FileNode> fileNode.children.find(child=>child.name === attributeData.nomDuChamp); + //let mattAttFound = this.matDataSource.data.find(att=> att.nomDuChamp === fileAttribute.name); + if (fileAttribute){ + // If the attribute is present in the FileNode + // We fill in the fields with the corresponding values + attributeData.valeurFixe = fileAttribute.value; + attributeData.selected = true; + attributeData.id = fileAttribute.id; + attributeData.commentaire = fileAttribute.documentation; + attributeData.cardinalities= this.fileTreeMetadataService.allowedCardinality.get(fileAttribute.cardinality); + attributeData.selectedCardinality=fileAttribute.cardinality; + attributeData.enumeration=sedaAttribute.Enumeration; + attributeData.valeurFixe=fileAttribute.value; + } else { + // If the attribute is not present, we fill in defaults values + attributeData.valeurFixe = null; + attributeData.selected = false; + attributeData.commentaire = null; + attributeData.id = window.crypto.getRandomValues(new Uint32Array(10))[0]; + attributeData.cardinalities = this.fileTreeMetadataService.allowedCardinality.get(sedaAttribute.Cardinality); + attributeData.selectedCardinality = null; + attributeData.enumeration=sedaAttribute.Enumeration; + } + attributeDataList.push(attributeData); + }); + // Create and return the datasource with the attribute's data + let result = new MatTableDataSource<AttributeData>(attributeDataList); + return result; + } + + getAttributeInputType(element: AttributeData) { + if (element.enumeration.length > 0) { + return 'enumeration'; + } + } + + getSedaDefinition(elementName:string) { + if(this.dialogReceivedData.fileNode.sedaData){ + for (let node of this.dialogReceivedData.fileNode.sedaData.Children){ + if (node.Name === elementName) { + return node.Definition + } + } + } + return "" + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/edit-attributes.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/edit-attributes.service.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..fa1981cfa945428a58cc9dc3a9c35984507e2be5 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/edit-attributes.service.spec.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed } from '@angular/core/testing'; + +import { EditAttributesService } from './edit-attributes.service'; + +describe('EditAttributesService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: EditAttributesService = TestBed.get(EditAttributesService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/edit-attributes.service.ts b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/edit-attributes.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..cc6568e1abdaca621648c69d2272b7dddfda286f --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/edit-attributes.service.ts @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Injectable } from '@angular/core'; + +@Injectable({ + providedIn: 'root' +}) +export class EditAttributesService { + + constructor() { } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/models/edit-attribute-models.ts b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/models/edit-attribute-models.ts new file mode 100644 index 0000000000000000000000000000000000000000..373e188c6ffb990ab4cefa1a55675451b3b92049 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/edit-attributes/models/edit-attribute-models.ts @@ -0,0 +1,54 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { FileNode } from '../../../appfile-tree/classes/file-node'; +import { SedaData } from '../../../appfile-tree/classes/seda-data'; + +/** + * Class that stores all the data needed to display and manage an attribute in the popup + */ +export interface AttributeData { + nomDuChamp: string; + type: string; + valeurFixe: string; + selectedCardinality: string; // The selected cardinality for this attribute + cardinalities: string[]; // The list of all allowed cardinality for this attribute + commentaire: string; + selected: boolean; // Boolean that is linked to the checkbox, allowing to select this attribute + enumeration: string[]; + id:number; + } diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/file-tree-metadata.component.html b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/file-tree-metadata.component.html new file mode 100644 index 0000000000000000000000000000000000000000..99776f3731e4150844fcf9e77e073ecec3657d55 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/file-tree-metadata.component.html @@ -0,0 +1,192 @@ +<div > + <!--Top panels container--> + <div class="pastis-metadata-option-container"> + <!-- Top left panel container --> + <div class="pastis-metadata-option-entete-1"> + <!--Arrow button conainer--> + <div class ="pastis-position-btn-arrow-back"> + <button class="pastis-btn-rounded-arrow-back" + tooltip="Retour vers la liste des profils" + placement="bottom" + show-delay="0" + tooltip-class="pastis-tooltip-class"> + <mat-icon class="pastis-ico-arrow-back">arrow_back + </mat-icon> + </button> + </div> + <!--Panel content separator--> + <div class="pastis-entete-1-separator"></div> + <!--Text cotopntainer--> + <div class="pastis-entete-1-text"> + <div class="pastis-entete-1-text-titre">{{resolveCurrentNodeName()}}</div> + <div class="pastis-entete-1-text-body-1">Créer et gérer un profil d'archivage > ... > </div> + <div class="pastis-entete-1-text-body-2">{{resolveCurrentNodeName()}}</div> + </div> + </div> + + <!--Top right panel container--> + <div class="pastis-metadata-option-entete-2"> + <!--Button open--> + <div class ="panel-buttons" + tooltip="Importer un profil" + placement="top" + show-delay="0" + tooltip-class="pastis-tooltip-class"> + <pastis-user-action-upload></pastis-user-action-upload> + </div> + <!--Button save--> + <div class ="panel-buttons" + tooltip="Enregistrer le profil" + placement="top" + show-delay="0" + tooltip-class="pastis-tooltip-class"> + <pastis-user-action-save-profile></pastis-user-action-save-profile> + </div> + <!--Button setting--> + <div class ="panel-buttons"> + <button class="pastis-btn-rounded-setting"> + <mat-icon svgIcon="setting" class="pastis-ico-setting"></mat-icon> + </button> + </div> + </div> + + </div> + + <!--Metatada table container--> + <div class="pastis-table-container"> + <table mat-table [dataSource]="matDataSource" *ngIf="shouldLoadMetadataTable(); else complexElementWithouChild"> + <!-- Name Column --> + <ng-container matColumnDef="nomDuChamp" > + <th mat-header-cell *matHeaderCellDef class="pastis-font-table-header">Nom de la métadonnée</th> + <td mat-cell *matCellDef="let element;index as j" class="pastis-metadata-table-col-large"> + <span [ngClass]="{'pastis-table-content': isSedaCardinalityConform(element.cardinalite,selectedCardinalities[j]), + 'pastis-table-content-with-errors': !isSedaCardinalityConform(element.cardinalite,selectedCardinalities[j])}" + tooltip="{{getSedaDefinition(element.nomDuChamp)}}" + placement="right" + show-delay="0" + tooltip-class="pastis-tooltip-class"> + <mat-icon *ngIf="isElementComplex(element.nomDuChamp)" + svgIcon="complex-element" + class="pastis-ico-complex-element"> + </mat-icon> + {{element.nomDuChamp}} + <mat-icon *ngIf="!isSedaCardinalityConform(element.cardinalite,selectedCardinalities[j])" + matTooltip="La cardinalité n'est pas conforme aux specifications du SEDA 2.1" matTooltipPosition="above" + matTooltipClass="pastis-table-content"> + info + </mat-icon> + </span> + </td> + </ng-container> + + <!-- Value Column --> + <ng-container matColumnDef="valeurFixe"> + <th mat-header-cell *matHeaderCellDef class="pastis-font-table-header">Valeur fixe</th> + <td mat-cell *matCellDef="let element;index as i" class="pastis-metadata-table-col-large"> + <ng-container [ngSwitch]="getMetadataInputType(element)"> + <ng-container *ngSwitchCase="'date'"> + <input [ngModel]="element.valeurFixe" + theme="dp-material" + class="value-text-area pastis-table-content" + [dpDayPicker]="config" + (ngModelChange)="setNodeValue(element,$event)"> + </ng-container> + <ng-container *ngSwitchCase="'enumeration'"> + <mat-select placeholder="Choisissez une valeur" [ngModel]="element.valeurFixe" (ngModelChange)="setNodeValue(element,$event)"> + <mat-option [value]="val"></mat-option> + <mat-option *ngFor="let val of element.enumeration" [value]="val">{{val}}</mat-option> + </mat-select> + </ng-container> + <ng-container *ngIf="!checkElementType(element.nomDuChamp)" > + <textarea matInput *ngSwitchDefault + [ngModel]="element.valeurFixe" + (ngModelChange)="setNodeValue(element,$event)" + class="value-text-area pastis-table-content"> + </textarea> + </ng-container> + </ng-container> + <ng-template #simpleElement></ng-template> + </td> + </ng-container> + + <!-- Cardinality Column --> + <ng-container matColumnDef="cardinalite"> + <th mat-header-cell *matHeaderCellDef class="pastis-font-table-header">Cardinalité </th> + <td mat-cell *matCellDef="let element;index as i" class="pastis-metadata-table-col-small"> + <mat-select [ngModel]="selectedCardinalities[i]" panelClass="cardinality-dropdown " + (ngModelChange)="setNodeChildrenCardinalities(element,$event)" + disableRipple="true"> + <mat-option *ngFor="let c of element.cardinalite" [value]="c"> + <span class="cardinality-text">{{c}}</span> + </mat-option> + </mat-select> + </td> + </ng-container> + + <!-- Commnent Column --> + <ng-container matColumnDef="commentaire"> + <th mat-header-cell *matHeaderCellDef class="pastis-font-table-header"> Commentaire </th> + <td mat-cell *matCellDef="let element;index as i" class="pastis-metadata-table-col-large"> + <textarea matInput + [ngModel]="element.commentaire" + (ngModelChange)="setDocumentation(element,$event)" + class="comment-text-area "> + </textarea> + + <!--Menu options--> + <mat-menu #menu="matMenu" [overlapTrigger]="false" class="pastis-item-menu" xPosition="before" yPosition="below" > + <!-- Dupliquer--> + <button mat-menu-item> + <mat-icon style="color:white">filter_none</mat-icon> + <span class="pastis-item-menu-text">Dupliquer</span> + </button> + <!-- @Attributs--> + <mat-divider *ngIf="hasAttributes(element.nomDuChamp)" style="border-top-color:white"></mat-divider> + <button *ngIf="hasAttributes(element.nomDuChamp);" (click)="onEditAttributesClick(element.id)" mat-menu-item> + <mat-icon style="color:white">alternate_email</mat-icon> + <span class="pastis-item-menu-text">Attributs de métadonnée</span> + </button> + <!-- @Supprimer--> + <mat-divider *ngIf="!isSedaObligatory(element.nomDuChamp)" + style="border-top-color:white"></mat-divider> + <button *ngIf="!isSedaObligatory(element.nomDuChamp)" + mat-menu-item (click)="onDeleteNode(element.id)"> + <mat-icon style="color:white">delete</mat-icon> + <span class="pastis-item-menu-text">Supprimer</span> + </button> + </mat-menu> + + <button id="menuBtn" *ngIf="isRowHovered(element.id)" + mat-icon-button [matMenuTriggerFor]="menu" + (click)="onButtonClicked(element.id,$event)" + disableRipple="true" (menuOpened)= "rowIndex = i" (menuClosed) = "rowIndex = 100" + [ngClass]="{'pastis-btn-metadata-options-active': isButtonClicked(element.id,matDataSource.data[rowIndex]), + 'pastis-btn-metadata-options': !isButtonClicked(element.id,matDataSource.data[rowIndex]) }"> + <mat-icon [ngClass]="{'pastis-ico-menu-active': isButtonClicked(element.id,matDataSource.data[rowIndex]), + 'pastis-ico-menu-inactive': !isButtonClicked(element.id,matDataSource.data[rowIndex])}"> + {{isButtonClicked(element.id,matDataSource.data[rowIndex]) ? 'close' : 'more_horiz'}} + </mat-icon> + </button> + </td> + </ng-container> + + <tr mat-header-row *matHeaderRowDef="displayedColumns;sticky: true"></tr> + <tr mat-row *matRowDef="let row; columns: displayedColumns;" + (mouseenter)="onMouseOver(row)" + (mouseleave)="onMouseLeave(row)"></tr> + </table> + </div> + + <ng-template #complexElementWithouChild> + <div class="complex-element-no-child"> La métadonnée {{clickedNode.name}} ne contient pas de métadonnées filles. Vous devez lui en ajouter au moins une pour pouvoir l'utiliser dans votre profil.</div> + </ng-template> + + <!--Button add metadata--> + <div class="button-container"> + <button *ngIf="checkElementType()" class="pastis-btn-add-tag" + (click)="onAddNode()">{{resolveButtonLabel(clickedNode)}} + </button> + <br><br> + </div> + +</div> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/file-tree-metadata.component.scss b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/file-tree-metadata.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..3aecd7c5fa9a54b84d63d47f2bcee9e1f39753d6 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/file-tree-metadata.component.scss @@ -0,0 +1,458 @@ +@import "../../../assets/css/mixins"; +@import "../../../assets/css/layout"; +@import "../../../assets/css/colors"; +@import "../../../assets/css/font"; +@import "../../../assets/css/buttons"; + +td{ + padding-right: 6px !important; +} + +.metadata-form { + position: absolute; + width: 100%; + height: 100%; + background: white; +} + +.item-metadata { + margin-top: 35px; +} + +.item-definition-icon { + position: relative; + top: 5px; +} + +// Inital content +.mat-select { + @extend .dropdown; + @extend .pastis-dropdown-border-button1-enabled; +} + +// Inital content text +.mat-select-value { + vertical-align: middle; + @extend .pastis-dropdown-text-button1-enabled; +} + +/////////////################ Select trigger - Text + arrow +.mat-select-arrow { + background: url(../../../assets/svg/icons/drop-box-arrow.svg) no-repeat 100% 50%; + background-size: 24px 24px; + border: none !important; + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + outline-width: 0; + padding: 4px 4px 24px 24px; + display: block; + margin: 0px -10px 0px 0px !important; +} +.mat-select-value-text{ + @extend .pastis-font-roboto-medium; + vertical-align: middle; + margin-left: 25px; + max-width: 200px; +} + + +// Cardinality dropdown + + // Overhide mat-select-panel default min-size : calc(100%) + 32px; +.mat-select-panel{ + min-width: 100% !important; +} + +// Hover on select +.cardinality-dropdown .mat-select-panel { + left: 0%; + right: 0%; + top: 10%; + bottom: 0%; + max-height: 205px; + max-width: 100px; +} + +// The select dropdown box +.cardinality-dropdown { + border : 1px solid #65b2e4; + margin-left: 20px; +} + +// The selected option +.cardinality-dropdown .mat-option.mat-selected:not(.mat-option-disabled) { + @extend .pastis-font-roboto-regular; + @extend .pastis-black-medium; + background: url(../../../assets/svg/icons/check.svg) no-repeat 100% 50%; + //background:yellow; + background-position: 10px 12px; +} + +//The hovered option +.cardinality-dropdown .mat-option:hover{ + @extend .pastis-bg-secondary-200; + @extend .pastis-font-roboto-regular; + @extend .pastis-black-height; +} + +// The text on dropdown +.cardinality-text { + margin-left: 12px; + float: left; +} + +.item-definition { + text-align: left; + position: relative; + color: #4c4a37; + font-family: 'Source Sans Pro', sans-serif; + font-size: 18px; + line-height: 32px; + margin: 0 0 24px; +} + +.value-text-area { + padding:0px; + width: 80%; + @extend .pastis-text-area; +} + +.comment-text-area { + @extend .value-text-area; + @extend .pastis-textarea-comment; + padding:0px; + float: left; + text-align: left; + text-indent: 10px; + overflow: hidden; + width: 80%; + overflow-y: hidden; + +} + +.radio-group { + display: flex; + flex-direction: column; + margin: 15px 0; +} + +.radio-button { + margin: 5px; +} + + +table { + width: 100%; +} + +.pastis-btn-add-tag { + width: 210px; + float: left; + height: 50px; + @extend .pastis-btn-primary-enabled; +} + +.pastis-btn-add-tag:hover { + @extend .pastis-btn-primary-hover; +} + +.pastis-btn-add-tag:disabled { + @extend .pastis-btn-primary-disabled; +} + +.pastis-btn-add-tag:active { + @extend .pastis-btn-primary-focus; +} + + + +thead { + border-radius: 5px !important; +} + +table { + border-radius: 5px !important; + border-spacing: none !important; +} + + +.mat-row:hover{ + background: rgba(101, 178, 228, 0.2); +} + +tr:hover .pastis-btn-appear { + display: block; +} + +.pastis-btn-appear { + display: none; +} + +.pastis-item-menu { + margin-top: -7px; + border: 0px; + float:right !important; + /* Elevation 3 */ + box-shadow: 0px 11px 15px rgba(0, 0, 0, 0.1), 0px 9px 46px rgba(0, 0, 0, 0.06), 0px 24px 38px rgba(0, 0, 0, 0.07); + border-radius: 10px !important; + @extend .pastis-bg-secondary-300; +} + +.pastis-item-menu-text { + color: white; + @extend .pastis-body-2; +} + +.pastis-btn-metadata-options { + @extend .pastis-btn-rounded-mini-white-enabled; + border: 1px solid map-get($colors, 'secondary-300') !important; + float:right; + width: 40px; + height: 40px; + z-index: 10; +} + + .pastis-btn-metadata-options-active { + background: #88C5ED; + position: absolute!important; + margin-left: 5px !important; + border-radius: 3px!important; + width: 40px; + height: 40px; +} + + +.pastis-ico-menu-active { + color: white !important; +} + +.pastis-ico-menu-inactive { + @extend .pastis-secondary-300; +} + +.pastis-table-container { + top: 280px; + max-height: 425px; + overflow: auto; + overflow-x: hidden; +} + +.button-container{ + position: absolute; + width: 230px; + height: 50px; + left: 120px; + top: 745px; +} + + +.pastis-metadata-option-container { + position: relative; + width: 80%; + margin-left: 120px; + margin-right: 120px; + top: 63px; + height: 117px; +} + +.pastis-metadata-option-entete-1 { + position: relative; + width: 80%; + background-color: white; + height: 117px; + float: left; +} + +.pastis-metadata-option-entete-2 { + position: relative; + width: 18%; + left: 2%; + background-color: white; + height: 117px; + display: flex; + justify-content: space-around; +} + +.pastis-position-btn-arrow-back { + position: absolute; + left: 36px; + top: 46px; + @extend .pastis-btn-rounded-mini-white; +} + +.pastis-btn-rounded-arrow-back { + width: 30px; + height: 30px; + @extend .pastis-btn-rounded-mini-white-enabled; +} + +.pastis-btn-rounded-arrow-back:hover { + @extend .pastis-btn-rounded-arrow-back; + @extend .pastis-btn-rounded-mini-white-hover; +} + +.pastis-btn-rounded-arrow-back:active { + @extend .pastis-btn-rounded-arrow-back; + @extend .pastis-btn-rounded-mini-white-focus; +} + +.pastis-ico-arrow-back { + @extend .pastis-secondary-300; + cursor: pointer; + font-size: 24px; + margin-left: -5px; +} + +.pastis-btn-arrow-back { + position: absolute; + width: 24px; + height: 24px; + left: 36px; + top: 46px; + border-radius: 50%; + border: 2px solid black; + background: white !important; +} + +.pastis-entete-1-separator { + position: absolute; + width: 0px; + height: 115px; + left: 89px; + top: 0px; + + border: 2px solid #F7F8FB; +} + +.pastis-entete-1-text { + margin-top: 33px; + margin-left: 12%; + text-align: left; +} + +.pastis-entete-1-text-titre { + position: absolute; + left: 123px; + right: 5.06%; + top: 25.64%; + bottom: 50.43%; + font-weight: 500; + font-size: 20px; +} + +.pastis-entete-1-text-body-1 { + position: absolute; + width: 285px; + height: 20px; + left: 123px; + top: 68px; + + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 20px; + + /* identical to box height, or 143% */ + color: #A6A6A6; +} + +.pastis-entete-1-text-body-2 { + position: absolute; + width: 161px; + height: 20px; + left: 408px; + top: 68px; + + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 20px; + + /* or 214% */ + color: #604379; +} + + +// Right top panel : Buttons style definition // + +.panel-buttons { + text-align: center; + margin-top: 33px; +} + + +.pastis-ico-open { + @extend .pastis-ico-svg; + color:white; +} + + + +.pastis-btn-rounded-setting { + @extend .pastis-btn-rounded-standard-white-enabled; +} + +.pastis-btn-rounded-setting:hover { + @extend .pastis-btn-rounded-standard-white-hover; +} + +.pastis-btn-rounded-setting:active { + @extend .pastis-btn-rounded-standard-white-focus; +} + +.pastis-ico-setting { + @extend .pastis-ico-svg; +} + + + +.pastis-ico-complex-element { + vertical-align: middle; +margin-right: 10px; +} + + +dp-date-picker { + display: flex !important; +} + +dp-day-calendar .dp-day-calendar-container { + border-radius: 20px !important; + box-shadow: 0px 11px 15px rgba(0, 0, 0, 0.1), 0px 9px 46px rgba(0, 0, 0, 0.06), 0px 24px 38px rgba(0, 0, 0, 0.07) !important; +} + +.dp-selected { + background: blueviolet !important; +} + +.dp-current-day { + border: 1px solid blueviolet !important; +} + +.pastis-metadata-table-col-large .mat-select, .pastis-metadata-table-col-large .mat-select:focus{ + width: 80%; +} + + + +.pastis-metadata-table-col-large textarea { + height: 40px; + text-indent: 10px; + +} + +.pastis-metadata-table-col-large textarea:focus{ + height: 200px; + +} + +.pastis-metadata-table-col-small .mat-select{ + max-width: 106px; +} + +.complex-element-no-child{ + text-align: left; +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/file-tree-metadata.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/file-tree-metadata.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..a2f78372a42f2b4c88e2eec3a39c66d6b9df7b9c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/file-tree-metadata.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FileTreeMetadataComponent } from './file-tree-metadata.component'; + +describe('FileTreeMetadataComponent', () => { + let component: FileTreeMetadataComponent; + let fixture: ComponentFixture<FileTreeMetadataComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ FileTreeMetadataComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(FileTreeMetadataComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/file-tree-metadata.component.ts b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/file-tree-metadata.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..64f71df83262d63beedfb77e1e4cdc8e6a4aa84a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/file-tree-metadata.component.ts @@ -0,0 +1,411 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { CdkTextareaAutosize } from '@angular/cdk/text-field'; +import { Component,ViewChild, ViewEncapsulation } from '@angular/core'; +import { FormBuilder, FormControl, Validators } from '@angular/forms'; +import { MatTableDataSource } from '@angular/material/table'; +import { FileService } from '../../core/services/file.service'; +import { CardinalityValues, MetadataHeaders } from '../../../appcore/classes/models'; +import { SedaService } from '../../core/services/seda.service'; +import { CardinalityConstants, DataTypeConstants, FileNode, ValueOrDataConstants, TypeConstants, FileNodeInsertParams, FileNodeInsertAttributeParams } from '../classes/file-node'; +import { SedaElementConstants, SedaData } from '../classes/seda-data'; +import { FileTreeMetadataService } from './file-tree-metadata.service'; +import { PastisDialogData } from '../../../appshared/pastis-dialog/classes/pastis-dialog-data'; +import { EditAttributesPopupComponent } from './edit-attributes/edit-attributes.component'; +import { AttributeData } from './edit-attributes/models/edit-attribute-models'; +import { NotificationService } from '../../../appcore/services/notification.service'; +import { chdir } from 'process'; + + + +@Component({ + selector: 'pastis-file-tree-metadata', + templateUrl: './file-tree-metadata.component.html', + styleUrls: ['./file-tree-metadata.component.scss'], + // Encapsulation has to be disabled in order for the + // component style to apply to the select panel. + encapsulation: ViewEncapsulation.None, +}) + +export class FileTreeMetadataComponent { + + valueOrData = Object.values(ValueOrDataConstants); + dataType = Object.values(DataTypeConstants); + cardinalityList: string[]; + cardinalityLabels = Object.values(CardinalityConstants) + + //Mat table + matDataSource: MatTableDataSource<MetadataHeaders>; + + @ViewChild('autosize', { static: false }) autosize: CdkTextareaAutosize; + + displayedColumns: string[] = ['nomDuChamp', 'valeurFixe', 'cardinalite', 'commentaire']; + + clickedNode: FileNode = {} as FileNode; + + sedaData: SedaData = {} as SedaData; + + // The seda node that has been opened from the left menu + selectedSedaNode: SedaData; + + selectedCardinalities: string[]; + + allowedSedaCardinalityList: string[][]; + + cardinalityValues: CardinalityValues[] = []; + + regexPattern: string; + + patternType: string; + + rowIndex: number; + + hoveredElementId:number; + + buttonIsClicked:boolean; + + config: {}; + + metadatadaValueFormControl = new FormControl('', [Validators.required,Validators.pattern(this.regexPattern)]); + + valueForm = this.fb.group({ + valeurFixe: ['', [ Validators.pattern(this.regexPattern) ]], + }); + + constructor(private fileService: FileService, private fileMetadataService: FileTreeMetadataService, + private sedaService: SedaService,private fb: FormBuilder, private notificationService: NotificationService) { + this.config = { + locale: 'fr', + showGoToCurrent: false, + firstDayOfWeek: 'mo', + format: 'YYYY-MM-DD' + }; + } + + ngOnInit() { + //Subscription to fileNode service + this.fileService.getCurrentFileTree().subscribe(fileTree => { + if (fileTree) { + this.clickedNode = fileTree[0]; + this.fileService.allData.next(fileTree); + // Subscription to sedaRules + this.sedaService.getSedaRules().subscribe(data => { + if (this.clickedNode) { + let rulesFromService = this.fileService.tabChildrenRulesChange.getValue(); + let tabChildrenToInclude = rulesFromService[0]; + let tabChildrenToExclude = rulesFromService[1]; + this.sedaService.selectedSedaNode.next(data[0]); + this.selectedSedaNode = data[0]; + this.fileService.nodeChange.next(this.clickedNode) + let filteredData = this.fileService.filteredNode.getValue(); + // Initial data for metadata table based on rules defined by tabChildrenRulesChange + if (filteredData) { + let dataTable = this.fileMetadataService.fillDataTable(this.selectedSedaNode, filteredData,tabChildrenToInclude,tabChildrenToExclude); + this.matDataSource = new MatTableDataSource<MetadataHeaders>(dataTable); + } + } + }) + } + }) + + this.fileMetadataService.selectedCardinalities.subscribe(cards => { + this.selectedCardinalities = cards; + }); + + // File node + this.fileService.nodeChange.subscribe(node => { + this.clickedNode = node; + }) + + // Get Current sedaNode + this.sedaService.selectedSedaNode.subscribe(sedaNode => { + this.selectedSedaNode = sedaNode; + }) + + + this.fileMetadataService.dataSource.subscribe(data => { + this.matDataSource = new MatTableDataSource<MetadataHeaders>(data); + }) + } + + getMetadataInputPattern(type:string) { + if (type === 'date') { + this.regexPattern = '([0-2][0-9]|(3)[0-1])(\/)(((0)[0-9])|((1)[0-2]))(\/)\d{4}'; + return this.regexPattern; + } + if (type === 'TextType' || type === null) { + this.regexPattern = '^[a-zA-X0-9 ]*$'; + return this.regexPattern; + } + } + + getMetadataInputType(element: MetadataHeaders) { + if (element.type === 'date') { + return 'date'; + } + if (element.enumeration.length > 0) { + return 'enumeration'; + } + } + + findCardinality(event) { + + if (!event) { + return CardinalityConstants.Obligatoire; + } else { + return event; + } + + } + + isSedaCardinalityConform(cardList: string[],card:string){ + return cardList.includes(card); + } + + findCardinalityName(clickedNode: FileNode) { + if (!clickedNode.cardinality) { + return "1" + } else { + return this.cardinalityValues.find(c => c.value == clickedNode.cardinality).value + } + } + + setNodeChildrenCardinalities(metadata:MetadataHeaders, newCard: string) { + if (this.clickedNode.name === metadata.nomDuChamp) { + this.clickedNode.cardinality = newCard; + } else if (this.clickedNode.children.length > 0) { + let childNode = this.fileService.getFileNodeById(this.clickedNode,metadata.id); + if (childNode) { + childNode.cardinality = newCard; + } + } + + } + + setNodeValue(metadata:MetadataHeaders , newValue:string){ + let updatedValue = newValue.length > 0 ? newValue : null + if (this.clickedNode.name === metadata.nomDuChamp) { + this.clickedNode.value = updatedValue; + } else if (this.clickedNode.children.length > 0) { + let childNode = this.fileService.getFileNodeById(this.clickedNode,metadata.id); + if (childNode) { + childNode.value = updatedValue; + } + } + } + + setDocumentation(metadata:MetadataHeaders,comment:string) { + if (this.clickedNode.name === metadata.nomDuChamp && this.clickedNode.id === metadata.id) { + comment ? this.clickedNode.documentation = comment : this.clickedNode.documentation = null; + } + else { + for (let node of this.clickedNode.children) { + if (node.name === metadata.nomDuChamp && node.id === metadata.id) { + comment ? node.documentation = comment : node.documentation = null; + } + } + } + } + + isElementComplex(elementName){ + let childFound = this.selectedSedaNode.Children.find(el=> el.Name === elementName); + if (childFound){ + return childFound.Element === SedaElementConstants.complex; + } + } + + onAddNode() { + if (this.clickedNode.name === 'DescriptiveMetadata'){ + console.log("Yes") + let params:FileNodeInsertParams = {node:this.clickedNode, + elementsToAdd:['ArchiveUnit']} + this.fileService.insertItem.emit(params); + this.notificationService.showSuccess('La métadonnée ArchiveUnit a été ajoutée'); + + } else { + this.fileService.addNode.emit(this.clickedNode) + } + } + + async onEditAttributesClick(fileNodeId:number) { + let popData = {} as PastisDialogData; + let attributeFileNodeListToAdd: FileNode[] = []; + let attributeFileNodeListToRemove: FileNode[] = []; + + if (fileNodeId) { + popData.fileNode = this.fileService.findChildById(fileNodeId,this.clickedNode); + popData.subTitleDialog = 'Edition des attributs de'; + popData.titleDialog = popData.fileNode.name; + popData.width = '1120px'; + popData.component = EditAttributesPopupComponent + popData.okLabel = "Valider" + popData.cancelLabel = "Annuler" + + let popUpAnswer = <AttributeData[]> await this.fileService.openPopup(popData); + console.log("The answer for edit attributte was ", popUpAnswer); + + if (popUpAnswer) { + + // Create a list of attributes to add + popUpAnswer.filter(a=> a.selected).forEach(attr=>{ + let fileNode = {} as FileNode; + fileNode.cardinality = attr.selected ? '1' : null; + fileNode.value = attr.valeurFixe ? attr.valeurFixe : null; + fileNode.documentation = attr.commentaire ? attr.commentaire : null; + fileNode.name = attr.nomDuChamp; + fileNode.type = TypeConstants.attribute; + fileNode.sedaData = this.sedaService.findSedaChildByName(attr.nomDuChamp,popData.fileNode.sedaData); + fileNode.children = []; + fileNode.id = attr.id; + attributeFileNodeListToAdd.push(fileNode); + }); + // Create a list of attributes to remove + popUpAnswer.filter(a=> !a.selected).forEach(attr=>{ + let fileNode:FileNode = {} as FileNode; + fileNode.name = attr.nomDuChamp; + attributeFileNodeListToRemove.push(fileNode); + }) + if (attributeFileNodeListToAdd){ + let insertOrEditParams: FileNodeInsertAttributeParams = {node: popData.fileNode , elementsToAdd:attributeFileNodeListToAdd} + let attrsToAdd = attributeFileNodeListToAdd.map(e=>e.name); + let attributeExists = popData.fileNode.children.some(child => attrsToAdd.includes(child.name)) + + //Add attribute (if it does not exist), or update them if they do + if (attrsToAdd && !attributeExists) { + this.fileService.insertAttributes.emit(insertOrEditParams); + } else { + this.fileService.updateNodeChildren(popData.fileNode, attributeFileNodeListToAdd) + } + } + if (attributeFileNodeListToRemove.length){ + this.fileService.removeItem(attributeFileNodeListToRemove ,popData.fileNode); + } + } + } + } + + onDeleteNode(nodeId:number){ + const nodeToDelete = this.fileService.getFileNodeById(this.fileService.nodeChange.getValue(),nodeId); + this.fileService.removeNode.emit(nodeToDelete) + } + + onButtonClicked(elementId:number,event:MouseEvent){ + this.hoveredElementId = elementId; + } + + isButtonClicked(elementId: number, data: MetadataHeaders){ + if (data) { + this.hoveredElementId = elementId; + this.buttonIsClicked = true; + return data.id === this.hoveredElementId; + } + } + + isRowHovered(elementId:number){ + return this.hoveredElementId === elementId; + } + + onMouseOver(row: MetadataHeaders) { + this.buttonIsClicked = false; + this.hoveredElementId = row.id + } + + onMouseLeave(row: MetadataHeaders) { + if(!this.buttonIsClicked) { + this.hoveredElementId = 0; + } + } + + checkElementType(elementName?:string){ + if (this.selectedSedaNode){ + let nameToSearch = elementName ? elementName : this.sedaService.selectedSedaNode.getValue().Name; + let nodeElementType = this.sedaService.checkSedaElementType(nameToSearch, this.selectedSedaNode); + return nodeElementType === SedaElementConstants.complex; + } + } + + shouldLoadMetadataTable(){ + return this.fileMetadataService.shouldLoadMetadataTable.getValue(); + } + + /** + * Returns a boolean if a given node has one or more attributes + * regarding its seda specification + * @param nodeName The node's name to be tested + */ + hasAttributes(nodeName:string): boolean { + + const node = this.sedaService.findSedaChildByName(nodeName, this.selectedSedaNode); + + if (node && node.Children.length > 0) { + return (node.Children.find(c=>c.Element==SedaElementConstants.attribute)!==undefined); + } + return false; + } + + + isSedaObligatory(name: string): boolean { + return this.sedaService.isSedaNodeObligatory(name,this.selectedSedaNode); + } + + getSedaDefinition(elementName:string) { + if (this.selectedSedaNode.Name === elementName){ + return this.selectedSedaNode.Definition; + } else { + for (let node of this.selectedSedaNode.Children){ + if (node.Name === elementName) { + return node.Definition + } + } + } + return "" + } + + resolveButtonLabel(node:FileNode){ + if (node) { + return node.name === 'DescriptiveMetadata' ? "Ajouter une UA" : "Ajouter une métadonnée" + } + } + + resolveCurrentNodeName(){ + if (this.clickedNode){ + return this.clickedNode.name; + } + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/file-tree-metadata.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/file-tree-metadata.service.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..a6e64543f403fa857c4b2bbbf37f9509bfbaa289 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/file-tree-metadata.service.spec.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { TestBed } from '@angular/core/testing'; + +import { FileTreeMetadataService } from './file-tree-metadata.service'; + +describe('FileTreeMetadataService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: FileTreeMetadataService = TestBed.get(FileTreeMetadataService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/file-tree-metadata.service.ts b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/file-tree-metadata.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..fb7ecc2bd0b707ac8963679184faab3d0b4c75c3 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree-metadata/file-tree-metadata.service.ts @@ -0,0 +1,238 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Injectable } from '@angular/core'; +import { BehaviorSubject } from 'rxjs'; +import { CardinalityValues, MetadataHeaders } from '../../../appcore/classes/models'; +import { CardinalityConstants, FileNode, TypeConstants } from '../classes/file-node'; +import { SedaData, SedaElementConstants } from '../classes/seda-data'; +import { v4 as uuid } from 'uuid'; + +@Injectable({ + providedIn: 'root' +}) +export class FileTreeMetadataService { + + cardinalityValues: CardinalityValues[] = []; + allowedCardinality: Map<string, string[]>; + dataSource = new BehaviorSubject<MetadataHeaders[]>(null); + selectedCardinalities = new BehaviorSubject<string[]>([]); + allowedSedaCardinalities = new BehaviorSubject<string[][]>([]); + + shouldLoadMetadataTable = new BehaviorSubject<boolean>(true); + + + constructor() { + this.initCardinalityValues(); + } + + initCardinalityValues() { + for (let key in CardinalityConstants) { + let cardinality: CardinalityValues = { value: CardinalityConstants[key], viewValue: key }; + this.cardinalityValues.push(cardinality); + } + this.allowedCardinality = new Map<string, string[]>(); + this.allowedCardinality.set('1', ['1']); + this.allowedCardinality.set('', ['1']); + this.allowedCardinality.set(null, ['1']); + this.allowedCardinality.set(undefined, ['1']); + this.allowedCardinality.set("null", ['1']); + this.allowedCardinality.set('0-1', ['0-1', '1']); + this.allowedCardinality.set('0-N', ['0-1', '0-N', '1-N', '1']); + this.allowedCardinality.set('1-N', ['1', '1-N']); + } + + fillDataTable(sedaChild: SedaData, clickedNode: FileNode, childrenToInclude:string[], childrenToExclude:string[]): MetadataHeaders[] { + let data:MetadataHeaders[] = []; + let allowedCardList: string[][]; + if (clickedNode.children.length > 0 ) { + for (let child of clickedNode.children) { + // There are cases where there are no childrenToExclude declared + // So we must check if it exists to avoid and undefined of includes error + if (childrenToExclude && !childrenToExclude.includes(child.name) && + child.type !== TypeConstants.attribute) { + + data.push({ + id: child.id, + nomDuChamp: child.name, + valeurFixe: child.value, + cardinalite: this.findSedaAllowedCardinalityList(sedaChild, child), + commentaire: child.documentation, + type: child.dataType, + enumeration: child.sedaData.Enumeration, + }) + } else if (!childrenToExclude && child.type !== TypeConstants.attribute){ + data.push({ + id: child.id, + nomDuChamp: child.name, + valeurFixe: child.value, + cardinalite: this.findSedaAllowedCardinalityList(sedaChild, child), + commentaire: child.documentation, + type: child.dataType, + enumeration: child.sedaData.Enumeration}) + } + // It should be a simple element with children attributes. + // In that case, the data table will be filled with data from the clicked node + // (and only once) + else if (clickedNode.type === TypeConstants.element && sedaChild.Element === SedaElementConstants.simple){ + data.push({ + id: clickedNode.id, + nomDuChamp: clickedNode.name, + valeurFixe: clickedNode.value, + cardinalite: this.findSedaAllowedCardinalityList(sedaChild, clickedNode), + commentaire: clickedNode.documentation, + type: clickedNode.dataType, + enumeration: clickedNode.sedaData.Enumeration, + }) + break; + } + } + } // No children : it should be a SEDA simple element type without children + // It this case, the retrieved data is the current clicked node data + else { + data.push({ + id: clickedNode.id, + nomDuChamp: clickedNode.name, + valeurFixe: clickedNode.value, + cardinalite: this.findSedaAllowedCardinalityList(sedaChild, clickedNode), + commentaire: clickedNode.documentation, + type: clickedNode.dataType, + enumeration: clickedNode.sedaData.Enumeration, + }) + } + this.allowedSedaCardinalities.next(allowedCardList); + this.selectedCardinalities.next(this.findCardinalities(clickedNode, sedaChild, data)); + console.log("Data on fillDataTable", data, "with selected cards :", this.selectedCardinalities.getValue()); + return data; + } + + findSedaAllowedCardinalityList(sedaNode: SedaData, fileNode: FileNode): string[] { + let allowedCardinalityListResult: string[] = []; + let resultList: string[][] = []; + + // If the clicked node has the same name was the seda node, the node is already found + if (sedaNode.Name === fileNode.name) { + allowedCardinalityListResult = this.allowedCardinality.get(sedaNode.Cardinality); + return allowedCardinalityListResult; + } + if (sedaNode.Children.length > 0) { + // Search the sedaNode children to find the correnpondent cardinality list + for (let child of sedaNode.Children) { + if ((child.Name === fileNode.name) || (sedaNode.Name === fileNode.name)) { + // Used in the case we wish to "correct" the node's cardinality, since + // the seda cardinality wont include the cardinality retrieved by node's rng file. + // In this case, the condition will return the rng file cardinality list + // instead of node's cardinality list in accordance with the SEDA specification. + //if (child.Cardinality !== sedaNode.Cardinality){ + //allowedCardinalityListResult = this.allowedCardinality.get(clickedNode.cardinality); + //return allowedCardinalityListResult; + //} + allowedCardinalityListResult = this.allowedCardinality.get(child.Cardinality); + resultList.push(allowedCardinalityListResult) + this.allowedSedaCardinalities.next(resultList) + + return allowedCardinalityListResult; + } + } + } else { + //console.error("Final CARDINALITY LIST (NO seda children found) : ", allowedCardinalityListResult, " for ", sedaNode.Name); + for (const [card, cardlist] of this.allowedCardinality) { + if (card === fileNode.cardinality) { + !fileNode.cardinality ? allowedCardinalityListResult.push("1") : allowedCardinalityListResult = cardlist; + //result = cardlist; + resultList.push(cardlist) + this.allowedSedaCardinalities.next(resultList) + //console.error("Final CARDINALITY LIST : ", allowedCardinalityListResult) + return allowedCardinalityListResult; + } + } + } + this.allowedSedaCardinalities.next(resultList) + + if (allowedCardinalityListResult.length < 1) { + //console.error("Card not found for : ", clickedNode.name, "..assuming attribute cardinality :", clickedNode.cardinality); + allowedCardinalityListResult = this.allowedCardinality.get(fileNode.cardinality); + //!clickedNode.cardinality ? result.push("1") : result = this.allowedCardinality[clickedNode.cardinality]; + return allowedCardinalityListResult; + + } + } + + findCardinalities(clickedNode: FileNode, sedaNode: SedaData, data:MetadataHeaders[]):string[] { + let childrenCardMap = new Map(); + let idsToKeep = data.map(name=>name.id); + let nodesToKeep = clickedNode.children.filter(child=>idsToKeep.includes(child.id)) + + if (sedaNode.Children.length > 0) { + for (let fileNodechild of nodesToKeep) { + sedaNode.Children.forEach(sedaGrandChild=>{ + if (fileNodechild.name === sedaGrandChild.Name) { + fileNodechild.cardinality ? childrenCardMap.set(fileNodechild.id,fileNodechild.cardinality) : childrenCardMap.set(fileNodechild.id,"1"); + } + }) + } + } else { + !clickedNode.cardinality ? childrenCardMap.set(clickedNode.id,"1") : childrenCardMap.set(clickedNode.id,clickedNode.cardinality); + } + if (childrenCardMap.size < 1) { + !clickedNode.cardinality ? childrenCardMap.set(clickedNode.id,"1") : childrenCardMap.set(clickedNode.id,clickedNode.cardinality); + } + return Array.from(childrenCardMap.values()); + } + + /** + * Find the children of sedaParent and return the 'Enumeration' property + * @param sedaParent the seda parent of the node we want to find + * @param childName the name of the seda node we want to find + */ + getEnumerationFromSedaNodeChildren(sedaParent: SedaData, childName: string): string[] { + if (sedaParent.Name === childName){ + return sedaParent.Enumeration; + } + let sedaNode: SedaData = sedaParent.Children.find(c => c.Name === childName); + if (sedaNode){ + return sedaNode.Enumeration + } + return []; + } + shouldLoadTable(){ + return this.shouldLoadMetadataTable.getValue(); + } + enableAttributeOption(nodeType:string){ + return nodeType === TypeConstants.attribute; + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree.component.html b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree.component.html new file mode 100644 index 0000000000000000000000000000000000000000..458f2775b61e1e362c37bd1f9341d41d5012b91b --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree.component.html @@ -0,0 +1,80 @@ +<mat-tree *ngIf="nestedTreeControl && nestedDataSource" [dataSource]="nestedDataSource" + [treeControl]="nestedTreeControl" #treeSelector class="pastis-tree"> + + <!-- Nested tree node--> + + <mat-nested-tree-node *matTreeNodeDef="let node;when:hasNestedChild"> + <ng-container *ngIf="!isAttribute(node) && shouldBeOnTab(node)" > + <mat-list-item + class="list-item" (mouseover)="hover=node.children.length" (click)="updateMedataTable(node);nestedTreeControl.expand(node)" + style="margin-left:40px;margin-right:40px"> + + <!--Root node name--> + <span *ngIf="node.name === rootElementName" class="pastis-tree-node-root-name"> + <span [ngStyle]="{'margin-left': calculateNodePosition(node) + 'px'}"> + {{rootElementShowName}} + </span> + <span *ngIf="node.name === rootElementName && node.name === 'DescriptiveMetadata'" > + <span class="pastis-add-ua-text" (click)= "addArchiveUnit(node)"> Ajouter une UA + <!--Button plus--> + <!--<mat-icon svgIcon="plus-blue" + class="pastis-ico-plus-blue" + (click)= "addArchiveUnit(node)"> + </mat-icon>--> + <button class="pastis-btn-rounded-ua"> + <mat-icon class="pastis-ico-plus">add</mat-icon> + </button> + </span> + </span> + <mat-divider class="pastis-divider"></mat-divider> + </span> + + <!--Root children without children--> + <span *ngIf="!node.children.length && node.name !== rootElementName + && isPartOfCollection(node) && shouldBeOnTab(node) && !isAttribute(node)" + class="pastis-tree-node-name" (click)="updateMedataTable(node)" + [ngStyle]="{'margin-left': calculateNodePosition(node) + 'px'}"> + <span>{{onResolveName(node)}}</span> + <mat-divider class="pastis-divider"></mat-divider> + </span> + + <!--Root children with children--> + <span *ngIf="node.children.length && node.name !== rootElementName + && isPartOfCollection(node) && shouldBeOnTab(node) && !isAttribute(node)" + [ngStyle]="{'margin-left': calculateNodePosition(node) + 'px'}" (click)="updateMedataTable(node)"> + + <button *ngIf="isElementComplexAndHasChildren(node)" + mat-icon-button matTreeNodeToggle + class="pastis-chevron-icon" + (click)="updateMedataTable(node)"> + <mat-icon>{{nestedTreeControl.isExpanded(node) ? 'expand_more' : 'chevron_right'}}</mat-icon> + </button> + <span class="pastis-tree-node-name"> + <span>{{onResolveName(node)}}</span> + <span *ngIf="node.name === 'ArchiveUnit'" + style="float: right;" + tooltip="Ajouter une UA" + tooltip-class="pastis-tooltip-class"> + <!--Button plus--> + <button class="pastis-btn-rounded-ua-grey"> + <mat-icon class="pastis-ico-plus" (click)= "addArchiveUnit(node)">add</mat-icon> + </button> + </span> + </span> + <mat-divider class="pastis-divider"></mat-divider> + </span> + + </mat-list-item> + + + + + + <ul [hidden]="!nestedTreeControl.isExpanded(node)" class="pastis-tree-ul"> + <ng-container matTreeNodeOutlet></ng-container> + </ul> +</ng-container> + </mat-nested-tree-node> + + +</mat-tree> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree.component.scss b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..fb4e61f8bfdffd70b64fa3f0f60c22b9b92c0e79 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree.component.scss @@ -0,0 +1,219 @@ +@import "../../assets/css/mixins"; +@import "../../assets/css/layout"; +@import "../../assets/css/colors"; + +.main-card { + /*max-width: 1024px;*/ + margin: 5px; + } + +.file-tree{ + width: 100%; + height: 94%; + margin-top: 10px; + position: absolute; + white-space: nowrap; + left: 0px; + top: 45px; +} + + +.grid-tile-main { + border: solid 1px lightgray; + border-radius: 25px; + } + +.grid-title { + position:absolute; + left: 10px; + top: 10px; + font-size: 95%; +} + +.toolbar { + position:absolute; + border-top-left-radius: 25px; + border-top-right-radius: 25px; + top:0px; + font-size: 95%; + max-height: 55px; + } + +.grid-title-icon { + position: relative; + top: 5px; +} + +.buttons { + position: relative; + height: 35px; + } + .buttons-container { + position:absolute; + left: 10px; + top: 60px; + } + .buttons-divider{ + width:20px; + height:auto; + display:inline-block; +} + +.buttons-icon{ + width: 20px +} + +.example-form { + min-width: 150px; + max-width: 40px; + width: 100%; +} + +.example-full-width { + width: 10%; +} + +.text-inside-grid { + position: absolute; + left: 5px; +} + +.pastis-btn-node-element{ + background:none; + border:none; +} +.pastis-tree-node-root-name{ + @extend .pastis-black-height; + @extend .pastis-font-headline-6; + line-height: 50px; + cursor: pointer; + font-weight: 500; + margin-bottom: -15px; +} + +.pastis-tree-node-name{ + @extend .pastis-surface-snackbar; + @extend .pastis-font-label; + line-height: 50px; + cursor: pointer; +} + +.pastis-tree-divider{ + max-width: 400px !important; + max-height: 3px !important; + // margin: 0px 0px 0px 0px !important; + + opacity: 0.3 !important; + border: 1px solid #979797 !important; +} + +.pastis-chevron-icon{ + @extend .pastis-surface-snackbar; + text-align-last:left; +} +.pastis-chevron-icon svg { + @extend .pastis-surface-snackbar; +} + +.pastis-divider{ + max-width: 400px; + height: 1px; + //float: right; + //margin-top: -4px; +} + +.pastis-btn-add-metadata{ + margin-left: 220px; +} + + +/* PASTIS File tree Item list*/ +.mat-list-item{ + display:block !important; + text-align-last:left; +} + + +.list-item-no-children:hover{ + background: rgba(92, 186, 169, 0.15); + +} + +.list-item:hover{ + background: rgba(101, 178, 228, 0.2); +} + + +.pastis-tree-ul { + padding-left: 0px; + margin: 0px; +} + +.pastis-add-ua-text { + @extend .pastis-secondary-300; + float: right; + text-align: right; + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + left: 70%; + right: 1%; +} + +.pastis-add-ua-text:hover{ + font-weight: bold; +} + +.pastis-ico-plus { + cursor: pointer; + color:white; + font-size: 20px !important; +} + +.pastis-btn-rounded-ua { + @extend .pastis-btn-rounded-standard-secondary-enabled; + width: 20px; + height: 20px; + padding: 0%; + vertical-align: text-bottom; +} + +.pastis-btn-rounded-ua:hover { + @extend .pastis-btn-rounded-ua; + @extend .pastis-btn-rounded-standard-secondary-hover; +} + +.pastis-btn-rounded-ua:active { + @extend .pastis-btn-rounded-ua; + @extend .pastis-btn-rounded-standard-secondary-focus; +} + +.pastis-ico-add-ua { + @extend .pastis-ico-svg; + +} + + +.pastis-btn-rounded-ua-grey { + @extend .pastis-btn-rounded-standard-secondary-enabled; + width: 20px; + height: 20px; + padding: 0%; + vertical-align: text-bottom; + background: #A3A3A3; +} + +.pastis-btn-rounded-ua-grey:hover { + @extend .pastis-btn-rounded-ua-grey; + @extend .pastis-btn-rounded-standard-secondary-hover; +} + +.pastis-btn-rounded-ua-grey:active { + @extend .pastis-btn-rounded-ua-grey; + @extend .pastis-btn-rounded-standard-secondary-focus; +} + +.pastis-ico-add-ua-grey { + @extend .pastis-ico-svg; +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..33a4bfc19a25cc5d0c944ed353662c5622745876 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FileTreeComponent } from './file-tree.component'; + +describe('FileTreeComponent', () => { + let component: FileTreeComponent; + let fixture: ComponentFixture<FileTreeComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ FileTreeComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(FileTreeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree.component.ts b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..af8804092b7332bcf3f102b0c03e02fb217cd463 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree.component.ts @@ -0,0 +1,573 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/) + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { CdkTextareaAutosize } from '@angular/cdk/text-field'; +import { NestedTreeControl } from '@angular/cdk/tree'; +import { Component, Input, OnDestroy, OnInit, ViewChild, OnChanges, SimpleChanges } from '@angular/core'; +import { MatTreeNestedDataSource } from '@angular/material'; +import { BehaviorSubject, throwError } from 'rxjs'; +import { SedaData, SedaElementConstants, SedaCardinalityConstants, SedaCollections } from './classes/seda-data'; +import { SedaService } from '../core/services/seda.service'; +import { NotificationService } from '../core/services/notification.service'; +import { FileService } from '../core/services/file.service'; +import { CardinalityConstants, FileNode, TypeConstants, DataTypeConstants, ValueOrDataConstants, FileNodeInsertParams, FileNodeInsertAttributeParams } from './classes/file-node'; +import { FileTreeMetadataService } from './file-tree-metadata/file-tree-metadata.service'; +import { UserActionAddMetadataComponent } from '../user-actions/user-action-add-metadata/user-action-add-metadata.component'; +import { PastisDialogData } from '../shared/pastis-dialog/classes/pastis-dialog-data'; +import { UserActionRemoveMetadataComponent } from '../user-actions/user-action-remove-metadata/user-action-remove-metadata.component'; +import { NgxUiLoaderService } from 'ngx-ui-loader'; +import { areAllEquivalent } from '@angular/compiler/src/output/output_ast'; + +@Component({ + selector: 'pastis-file-tree', + templateUrl: './file-tree.component.html', + styleUrls: ['./file-tree.component.scss'] +}) +export class FileTreeComponent { + + @ViewChild('treeSelector', { static: true }) tree: any; + @ViewChild('autosize', { static: false }) autosize: CdkTextareaAutosize; + + + @Input() + nestedTreeControl: NestedTreeControl<FileNode>; + @Input() + nestedDataSource: MatTreeNestedDataSource<FileNode>; + @Input() + rootElementName: string; + @Input() + rootElementShowName: string; + @Input() + childrenListToExclude: string[]; + @Input() + childrenListToInclude: string[]; + @Input() + shouldLoad: boolean; + @Input() + collectionName:string + + nodeToSend: FileNode; + data: FileNode; + newNodeName: string; + sedaData: SedaData; + treeData: FileNode[]; + curentRootTabName: string; + parentNodeMap = new Map<FileNode, FileNode>(); + dataChange = new BehaviorSubject<FileNode>(null); + rulesChange: string[][] = []; + rootMetadataName:string; + + + + static archiveUnits: FileNode; + static archiveUnitsNumber: number; + static uaIdAndPosition = new Map<string, number>(); + + + constructor(private fileService: FileService, private loggingService: NotificationService, + private fileMetadataService: FileTreeMetadataService, + private sedaService: SedaService,private ngxService: NgxUiLoaderService) { } + + ngOnInit() { + + if (this.shouldLoad) { + this.sedaService.getSedaRules().subscribe(data => { + this.sedaData = data[0]; + this.sedaService.selectedSedaNode.next(data[0]); + this.sedaService.selectedSedaNodeParent.next(this.sedaData); + console.log("Init seda node on file tree : %o", this.sedaService.selectedSedaNode.getValue(), " on tab : ", this.rootElementName); + }) + this.fileService.addNode.subscribe(node => { + this.addNewItem(node) + }) + this.fileService.insertItem.subscribe((params:FileNodeInsertParams) => { + console.log("Params : ", params) + this.insertItem(params.node, params.elementsToAdd) + }) + this.fileService.insertAttributes.subscribe((params:FileNodeInsertAttributeParams) => { + console.log("Params in attributes : ", params) + this.insertAttributes(params.node, params.elementsToAdd) + }) + this.fileService.removeNode.subscribe(node => { + this.remove(node) + }) + this.fileService.tabChildrenRulesChange.subscribe(rules => { + this.rulesChange = rules; + }) + this.fileService.collectionName.subscribe(collection=>{ + this.collectionName = collection; + }) + this.fileService.rootTabMetadataName.subscribe(metadataName=>{ + this.rootMetadataName = metadataName; + }) + + this.fileService.dataChange.next(this.nestedDataSource.data); + } + } + + + isAttribute = (node: FileNode): boolean => node.type === TypeConstants[TypeConstants.attribute]; + + getChildren = (node: FileNode) => node.children; + + hasNestedChild(num: number, nodeData: FileNode):boolean { + return !nodeData.type; + } + + /** Select the category so we can insert the new item. */ + async addNewItem(node: FileNode) { + let dataToSendToPopUp = <PastisDialogData>{}; + dataToSendToPopUp.titleDialog = "Veuillez sélectionner une ou plusieurs métadonnées" + dataToSendToPopUp.subTitleDialog = `Ajouter des métadonnées à "${node.name}"`, node.name; + dataToSendToPopUp.fileNode = node; + dataToSendToPopUp.width = '800px'; + dataToSendToPopUp.okLabel = "Ajouter les métadonnées"; + dataToSendToPopUp.cancelLabel = "Annuler"; + dataToSendToPopUp.component = UserActionAddMetadataComponent; + dataToSendToPopUp.disableBtnOuiOnInit = true; + const elementsToAdd = <string[]>await this.fileService.openPopup(dataToSendToPopUp); + if (elementsToAdd) { + //this.sedaService.selectedSedaNode.next(sedaNode); + this.insertItem(node, elementsToAdd); + elementsToAdd.length > 1 ? + this.loggingService.showSuccess('Les métadonnées ' + elementsToAdd.join(', ') + ' ont été ajoutées') : + this.loggingService.showSuccess('La métadonnée ' + elementsToAdd + ' a été ajoutée') + } + } + + /** Add an item (or a list of items) in the Tree */ + insertItem(parent: FileNode, elementsToAdd: string[]) { + let elementsToAddFromSeda: SedaData[]= []; + for(let element of elementsToAdd){ + parent.sedaData.Children.forEach(child=>{ + if (child.Name === element){ + elementsToAddFromSeda.push(child); + } + }); + } + + if (parent.children && elementsToAddFromSeda) { + for (let element of elementsToAddFromSeda) { + // 1. Define a new file node, its id and seda data; + let newNode = {} as FileNode; + let newId = window.crypto.getRandomValues(new Uint32Array(10))[0]; + let sedaChild = element; + + // 1.2. New node type is defined acording to the seda element type + sedaChild.Element === SedaElementConstants.attribute ? + newNode.type = TypeConstants.attribute : + newNode.type = TypeConstants.element; + // 1.3. Fill the missing new node data + newNode.name = element.Name; + newNode.id = newId; + newNode.level = parent.level + 1; + newNode.dataType = DataTypeConstants[sedaChild.Type]; + newNode.parentId = parent.id; + newNode.parent = parent; + newNode.children = []; + newNode.sedaData = sedaChild; + newNode.cardinality = Object.values(CardinalityConstants).find(c => c.valueOf() === sedaChild.Cardinality); + console.log("Parent node name: " + parent.name); + console.log("New node : ", newNode); + + //1.4. Update parent->children relashionship + parent.children.push(newNode); + this.parentNodeMap.set(newNode, parent); + console.log("Seda children and file children: ", parent.sedaData.Children, parent.children); + + // 2. Insert all children of complex elements based on SEDA definition + if (sedaChild.Element === SedaElementConstants.complex ) { + let childrenOfComplexElement : string[] = []; + sedaChild.Children.forEach(child=> { + if (child.Cardinality === SedaCardinalityConstants.one || + child.Cardinality === SedaCardinalityConstants.oreOrMore) { + childrenOfComplexElement.push(child.Name); + } + }) + this.insertItem(newNode,childrenOfComplexElement); + } + // 3. Insert all olbigatory attributes of the added node, if there is + if (sedaChild.Children.some(child=>child.Element === SedaElementConstants.attribute)) { + let attributes:FileNode[] = []; + sedaChild.Children.filter(c=> c.Element === SedaElementConstants.attribute).forEach(child=> { + let isAttributeAlreadyIncluded = newNode.children.some(nodeChild=> nodeChild.name.includes(child.Name)); + // If the added node contains an obligatory attribute, + // on its seda definition and the attribute is not already part of the node, + // we then, build an attribute node based on the seda atribute defintion + if (child.Element === SedaElementConstants.attribute && + child.Cardinality === SedaCardinalityConstants.one && + !isAttributeAlreadyIncluded) { + let childAttribute = {} as FileNode; + childAttribute.name = child.Name; + childAttribute.cardinality = child.Cardinality === SedaCardinalityConstants.one ? '1' : null; + childAttribute.sedaData = sedaChild; + attributes.push(childAttribute); + } + }) + this.insertAttributes(newNode,attributes); + } + + } + // 4. Order elements according to seda definition + let sedaChildrenName: string[] = []; + parent.sedaData.Children.forEach(child => { + sedaChildrenName.push(child.Name); + }) + parent.children.sort((a, b) => { + return sedaChildrenName.indexOf(a.name) - sedaChildrenName.indexOf(b.name) + }) + // 5. Update tree + this.sendNodeMetadata(parent); + console.log("New fileNode data is : %o", this.nestedDataSource.data) + + // 6. No more nodes to add + } else { + console.log('No More Nodes can be inserted : No node was selected or node name is invalid'); + } + } + + insertAttributes(parent: FileNode, attributesToAdd: FileNode[]) { + + + + + + + if (attributesToAdd) { + for (let attribute of attributesToAdd) { + //Only attributes with cardinality one will be included + if (attribute.cardinality === SedaCardinalityConstants.one) { + let newAttributeNode = {} as FileNode; + let newId = window.crypto.getRandomValues(new Uint32Array(10))[0]; + newAttributeNode.name = attribute.name; + newAttributeNode.id = newId; + newAttributeNode.level = parent.level + 1; + newAttributeNode.type = TypeConstants.attribute; + newAttributeNode.dataType = DataTypeConstants[attribute.sedaData.Type]; + newAttributeNode.parentId = parent.id; + newAttributeNode.children = []; + newAttributeNode.cardinality = !attribute.cardinality ? '1' : attribute.cardinality; + newAttributeNode.documentation = attribute.documentation ? attribute.documentation : null; + newAttributeNode.value = attribute.value ? attribute.value : null; + newAttributeNode.sedaData = attribute.sedaData; + newAttributeNode.parent = parent; + parent.children.push(newAttributeNode); + this.parentNodeMap.set(newAttributeNode, parent); + console.log ("Parent of attribute after insert is now : ", parent.children); + } + } + } + } + sendNodeMetadata(node: FileNode):void { + this.updateFileTree(node); + this.updateMedataTable(node); + if (node.name === 'DataObjectGroup') { + let dataObjectPackageId = this.fileService.getFileNodeByName(node.parent, 'DataObjectPackage').id; + this.renderChanges(node,dataObjectPackageId); + } + if (node.name === 'DescriptiveMetadata') { + FileTreeComponent.archiveUnits = node; + this.generateArchiveUnitsNumbers(node) + this.renderChanges(node,node.id); + console.log("Archive units : ", FileTreeComponent.archiveUnits) + } + else { + + this.renderChanges(node); + } + } + + generateArchiveUnitsNumbers(archiveUnit:FileNode):void { + if ( archiveUnit.name === 'DescriptiveMetadata') { + FileTreeComponent.uaIdAndPosition[archiveUnit.level - 1] = archiveUnit.id; + } + let counter = 0; + archiveUnit.children.forEach(child=> { + if (child.name === 'ArchiveUnit'){ + counter ++; + FileTreeComponent.uaIdAndPosition[archiveUnit.level - 1 + "." + counter] = child.id; + } + }) + } + + + // Refresh Tree by opening an given node (option) + // If the a node name is not prodived, the function will open the root tab element + renderChanges(node:FileNode, nodeIdToExpand?:number) { + let data : FileNode; + if (nodeIdToExpand) { + data = this.fileService.getFileNodeById(this.fileService.allData.getValue()[0],nodeIdToExpand); + } else { + let rootTabName = this.fileService.rootTabMetadataName.getValue(); + data = this.fileService.getFileNodeByName(this.fileService.allData.getValue()[0],rootTabName); + } + if (data) { + let dataArray = []; + dataArray.push(data); + this.nestedDataSource.data = null; + this.nestedDataSource.data = dataArray; + this.nestedTreeControl.expand(node); + } + } + + updateMedataTable(node:FileNode){ + let rulesFromService = this.fileService.tabChildrenRulesChange.getValue() + let tabChildrenToInclude = rulesFromService[0]; + let tabChildrenToExclude = rulesFromService[1]; + this.fileService.nodeChange.next(node); + this.sedaService.selectedSedaNode.next(node.sedaData); + let dataTable = this.fileMetadataService.fillDataTable(node.sedaData, node, tabChildrenToInclude, tabChildrenToExclude); + let hasAtLeastOneComplexChild = node.children.some(el=> el.type === TypeConstants.element); + + if(node.sedaData.Element === SedaElementConstants.complex){ + this.fileMetadataService.shouldLoadMetadataTable.next(hasAtLeastOneComplexChild); + console.log("Filled data on table : ", dataTable, "...should load : ", this.fileMetadataService.shouldLoadMetadataTable.getValue()); + this.fileMetadataService.dataSource.next(dataTable); + } else { + this.fileMetadataService.shouldLoadMetadataTable.next(true); + this.fileMetadataService.dataSource.next(dataTable); + } + } + + // Updates the nested tab root tree and the data tree + updateFileTree(node:FileNode){ + this.nestedDataSource.data[0] = node + let allData = this.fileService.allData.getValue()[0] + this.updateItem(node,allData); + } + + sendNodeMetadataIfChildren(node: FileNode) { + if (node.children.length) { + this.sendNodeMetadata(node); + } + } + + isElementComplexAndHasChildren(node:FileNode){ + return node.children.some(child => child.type === TypeConstants.element); + } + + isElementComplex(node:FileNode){ + return node.sedaData.Element === SedaElementConstants.complex; + } + + + onResolveName(node:FileNode) { + /* let archiveUnitNode = this.fileService.getFileNodeById(FileTreeComponent.archiveUnits,node.id) as FileNode; + if (node.name === 'ArchiveUnit' && archiveUnitNode) { + let nodeLevel = (FileTreeComponent.archiveUnits.children.indexOf(node) + 1); + let parent = this.fileService.getFileNodeById(FileTreeComponent.archiveUnits,node.parentId) + let parentLevel = parent.level - 2 + + let archiveUnilNumber = nodeLevel > 0 ? nodeLevel : parentLevel + let archiveUnitDecimal = parentLevel === 0 ? "" : "." +parentLevel; + return 'UA ' + archiveUnilNumber + archiveUnitDecimal ; + } */ + return node.name; + } + + async remove(node: FileNode) { + let dataToSendToPopUp = <PastisDialogData>{}; + let nodeType = node.sedaData.Element == SedaElementConstants.attribute ? 'L\'attribut ' : 'La métadonnée ' + dataToSendToPopUp.titleDialog = "Voulez-vous supprimer " + nodeType + " \"" + node.name + "\" ?"; + dataToSendToPopUp.subTitleDialog = node.sedaData.Element == SedaElementConstants.attribute ? + "Suppression d'un attribut" : "Suppression d'une métadonnée"; + dataToSendToPopUp.fileNode = node; + dataToSendToPopUp.component =UserActionRemoveMetadataComponent; + + let popUpAnswer = <FileNode> await this.fileService.openPopup(dataToSendToPopUp); + if (popUpAnswer) { + let deleteTypeText = node.sedaData.Element == SedaElementConstants.attribute ? ' supprimé' : ' supprimée' + this.removeItem(node, this.fileService.nodeChange.getValue()); + this.loggingService.showSuccess(nodeType + node.name + ' a été ' + deleteTypeText + ' avec succès'); + } + } + + isSedaNodeObligatory(nodeName: string): boolean { + if (this.sedaData) { + for (let child of this.sedaData.Children) { + if (child.Name === nodeName) { + return child.Cardinality !== '1' ? true : false; + } + } + } + } + + buildFileTree(obj: object, level: number): FileNode[] { + // This should recive Root node of Tree of Type FileNode + // so we dont have to create a new node and use it as it is + return Object.keys(obj).reduce<FileNode[]>((accumulator, key) => { + const value = obj[key]; + const node = {} as FileNode; + node.id = level; + node.level = level; + node.name = key; + node.parentId = null; + if (value != null) { + if (typeof value === 'object') { + node.children = this.buildFileTree(value, level + 1); + } else { + node.type = value; + } + } + return accumulator.concat(node); + }, []); + } + + /** Remove an item Tree node given a parent node and the child to be removed */ + removeItem(childToBeRemoved: FileNode, parentRootNode: FileNode) { + //If the parentRoot is a reference to the child to be removed, we search for its parent from the root tab node + let rootNode = parentRootNode.id === childToBeRemoved.id ? this.nestedDataSource.data[0] : parentRootNode; + + const parentNode = this.findParent(childToBeRemoved.parentId, rootNode); + if (parentNode) { + console.log("On removeItem with node : ", childToBeRemoved, "and parent : ", parentNode); + const index = parentNode.children.indexOf(childToBeRemoved); + if (index !== -1) { + parentNode.children.splice(index, 1); + this.parentNodeMap.delete(childToBeRemoved); + this.dataChange.next(this.data); + } + console.log("Deleted node : ", childToBeRemoved, "and his parent : ", parentNode); + this.sendNodeMetadata(parentNode); + } + } + + /** Update an item Tree node */ + updateItem(newRootNode: FileNode, allData:FileNode) { + for (let idx in allData.children) { + if (allData.children[idx].id === newRootNode.id) { + allData.children[idx] = newRootNode; + } else { + this.updateItem(newRootNode,allData.children[idx]); + } + } + } + + + /** Find a parent tree node */ + findParent(id: number, parentNode: FileNode): FileNode { + console.log("On findParent with parent node id : ", id , " and parent : ", parentNode); + return this.fileService.getFileNodeById(parentNode,id) + } + + findParentLevel(nodeToFind:FileNode): number { + let parentNodeToSearch = this.nestedDataSource.data; + for (let node of parentNodeToSearch) { + // For nested elements + if (this.rootElementName === node.name && this.rootElementName === nodeToFind.name && + parentNodeToSearch[0].name === node.name && parentNodeToSearch[0].id !== nodeToFind.id) { + return 1; + } + return nodeToFind.level - node.level; + } + } + + // Checks if a node belongs to the clicked tab collection. + // For a given node, searches the required node in the seda.json file and + // returns true if the node's value of "Collection" is equal to the clicked tab + isPartOfCollection(node:FileNode):boolean { + return this.collectionName === node.sedaData.Collection; + } + + shouldBeOnTab(node:FileNode):boolean{ + let rootNodeName = this.fileService.rootTabMetadataName.getValue(); + let filteredNode = Object.assign({} as FileNode,this.nestedDataSource.data[0]); + + let includedDataObjectPackageChildren = ['DataObjectGroup', 'BinaryDataObject','PhysicalDataObject'] + if (rootNodeName === 'DataObjectPackage' && !includedDataObjectPackageChildren.includes(node.name)) { + filteredNode.children = filteredNode.children.filter(child=>child.name !== 'DescriptiveMetadata' && + child.name !== 'ManagementMetadata') + let childFound = this.fileService.getFileNodeById(filteredNode,node.id) + return childFound ? true : false; + } + if (rootNodeName === 'ArchiveTransfer') { + filteredNode.children = filteredNode.children.filter(child=>child.name !== 'DataObjectPackage'); + let childFound = this.fileService.getFileNodeById(filteredNode,node.id) + return childFound ? true : false; + } + return true; + } + + + // Returns the positioning, in pixels, of a given node + calculateNodePosition(node:FileNode):string{ + //Root node name + if (node.name === this.rootElementName ){ + return new Number(28).toString(); + } + //Root children with children + if (node.children.length && node.name !== this.rootElementName) { + return (new Number((this.findParentLevel(node) * 40) -16)).toString(); + } + //Root children without children- + if ((!node.children.length && node.name !== this.rootElementName)){ + return (new Number((this.findParentLevel(node) * 40) - 13)).toString(); + } + } + + + /** Error handler */ + handleError(error) { + let errorMessage = ''; + if (error.error instanceof ErrorEvent) { + // Get client-side error + errorMessage = error.error.message; + } else { + // Get server-side error + errorMessage = `Error Code: ${error.status} Message: ${error.message}`; + } + window.alert(errorMessage); + return throwError(errorMessage); + } + + showAllowedChidren(node: FileNode) { + if (this.childrenListToExclude) { + return !this.childrenListToExclude.includes(node.name); + } + } + + addArchiveUnit(node: FileNode) { + if(node.name == 'DescriptiveMetadata' || node.name == 'ArchiveUnit') { + console.log("Clicked seda node : ", node.sedaData); + this.insertItem(node, ['ArchiveUnit']); + // Refresh the metadata tree and the metadatatable + this.renderChanges(node); + this.loggingService.showSuccess('La métadonnée ArchiveUnit a été ajoutée'); + } + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree.module.ts b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree.module.ts new file mode 100644 index 0000000000000000000000000000000000000000..832564d74c311b3f03f62bdb6328e798c26add8c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/file-tree.module.ts @@ -0,0 +1,92 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule,ReactiveFormsModule} from '@angular/forms'; +import { MatMomentDateModule } from '@angular/material-moment-adapter'; +import { SharedModule } from '../shared/shared.module'; +import { UserActionsModule } from '../user-actions/user-actions.module'; +import { DpDatePickerModule } from 'ng2-date-picker'; + +import { MatTableModule} from '@angular/material/table'; +import { PastisMaterialModule } from '../material.module' + +import { + MAT_RIPPLE_GLOBAL_OPTIONS, + RippleGlobalOptions + +} from '@angular/material'; + + +import { FileTreeMetadataComponent } from './file-tree-metadata/file-tree-metadata.component'; +import { FileTreeComponent } from './file-tree.component'; +import { FiletreeFilterPipe } from './pipes/filetree-filter.pipe'; +import { EditAttributesPopupComponent } from './file-tree-metadata/edit-attributes/edit-attributes.component'; +import { PastisDialogConfirmComponent } from '../shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component'; +import { PastisUnderConstructionComponent } from '../shared/pastis-under-construction/pastis-under-construction.component'; +const globalRippleConfig: RippleGlobalOptions = { + disabled: true, + animation: { + enterDuration: 0, + exitDuration: 0 + } +}; +@NgModule({ + imports: [ + CommonModule, + PastisMaterialModule, + FormsModule, + ReactiveFormsModule, + MatTableModule, + SharedModule, + UserActionsModule, + DpDatePickerModule + ], + exports: [ + FileTreeComponent, + FileTreeMetadataComponent + ], + providers:[{provide: MAT_RIPPLE_GLOBAL_OPTIONS, useValue: {disabled: true}}], + declarations: [FileTreeMetadataComponent, FileTreeComponent,FiletreeFilterPipe, + EditAttributesPopupComponent], + entryComponents: [FileTreeComponent,PastisDialogConfirmComponent,PastisUnderConstructionComponent, EditAttributesPopupComponent] +}) + +export class FileTreeModule { + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/pipes/filetree-filter.pipe.spec.ts b/ui/ui-frontend/projects/pastis/src/app/file-tree/pipes/filetree-filter.pipe.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..bfdfb1e87339c1f295cbb12a620fb3960ba4dc2b --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/pipes/filetree-filter.pipe.spec.ts @@ -0,0 +1,45 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { FiletreeFilterPipe } from './filetree-filter.pipe'; + +describe('FiletreeFilterPipe', () => { + it('create an instance', () => { + const pipe = new FiletreeFilterPipe(); + expect(pipe).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/file-tree/pipes/filetree-filter.pipe.ts b/ui/ui-frontend/projects/pastis/src/app/file-tree/pipes/filetree-filter.pipe.ts new file mode 100644 index 0000000000000000000000000000000000000000..de9f3559062bf048b68361d3a0f238f8c7fd6373 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/file-tree/pipes/filetree-filter.pipe.ts @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Pipe, PipeTransform } from '@angular/core'; + +@Pipe({ + name: 'filetreeFilter' +}) +export class FiletreeFilterPipe implements PipeTransform { + + transform(value: any, ...args: any[]): any { + return null; + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/home/home.component.html b/ui/ui-frontend/projects/pastis/src/app/home/home.component.html new file mode 100644 index 0000000000000000000000000000000000000000..ed77eb9c13001fd1be66559d10089e5ff986456c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/home/home.component.html @@ -0,0 +1,30 @@ +<ngx-ui-loader></ngx-ui-loader> + +<button *ngIf="!opened" + mat-button class="pastis-btn-show-profile" + disableRipple="true" + (click)="openSideNav()"> + <mat-icon class="pastis-icon-show-profile">keyboard_arrow_right</mat-icon> +</button> + +<mat-sidenav-container class="pastis-page-container"> + <mat-sidenav #sidenav mode="side" [(opened)]="opened" (opened)="events.push('open!')" + (closed)="events.push('close!')" + class='pastis-side-nav'> + <pastis-edit-profile ></pastis-edit-profile> + </mat-sidenav> + + <mat-sidenav-content > + <div class="pastis-entete-bandeau"></div> + <div> + <pastis-file-tree-metadata style="text-align: center;"></pastis-file-tree-metadata> + <!--Check font.scss--> + <div toastContainer class="pastis-toaster-font"></div> + </div> + + </mat-sidenav-content> + +</mat-sidenav-container> + + + diff --git a/ui/ui-frontend/projects/pastis/src/app/home/home.component.scss b/ui/ui-frontend/projects/pastis/src/app/home/home.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..1bf32d30f537754bd8c8906a175d1a7554434983 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/home/home.component.scss @@ -0,0 +1,162 @@ +@import '../../styles.scss'; +@import '../../assets/css/colors'; +@import '../../assets/css/layout'; +@import '../../assets/css/font'; + + +.main-card { + /*max-width: 1024px;*/ + margin: 5px; + } + +.grid-tile-main { + border: solid 1px lightgray; + //border-radius: 25px; + } + +.grid-title { + position:absolute; + left: 10px; + top: 10px; + font-size: 95%; +} + +.toolbar { + position:absolute; + //border-top-left-radius: 25px; + //border-top-right-radius: 25px; + top:0px; + font-size: 95%; + max-height: 55px; + } + +.grid-title-icon { + position: relative; + top: 5px; +} + +.buttons { + position: relative; + height: 35px; + } + .buttons-container { + position:absolute; + left: 10px; + top: 60px; + } + .buttons-divider{ + width:20px; + height:auto; + display:inline-block; +} + +.buttons-icon{ + width: 20px +} + +.example-form { + min-width: 150px; + max-width: 40px; + width: 100%; +} + +.example-full-width { + width: 10%; +} + + + +/* Absolute Center Spinner */ +.loading-indicator { + position: absolute; + z-index: 999; + height: 2em; + width: 2em; + overflow: show; + margin: auto; + top: 0; + left: 0; + bottom: 0; + right: 0; +} + +/* Transparent Overlay */ +.loading-indicator:before { + content: ''; + display: block; + position: fixed; + top: 0; + left: 0; + width: 100%; + height: 100%; + background-color: rgba(0,0,0,0.3); +} + + +.example-container { + position: absolute; + top: 0; + bottom: 0; + left: 0; + right: 0; +} + +.mat-sidenav { + width: 100% !important; + @extend .pastis-slide-nav-profile; +} + +::ng-deep .mat-drawer-inner-container { + overflow: hidden !important; +} + +.pastis-btn-show-profile{ + position: absolute; + width: 70px; + height: 70px; + left: -1px; + top: 280px; + z-index: 10001; + background-color: #604379; + box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25); + + transition-property: all; + transition-duration: .5s; + transition-timing-function: cubic-bezier(0, 1, 0.5, 1); +} + +.pastis-icon-show-profile{ + color: #FFFFFF; + margin-bottom: 14px; + margin-right: 14px; + font-size: 40px; + //box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25); +} +.pastis-entete-bandeau { + @extend .pastis-bg-surface-tabs; + position: relative; + width: 100%; + height: 80px; + left: 0px; + top: 0px; +} + +.bandeau-cloche { + position: absolute; + left: 50%; + right: 16.67%; + top: 10.42%; + bottom: 8.33%; + background: #FFFFFF; +} + +.pastis-separator-bandeau { + position: absolute; + height: 11px; + left: 74.86%; + right: 24.93%; + top: 35px; + + /* White -- Hight */ + border: 2px solid #FFFFFF; +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/home/home.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/home/home.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..286930b82a9e7d9b9853c64a28d90e27b39ca462 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/home/home.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { HomeComponent } from './home.component'; + +describe('HomeComponent', () => { + let component: HomeComponent; + let fixture: ComponentFixture<HomeComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ HomeComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(HomeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/home/home.component.ts b/ui/ui-frontend/projects/pastis/src/app/home/home.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..5b9c71aa8da21b065cc3a632d025d278094045e3 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/home/home.component.ts @@ -0,0 +1,84 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { CdkTextareaAutosize } from '@angular/cdk/text-field'; +import { Router } from '@angular/router'; +import { ToggleSidenavService } from '../core/services/toggle-sidenav.service'; +import { RegisterIconsService } from '../core/services/register-icons.service'; +import { ToastContainerDirective, ToastrService } from 'ngx-toastr'; + +@Component({ + selector: 'app-home', + templateUrl: './home.component.html', + styleUrls: ['./home.component.scss'] +}) +export class HomeComponent implements OnInit { + + + @ViewChild('treeSelector', { static: true }) tree: any; + @ViewChild('autosize', { static: false }) autosize: CdkTextareaAutosize; + @ViewChild(ToastContainerDirective, { static: true }) + toastContainer: ToastContainerDirective; + + opened: boolean; + router: string; + events: string[] = []; + + constructor(private _router: Router,private sideNavService : ToggleSidenavService, + private iconService:RegisterIconsService,private toastrService: ToastrService) { + + this.sideNavService.isOpened.subscribe(status=>{ + this.opened = status; + }) + } + + ngOnInit() { + this.iconService.registerIcons() + this.toastrService.overlayContainer = this.toastContainer; + + } + + openSideNav(){ + this.opened = true; + } + + + closeSideNav(){ + this.opened = false; + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/material.module.ts b/ui/ui-frontend/projects/pastis/src/app/material.module.ts new file mode 100644 index 0000000000000000000000000000000000000000..2b740ded6836189cf0eb58b6ec424e38178dd110 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/material.module.ts @@ -0,0 +1,98 @@ +import { NgModule } from '@angular/core'; + +import { + MatButtonModule, + MatProgressSpinnerModule, + MatGridListModule, + MatSidenavModule, + MatTabsModule, + MatToolbarModule, + MatIconModule, + MatCardModule, + MatFormFieldModule, + MatInputModule, + MatListModule, + MatDatepickerModule, + MatNativeDateModule, + MatSelectModule, + MatOptionModule, + MatCheckboxModule, + MatRadioModule, + MatTreeModule, + MatDialogModule, + MatTableModule, + MatSortModule, + MatTooltipModule, + MatProgressBarModule, + MatMenuModule, + MatRippleModule, + MatSnackBarModule, + MatDividerModule, + MatButtonToggleModule +} from '@angular/material'; + + +@NgModule({ + imports: [ + MatButtonModule, + MatToolbarModule, + MatProgressSpinnerModule, + MatGridListModule, + MatSidenavModule, + MatCardModule, + MatDatepickerModule, + MatNativeDateModule, + MatSelectModule, + MatOptionModule, + MatCheckboxModule, + MatRadioModule, + MatTreeModule, + MatTableModule, + MatSortModule, + MatProgressBarModule, + MatMenuModule, + MatRippleModule, + MatTabsModule, + MatFormFieldModule, + MatInputModule, + MatListModule, + MatTooltipModule, + MatIconModule, + MatDialogModule, + MatSnackBarModule, + MatDividerModule, + MatButtonToggleModule + ], + exports: [ + MatButtonModule, + MatMenuModule, + MatToolbarModule, + MatCardModule, + MatProgressSpinnerModule, + MatGridListModule, + MatSidenavModule, + MatTabsModule, + MatFormFieldModule, + MatInputModule, + MatListModule, + MatDatepickerModule, + MatNativeDateModule, + MatSelectModule, + MatOptionModule, + MatCheckboxModule, + MatRadioModule, + MatTreeModule, + MatDialogModule, + MatTableModule, + MatSortModule, + MatProgressBarModule, + MatRippleModule, + MatIconModule, + MatTooltipModule, + MatSnackBarModule, + MatDividerModule, + MatButtonToggleModule + ] +}) + +export class PastisMaterialModule {} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile-visualizer/profile-visualizer.component.html b/ui/ui-frontend/projects/pastis/src/app/profile-visualizer/profile-visualizer.component.html new file mode 100644 index 0000000000000000000000000000000000000000..56b507ed61915264c3770806a15056196023aaa3 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile-visualizer/profile-visualizer.component.html @@ -0,0 +1 @@ +<div id='profile-view'></div> diff --git a/ui/ui-frontend/projects/pastis/src/app/profile-visualizer/profile-visualizer.component.scss b/ui/ui-frontend/projects/pastis/src/app/profile-visualizer/profile-visualizer.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..15491f6c90793bbfedfb98cc491f9317b10f4f2f --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile-visualizer/profile-visualizer.component.scss @@ -0,0 +1,28 @@ +.svg-container { + display: inline-block; + position: relative; + width: 100%; + padding-bottom: 100%; /* aspect ratio */ + vertical-align: top; + overflow: hidden; +} +.svg-content-responsive { + display: inline-block; + position: absolute; + top: 10px; + left: 0; +} + +svg .rect { + fill: gold; + stroke: steelblue; + stroke-width: 5px; +} + +.d3{ + height:70%; overflow:auto; +} + +.d3 svg{ + height:100%; overflow:auto; +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/profile-visualizer/profile-visualizer.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/profile-visualizer/profile-visualizer.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..5ab62a8569958ec2f2274e7fe8b7514cb220411d --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile-visualizer/profile-visualizer.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ProfileVisualizerComponent } from './profile-visualizer.component'; + +describe('SedaVisualizerComponent', () => { + let component: ProfileVisualizerComponent; + let fixture: ComponentFixture<ProfileVisualizerComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ProfileVisualizerComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ProfileVisualizerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/profile-visualizer/profile-visualizer.component.ts b/ui/ui-frontend/projects/pastis/src/app/profile-visualizer/profile-visualizer.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..5efda5b0101f172fbec5948431b8c4e5f5f66316 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile-visualizer/profile-visualizer.component.ts @@ -0,0 +1,230 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit } from '@angular/core'; +import { SedaData } from '../file-tree/classes/seda-data'; +import { PastisApiService } from '../core'; +import { FileService} from '../core/services/file.service'; +import { FileNode, TypeConstants } from '../file-tree/classes/file-node'; +import { SedaService } from '../core/services/seda.service'; + +let d3 = require('d3'); +declare var classDiagram: any; +declare var multilineText: any; + + +@Component({ + selector: 'pastis-profile-visualizer', + templateUrl: './profile-visualizer.component.html', + styleUrls: ['./profile-visualizer.component.scss'] +}) +export class ProfileVisualizerComponent implements OnInit { + + sedaData:SedaData; + profile:FileNode; + + + private getSedaUrl = './assets/seda.json'; + classD:any + multi:any; + sedaClasses:any = [] + profileClasses:any = []; + sedaConectors:any = [] + occurence:number[][] = [] + height:number; + width:number + boxes:any; + + constructor(private pastisService: PastisApiService, + private sedaService:SedaService, + private fileService: FileService) { + this.classD = classDiagram; + this.multi = multilineText; + this.height = window.innerHeight; + this.width = window.innerWidth; + + } + + ngOnInit() { + this.fileService.getFileTreeFromApi().subscribe(profile=>{ + this.profile = profile[0]; + this.pastisService.getLocally(this.getSedaUrl).subscribe(sedaRules=> { + this.sedaData = sedaRules[0] + setTimeout(() => { + if (this.sedaData) { + this.occurence = [] + this.calculateOccurences(this.profile,1); + + this.boxes = this.classD.createClasses(this.profileClasses,svg); + // Create a set to avoid duplicate classes + let uniqueProfiles = this.profileClasses.filter (function (value:any, index:any, array:any) { + return array.indexOf (value) == index; + }); + if (this.boxes && uniqueProfiles){ + this.generateClassesFromProfile(this.profile,1); + this.generateConnectorsFromSeda(this.profile,uniqueProfiles,this.profile.id,svg,this.boxes); + } + } + }, 1000); + }) + }) + var svg = d3.select('#profile-view') + .append("div") + // Container class to make it responsive. + .classed("svg-container", true) + .append("svg") + // Responsive SVG needs these 2 attributes and no width and height attr. + .attr("preserveAspectRatio", "xMinYMin meet") + .attr("viewBox", "0 0 1300 3000") + // Class to make it responsive. + .classed("svg-content-responsive", true) + + + this.classD.addMarkers(svg.append('defs')); + + svg.selectAll('text').attr('font-family', 'Noto Sans Japanese'); + + + } + + generateClassesFromProfile(data:FileNode,level:number):any{ + var root:any + + if (level === 1) { + this.profileClasses.push({"x": 40 * level + 750, + "y": 70 * level, + "width":200, + "classname": data.name, + "id": data.id, + "cardinality": data.cardinality, + "parentId":data.parentId, + }) + } + root = this.profileClasses.find((e: { id: number; })=> e.id === data.id) + + for (let child of data.children) { + if (child.type === "element" && child.sedaData.Element === "Complex" ) { + // Find the children id + + let attributes:any = []; + child.children.forEach(e => { + if (e.type === 'attribute') { + attributes.push('@' + e.name + ' [' + (e.cardinality ? e.cardinality : '1') + ']') + } + // All simple elements, with their attributes + if (e.sedaData.Element === 'Simple') { + attributes.push(e.name + ' (' + (e.cardinality ? e.cardinality : '1') + ')') + //Check simple metadata documentation + if (e.documentation) {attributes.push('[ ' + e.documentation + ' ]')} + //Check all simple metadata children + if (e.children.length){ + e.children.forEach(a=> { + if (a.type === TypeConstants.attribute) { + attributes.push(e.name + ' / '+ '@' + a.name + '(' + (a.cardinality ? a.cardinality : '1') + ') ' + a.value + ' ' + a.documentation) + } + }) + } + } + }) + + //Find elements of same level + let elementsPerLevel = this.occurence.filter(e=> e[1] === child.level); + let positionOfElementInLevel = elementsPerLevel.findIndex(e=>e[0] === child.id) + this.profileClasses.push({"x": 50 + ((positionOfElementInLevel) * 250), + "y": 130 + root.y + 50 , + "width":200, + "classname": child.name, + "parentId":child.parentId, + "id": child.id, + "cardinality": data.cardinality, + "attributes": attributes} ) + if (child.children.length ){ + level = child.level + 1; + this.generateClassesFromProfile(child, level) + } + } + } + } + +calculateOccurences(data:FileNode,level:number,occurence:any=[]){ + for(let child of data.children) { + if (child.type === "element" && child.sedaData.Element === "Complex") { + this.occurence.push([child.id,child.level]); + } + if (child.children.length > 0){ + level = child.level + 1; + this.calculateOccurences(child, level,this.occurence) + } + } +} + +generateConnectorsFromSeda(profile:FileNode,generatedClases:any,parentId:any,svg:any,boxes:any){ + + if (profile.children.length ) { + for (let child of profile.children){ + if (child.type === 'element' && child.sedaData.Element === "Complex") { + // Find a if a box corresponds to the a profile child + var source:any = generatedClases.find((t: { id: number; }) => t.id === child.id) + var target:any = generatedClases.find((t: { id: number; }) => t.id === parentId) + let theTargetBox = boxes[parentId]; + if (source && target) { + let randomXPos = Math.floor(Math.random() * target.width) + target.x; + let randomYPos = Math.floor(Math.random() * 40) + 5 + //Declare an array of points that will be used to create a line beetween the boxes + this.sedaConectors.push({"points":[ + //1. Source point + {"x":source.x + source.width / 2 , "y": source.y}, + // 2. Second point + {"x":source.x + source.width / 2 , "y": source.y -randomYPos}, + // 3. Third point + {"x":randomXPos , "y": source.y -randomYPos}, + //4. Target pont + {"x": randomXPos, "y": target.classname === 'ArchiveTransfer' ? theTargetBox.bottomY() : theTargetBox.bottomY() -15 } + ],markerEnd: 'diamond'}) + } + } + + if (child.children.length > 0) { + this.generateConnectorsFromSeda(child,generatedClases,child.id,svg,boxes); + } + } + } + this.classD.createConnectors(this.sedaConectors,svg); + } + + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.html b/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.html new file mode 100644 index 0000000000000000000000000000000000000000..bde1ed1c079cfb300e86ab37f6b1382da2973fc3 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.html @@ -0,0 +1 @@ +<p>create-profile works!</p> diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.scss b/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..feb71601f6a100bf8bda973efcb5ce11b180d256 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { CreateProfileComponent } from './create-profile.component'; + +describe('CreateProfileComponent', () => { + let component: CreateProfileComponent; + let fixture: ComponentFixture<CreateProfileComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ CreateProfileComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(CreateProfileComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.ts b/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..caf20917a5163a0d89cefc2dfcb7d795d54f7dd3 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/create-profile/create-profile.component.ts @@ -0,0 +1,52 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'pastis-create-profile', + templateUrl: './create-profile.component.html', + styleUrls: ['./create-profile.component.scss'] +}) +export class CreateProfileComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.html b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.html new file mode 100644 index 0000000000000000000000000000000000000000..fc8ea8b411ce43227bc4e1da826f549b2a6f6a33 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.html @@ -0,0 +1,95 @@ +<div class="pastis-edit-profile-header"> + + <mat-icon svgIcon="close-sidenav" class="pastis-ico-close-sidenav" (click)="closeSideNav()"></mat-icon> + + <div> + <span class="pastis-edit-profile-header-name">Nom du profil d'archivage</span> + <span class="pastis-btn-pa-pua-toggle"> + <pastis-toggle-button nameOn={{puaOn}} nameOff={{puaOff}}></pastis-toggle-button> + </span> + </div> + + <div class="pastis-edit-profile-header-id">Identifiant : 1223435596993056</div> +</div> +<mat-tab-group + [selectedIndex]="activeTabIndex" + disableRipple="true" + (selectedTabChange)="loadProfile($event)" + fxFill> + + <mat-tab label="{{tabLabels[0]}}" *ngIf="canShowOnPuaMode(0)"> + <div class="pastis-tab-container"> + <pastis-pastis-under-construction style="background: darkgray;"></pastis-pastis-under-construction> + </div> + </mat-tab> + + <mat-tab label="{{tabLabels[1]}}" *ngIf="canShowOnPuaMode(1)"> + <div class="pastis-tab-container" > + <ng-template matTabContent> + + <pastis-file-tree [nestedTreeControl]="nestedTreeControl" + [nestedDataSource]="nestedDataSource" + [rootElementName] = "rootNames[1]" + [rootElementShowName]="displayedRootNames[1]" + [childrenListToExclude]="headerTabChildrenToExclude" + [shouldLoad]="isTabClicked(1)" + [collectionName]="collectionNames[1]"> + </pastis-file-tree> + </ng-template> + + </div> + </mat-tab> + + <mat-tab label="{{tabLabels[2]}}" *ngIf="canShowOnPuaMode(2)"> + <div class="pastis-tab-container"> + <ng-template matTabContent> + + <pastis-file-tree [nestedTreeControl]="nestedTreeControl" + [nestedDataSource]="nestedDataSource" + [rootElementName]="rootNames[2]" + [rootElementShowName]="displayedRootNames[2]" + [childrenListToInclude]="rulesTabChildrenToInclude" + [childrenListToExclude]="rulesTabChildrenToExclude" + [shouldLoad]="isTabClicked(2)" + [collectionName]="collectionNames[2]"> + </pastis-file-tree> + </ng-template> + + </div> + </mat-tab> + + <mat-tab label="{{tabLabels[3]}}" *ngIf="canShowOnPuaMode(3)"> + <div class="pastis-tab-container"> + <ng-template matTabContent> + <pastis-file-tree [nestedTreeControl]="nestedTreeControl" + [nestedDataSource]="nestedDataSource" + [rootElementName]="rootNames[3]" + [rootElementShowName]="displayedRootNames[3]" + [childrenListToInclude]="treeTabChildrenToInclude" + [childrenListToExclude]="treeTabChildrenToExclude" + [shouldLoad]="isTabClicked(3)" + [collectionName]="collectionNames[3]"> + </pastis-file-tree> + </ng-template> + </div> + </mat-tab> + + <mat-tab label="{{tabLabels[4]}}" *ngIf="canShowOnPuaMode(4)"> + <div class="pastis-tab-container"> + <ng-template matTabContent> + + <pastis-file-tree [nestedTreeControl]="nestedTreeControl" + [nestedDataSource]="nestedDataSource" + [rootElementName]="rootNames[4]" + [rootElementShowName]="displayedRootNames[4]" + [childrenListToInclude]="objectTabChildrenToInclude" + [childrenListToExclude]="objectTabChildrenToExclude" + [shouldLoad]="isTabClicked(4)" + [collectionName]="collectionNames[4]"> + </pastis-file-tree> + </ng-template> + + </div> + </mat-tab> + +</mat-tab-group> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.scss b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..de5330a3d29def038ce276cfabd5008da62ac116 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.scss @@ -0,0 +1,167 @@ +@import '../../../styles.scss'; + +.pastis-edit-profile-header{ + @extend .pastis-bg-surface-tabs; + width: auto !important; + height: 200px; +} + +.pastis-edit-profile-header-name{ + position: absolute; + width: 300px; + height: 29px; + left: 40px; + top: 70px; + font-family: Roboto; + font-style: normal; + font-weight: bold; + font-size: 24px; + line-height: 24px; + right: 186px; + color: #FFFFFF; +} + +.pastis-edit-profile-header-id{ + position: absolute; + width: 189px; + height: 17px; + left: 40px; + top: 110px; + + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 13px; + line-height: 20px; + /* or 154% */ + color: #FFFFFF; +} + +.pastis-edit-profile-header-button { + position: absolute; + width: 50px; + height: 50px; + left: 347px; + right: 83px; + top: 73px; + + text-align: center; + + font-size: 20px; + + + background: #FFFFFF; + border-radius: 67px; +} + +.pastis-edit-profile-header-button-text { + + font-family: Arial; + font-style: normal; + font-weight: bolder; + line-height: 23px; + margin-top: 11px; + + /* identical to box height */ + + color: #5CBAA9; +} + +// The tabs containers +::ng-deep .mat-tab-header{ + left: 40px ; + right: 40px; + bottom: 37px ; + height: 37px; + max-width: fit-content; + border:none; +} + + + +// The tab +::ng-deep.mat-tab-label{ + @extend .pastis-font-label-historique; + margin-right: 3px !important; + background: rgba(255, 255, 255, 0.3); + height: 37px !important; + padding: 0px !important; + min-width: fit-content !important; + opacity: unset !important; +} + +//The tab hover +::ng-deep.mat-tab-label:hover { + background: #FFFFFF!important; +} + +// Tab hover and tab text hover +::ng-deep.mat-tab-label:hover .mat-tab-label-content{ + text-shadow: 0.5px 0 #5E5D5D; + background: rgba(255, 255, 255, 0.3) !important; + color: #5E5D5D !important; +} + + +// The active tab (Black and bold) +::ng-deep .mat-tab-label-active{ + text-shadow: 0.5px 0 #5E5D5D; + background: #FFFFFF !important; +} + +// The tab content +::ng-deep .mat-tab-label-content{ + margin: 8px; + display: flex; + align-items: center; + color: #FFFFFF ; +} + + +// The content of the active tab +::ng-deep .mat-tab-label-active .mat-tab-label-content{ + @extend .pastis-font-informations; + color: #5E5D5D !important; +} + + +// The automatic tab pagination chevron +::ng-deep .mat-tab-header-pagination-controls-enabled .mat-tab-header-pagination { + display: none !important; +} + +::ng-deep .mat-tab-group.mat-primary .mat-ink-bar, .mat-tab-nav-bar.mat-primary .mat-ink-bar .pastis-ink-bar{ + height: 0px; + } + +.mat-tab-group { + max-height: 500px; +} + +.mat-tab-body .mat-tab-body-active { + overflow-x: auto !important; + overflow-y: auto !important; +} + +.mat-tab-body-content { + overflow-x: auto !important; + overflow-y: auto !important; +} + +.pastis-ico-close-sidenav{ + position: absolute; + left: 90%; + top: 1.46%; + color: #FFFFFF; + cursor: pointer; + font-size: 24px; +} + + + .pastis-btn-pa-pua-toggle{ + float: right; + right: 60px; + top: 65px; + position: relative; +} + diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..97090b8a83b5d7cc3ac0fd902e719960ea270a5a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { EditProfileComponent } from './edit-profile.component'; + +describe('EditProfileComponent', () => { + let component: EditProfileComponent; + let fixture: ComponentFixture<EditProfileComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ EditProfileComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(EditProfileComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.ts b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..e288f1a4da0508495845365550185d705c3b1620 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/edit-profile/edit-profile.component.ts @@ -0,0 +1,225 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit, OnDestroy, ViewChild } from '@angular/core'; +import { ToggleSidenavService } from '../../core/services/toggle-sidenav.service'; +import { FileService } from '../../core/services/file.service'; +import { SedaService } from '../../core/services/seda.service'; + +import { FileNode } from '../../file-tree/classes/file-node'; +import { MatTabChangeEvent, MatTreeNestedDataSource } from '@angular/material'; +import { NestedTreeControl } from '@angular/cdk/tree'; +import { BehaviorSubject } from 'rxjs'; +import { FileTreeComponent } from '../../file-tree/file-tree.component'; +import { SedaData } from '../../file-tree/classes/seda-data'; +import { NgxUiLoaderService } from 'ngx-ui-loader'; +import { PastisToogleButtonService } from '../../appshared/pastis-toggle-button/services/pastis-toogle-button.service'; + +@Component({ + selector: 'pastis-edit-profile', + templateUrl: './edit-profile.component.html', + styleUrls: ['./edit-profile.component.scss',], + //encapsulation: ViewEncapsulation.None +}) + +export class EditProfileComponent implements OnInit, OnDestroy { + + nodeToSend: FileNode; + + sedaParentNode: SedaData; + + profileRulesIsLoaded: boolean; + + loadRules: boolean; + + activeTabIndex: number; + + sideNavOpened: boolean; + + tabRootElementName:string; + + puaMode: boolean; + + puaOn: string; + + puaOff: string; + + tabRulesMap: Map<string, Map<string, string[]>>; + nodeParentChildMap: Map<string, string[]>; + + nestedTreeControl: NestedTreeControl<FileNode>; + nestedDataSource: MatTreeNestedDataSource<FileNode>; + + dataChange = new BehaviorSubject<FileNode[]>([]); + + profileTabChildrenToInclude: string[] = []; + profileTabChildrenToExclude: string[] = []; + headerTabChildrenToInclude: string[] = []; + headerTabChildrenToExclude: string[] = []; + rulesTabChildrenToInclude: string[] = []; + rulesTabChildrenToExclude: string[] = []; + treeTabChildrenToInclude: string[] = []; + treeTabChildrenToExclude: string[] = []; + objectTabChildrenToInclude: string[] = []; + objectTabChildrenToExclude: string[] = []; + + rootNames: string[] = []; + displayedRootNames: string[] = []; + tabLabels: string[] = []; + collectionNames: string[] = []; + tabShowElementRules : string [][][]= []; + + @ViewChild(FileTreeComponent, {static: false}) fileTreeComponent: FileTreeComponent; + + + constructor(private sedaService:SedaService, private fileService: FileService, + private sideNavService: ToggleSidenavService, private toggleProfileService: PastisToogleButtonService, + private loaderService:NgxUiLoaderService) { + + this.nestedTreeControl = new NestedTreeControl<FileNode>(this.getChildren); + this.nestedDataSource = new MatTreeNestedDataSource(); + + this.tabLabels.push('PROFIL','ENTÊTE','RÈGLES','ARBORESCENCE','OBJETS'); + this.collectionNames = this.tabLabels.map(name=>name.charAt(0).toUpperCase() + name.slice(1).toLowerCase()); + this.rootNames.push('','ArchiveTransfer','ManagementMetadata','DescriptiveMetadata','DataObjectPackage'); + this.displayedRootNames.push('','Entête','Règles','Unités d\'archives','Objets'); + + // Children to include or exclude + this.profileTabChildrenToInclude.push(); + this.profileTabChildrenToExclude.push(); + this.headerTabChildrenToInclude.push(); + this.headerTabChildrenToExclude.push('DataObjectPackage','DataObjectGroup','DescriptiveMetadata','ManagementMetadata','id','BinaryDataObject'); + this.rulesTabChildrenToInclude.push(); + this.rulesTabChildrenToExclude.push(); + this.treeTabChildrenToInclude.push(); + this.treeTabChildrenToExclude.push(); + this.objectTabChildrenToInclude.push('BinaryDataObject','PhysicalDataObject') + this.objectTabChildrenToExclude.push('ManagementMetadata','ArchiveUnit','DescriptiveMetadata'); + this.tabShowElementRules.push( + [this.profileTabChildrenToInclude,this.profileTabChildrenToExclude], + [this.headerTabChildrenToInclude,this.headerTabChildrenToExclude], + [this.rulesTabChildrenToInclude,this.rulesTabChildrenToExclude], + [this.treeTabChildrenToInclude,this.treeTabChildrenToExclude], + [this.objectTabChildrenToInclude,this.objectTabChildrenToExclude]) + } + ngOnInit() { + this.activeTabIndex = 1; + this.isTabClicked(this.activeTabIndex) + this.fileService.setCollectionName(this.collectionNames[this.activeTabIndex]); + this.fileService.setTabRootMetadataName(this.rootNames[this.activeTabIndex]); + this.fileService.setNewChildrenRules(this.tabShowElementRules[1]) + this.fileService.getFileTreeFromApi().subscribe(response => { + if (response) { + this.nodeToSend = response[0]; + if (this.nodeToSend){ + this.fileService.allData.next(response); + let fiteredData = this.getFilteredData(this.activeTabIndex); + this.nestedDataSource.data = fiteredData; + this.nestedTreeControl.dataNodes = fiteredData; + this.nestedTreeControl.expand(fiteredData[0]); + this.dataChange.next(fiteredData); + this.fileService.filteredNode.next(fiteredData[0]); + } + console.log("Init file tree node on file tree : %o", this.dataChange.getValue()[0]); + } + }); + this.sedaService.getSedaRules().subscribe(data=>{ + this.sedaParentNode = data[0]; + }) + this.toggleProfileService.toggleButtonMode.subscribe(puaActivated=>{ + this.puaMode = puaActivated; + this.puaOn = "PUA"; + this.puaOff = "PA"; + }) + } + + isTabClicked(i: number): boolean { + return i === this.activeTabIndex; + } + + loadProfile(event: MatTabChangeEvent) { + this.activeTabIndex = event.index; + this.loadProfileData(event.index); + } + + loadProfileData(index:number) { + this.fileService.setCollectionName(this.collectionNames[this.activeTabIndex]) + this.fileService.setTabRootMetadataName(this.rootNames[this.activeTabIndex]); + console.log("On load tab for ", this.fileService.collectionName.getValue()); + let nodeToFilter = this.rootNames[index]; + let nodeToExpand = this.rootNames[index]; + this.fileService.setNewChildrenRules(this.tabShowElementRules[index]) + let fiteredData = this.getFilteredData(index); + if (fiteredData[0]) { + this.loaderService.start(); + this.fileService.nodeChange.next(fiteredData[0]); + this.nestedDataSource.data = fiteredData; + this.nestedTreeControl.dataNodes = fiteredData; + this.nestedTreeControl.expand(fiteredData[0]); + this.sedaService.selectedSedaNodeParent.next(this.sedaService.getSedaNodeRecursively(this.sedaParentNode,nodeToFilter)) + console.log("Root seda is ", this.sedaService.selectedSedaNodeParent.getValue()); + this.fileTreeComponent.sendNodeMetadata(fiteredData[0]); + } + this.loaderService.stop(); + + } + + getFilteredData(index:number):FileNode[]{ + if(this.nodeToSend) { + let nodeNameToFilter = this.rootNames[index]; + let currentNode = this.fileService.getFileNodeLocally(this.fileService.allData.getValue()[0],nodeNameToFilter); + let filteredData = []; + filteredData.push(currentNode); + return filteredData; + } + } + + getChildren = (node: FileNode) => node.children; + + + closeSideNav(){ + this.sideNavService.hide() + } + + canShowOnPuaMode(tabIndex:number){ + return this.puaMode ? tabIndex < 2 : true; + } + + ngOnDestroy() { + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.html b/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.html new file mode 100644 index 0000000000000000000000000000000000000000..1928b472faacdd16d2a1ad39d5a525ea76d6e996 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.html @@ -0,0 +1 @@ +<p>list-profile works!</p> diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.scss b/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..f848da4bcc71c6cf21ad0fa56b149796c677d73f --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ListProfileComponent } from './list-profile.component'; + +describe('ListProfileComponent', () => { + let component: ListProfileComponent; + let fixture: ComponentFixture<ListProfileComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ListProfileComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ListProfileComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.ts b/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..5260c073fbb22a9c96fbf5b6e712d317897a5103 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/list-profile/list-profile.component.ts @@ -0,0 +1,52 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'pastis-list-profile', + templateUrl: './list-profile.component.html', + styleUrls: ['./list-profile.component.scss'] +}) +export class ListProfileComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.html b/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.html new file mode 100644 index 0000000000000000000000000000000000000000..9df0576d77a48e799d6ee43749623f5a6949ff60 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.html @@ -0,0 +1 @@ +<p>profile works!</p> diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.scss b/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..6a302217feb2cb3a22ba99407b62e9f972e0abc9 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ProfileComponent } from './profile.component'; + +describe('ProfileComponent', () => { + let component: ProfileComponent; + let fixture: ComponentFixture<ProfileComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ ProfileComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(ProfileComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.ts b/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..1a337a1482c16b4102bd1ad78f06bb1f21af4e54 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/profile.component.ts @@ -0,0 +1,52 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'pastis-profile', + templateUrl: './profile.component.html', + styleUrls: ['./profile.component.scss'] +}) +export class ProfileComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/profile/profile.module.ts b/ui/ui-frontend/projects/pastis/src/app/profile/profile.module.ts new file mode 100644 index 0000000000000000000000000000000000000000..d8f0484b313960bfcbf79686a3f4b54cc9c84532 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/profile/profile.module.ts @@ -0,0 +1,71 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { CoreModule } from './../core/core.module' +import { SharedModule } from './../shared/shared.module' +import { FileTreeModule } from './../file-tree/file-tree.module' + + +import {MatIconModule} from '@angular/material/icon' +import {MatTabsModule} from '@angular/material/tabs' + + +import {CreateProfileComponent} from '../profile/create-profile/create-profile.component' +import {EditProfileComponent} from '../profile/edit-profile/edit-profile.component' +import {ListProfileComponent} from '../profile/list-profile/list-profile.component' +import { ProfileComponent } from './profile.component'; +import { PastisMaterialModule } from '../material.module'; + + +@NgModule({ + imports: [ + CommonModule, + CoreModule, + MatIconModule, + MatTabsModule, + SharedModule, + FileTreeModule, + PastisMaterialModule + ], + exports: [CreateProfileComponent,EditProfileComponent,ListProfileComponent], + providers:[], + declarations: [ProfileComponent,CreateProfileComponent,EditProfileComponent,ListProfileComponent], + +}) +export class ProfileModule { } diff --git a/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.html b/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.html new file mode 100644 index 0000000000000000000000000000000000000000..ae6397ba478834c830525aa40438bd29f2e9c2fb --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.html @@ -0,0 +1,11 @@ + <div style="margin-bottom: -35px;"> + <p style="text-align: center;color: #adb7bd; + font-family: 'Lucida Sans', Arial, sans-serif; + font-size: 36px; line-height: 26px; margin-top:10px;margin-bottom: 5px;">Pastis Seda Visualizer</p> + <div style="text-align: center; margin-top:0px"> + <svg id="seda_legend" height=80 width=420></svg> + </div> + + </div> + + <!-- Create a div where the graph will take place --> diff --git a/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.scss b/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..137800b78983a6616a62f6f2330e0c85fa811e52 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.scss @@ -0,0 +1,9 @@ +body, html { + padding: 0; + background-color: white; + +} + +.container{ + width: 100vw; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..f45b28b8a856434cf7aa9c541fc409a85e27b818 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SedaVisualizerComponent } from './seda-visualizer.component'; + +describe('SedaVisualizerComponent', () => { + let component: SedaVisualizerComponent; + let fixture: ComponentFixture<SedaVisualizerComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ SedaVisualizerComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(SedaVisualizerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.ts b/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..7e60acfd7c1cb4956dfac423b8415a1a8a0b5b65 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/seda-visualizer/seda-visualizer.component.ts @@ -0,0 +1,295 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit, ViewChild, ElementRef } from '@angular/core'; +import { SedaData } from '../file-tree/classes/seda-data'; +import { PastisApiService } from '../core'; +let d3 = require('d3'); + + +@Component({ + selector: 'pastis-seda-visualizer', + templateUrl: './seda-visualizer.component.html', + styleUrls: ['./seda-visualizer.component.scss'] +}) +export class SedaVisualizerComponent implements OnInit { + + @ViewChild('myDiv',{static:true}) myDiv: ElementRef; + + sedaData:SedaData; + + private getSedaUrl = './assets/seda_lower.json'; + + constructor(private pastisService: PastisApiService) { + } + + ngOnInit() { + this.pastisService.getLocally(this.getSedaUrl).subscribe(sedaRules=> { + this.sedaData = sedaRules + + let margin = { + top: 20, right: 120, bottom: 0, left: 120 + }; + let width = 1800 - margin.right - margin.left; + let height = 850 - margin.top - margin.bottom; + + let i = 0,duration = 550; + + let root:any; + + var tree = d3.layout.tree() + .size([height, width]); + + var diagonal = d3.svg.diagonal() + .projection(function(d:any) { return [d.y, d.x]; }); + + var svg = d3.select("div").append("svg") + .attr("width", width + margin.right + margin.left) + .attr("height", height + margin.top + margin.bottom) + .append("g") + .attr("transform", "translate(" + margin.left + "," + margin.top + ")"); + + + root = this.sedaData[0]; + root.x0 = height / 2; + root.y0 = 0; + update(root); + + d3.select(self.frameElement).style("height", "500px"); + + function update(source:any) { + + // Compute the new tree layout. + var nodes = tree.nodes(root); + var links = tree.links(nodes); + + + // Normalize for fixed-depth. + nodes.forEach(function(d:any) { d.y = d.depth * 230; }); + + // Update the nodes… + var node = svg.selectAll("g.node") + .data(nodes, function(d:any) { return d.id || (d.id = ++i); }) + + // Enter any new nodes at the parent's previous position. + var nodeEnter = node.enter().append("g") + .attr("class", "node") + .attr("text", "A") + .attr("transform", function() { return "translate(" + source.y0 + "," + source.x0 + ")"; }) + .style("cursor","pointer") + .on("click", click). + on("mouseover", function(d:any) { + var g = d3.select(this); // The node + // The class is used to remove the additional text later + g.append('text') + .classed('info', true) + .attr('x', 20) + .attr('y', -10) + .text(d.Definition) + .style("font",'12px sans-serif') + .style("font-style",'italic'); + }) + .on("mouseout", function() { + // Remove the info text on mouse out. + d3.select(this).select('text.info').remove() + }); + + //Adda circle instead of a image + nodeEnter.append("circle") + .attr("r", 1e-6) + .style("stroke", "#604379") + .style("stroke-width", "2px") + .style("fill", function(d:any) { return d.children ? "#604379" : "#fff"; }); + + + /* Add image instead of a circle + nodeEnter.append("image") + .attr("xlink:href", function(d) { + if (d.Element === 'Simple') return "./assets/svg/icons/simple_icon.png"; + if (d.Element === 'Complex') return "./assets/svg/icons/complex_icon.png"; + if (d.Element === 'Attribute') return "./assets/svg/icons/attribute_icon.png"; }) + .attr("x", "-12px") + .attr("y", "-12px") + .attr("width", "24px") + .attr("height", "24px") + .attr("background-color", ); + */ + + + nodeEnter.append("text") + .attr("x", function(d:any) { return d.children || d._children ? -16 : 13; }) + .attr("dy", ".35em") + .attr("text-anchor", function(d:any) { return d.children || d._children ? "end" : "start"; }) + .text(function(d:any) { return d.Name; }) + .style("fill-opacity", 1e-6) + .style("font",'12px sans-serif') + .style("font-weight",'bold'); + + + // Letters inside circle + nodeEnter.append("text") + .attr("x", function(d:any) { return d.children || d._children ? 4 : -4; }) + .attr("text-anchor", function(d:any) { return d.children || d._children ? "end" : "start"; }) + .attr("dy", ".35em") + .attr("stroke","#65B2E4") + .attr("stroke-width","1px") + .text(function(d:any) { + if (d.Element === 'Simple') return "S"; + if (d.Element === 'Complex') return "C"; + if (d.Element === 'Attribute') return "A"; }) + .style("fill-opacity", 1e-6) + .style("font",'12px sans-serif'); + + // Transition nodes to their new position. + var nodeUpdate = node.transition() + .duration(duration) + .attr("transform", function(d:any) { return "translate(" + d.y + "," + d.x + ")"; }); + + nodeUpdate.select("circle") + .attr("r", 12) + .style("fill", function(d:any) { return d.children ? "#604379" : "#fff"; }) + + nodeUpdate.select("text") + .style("fill-opacity", 1); + + // Transition exiting nodes to the parent's new position. + var nodeExit = node.exit().transition() + .duration(duration) + .attr("transform", function() { return "translate(" + source.y + "," + source.x + ")"; }) + .remove(); + + nodeExit.select("circle") + .attr("r", 1e-6) + + nodeExit.select("text") + .style("fill-opacity", 1e-6); + + // Update the links… + var link = svg.selectAll("path.link") + .data(links, function(d:any) { return d.target.id; }); + + + // Enter any new links at the parent's previous position. + link.enter().insert("path", "g") + .style("fill","none") + .style("stroke",function (d:any) { + if (d.target.cardinality === "1-N") return "#2A9DF4"; + if (d.target.cardinality === "1") return "#1167B1"; + if (d.target.cardinality === "0-1") return "#555555"; + if (d.target.cardinality === "0-N") return "#adb7bd"; + else return "black"} + ) + .style("stroke-width","2.5px") + .attr("class", "link") + .attr("d", function() { + var o = {x: source.x0, y: source.y0}; + return diagonal({source: o, target: o}); + }); + + // Transition links to their new position. + link.transition() + .duration(duration) + .attr("d", diagonal); + + // Transition exiting nodes to the parent's new position. + link.exit().transition() + .duration(duration) + .attr("d", function() { + var o = {x: source.x, y: source.y}; + return diagonal({source: o, target: o}); + }) + .remove(); + + //Legend + // select the svg area + var svg_legend = d3.select("#seda_legend") + // Nodes + svg_legend.append("circle").attr("cx",20).attr("cy",30).attr("r", 6).attr("r", 12).style("stroke", "#604379").style("stroke-width", "2px").style("fill","#fff" ) + svg_legend.append("text").attr("x","15").attr("dy", "35").attr("stroke","#65B2E4").text("C").style("fill-opacity", 1e-6).style("font",'12px sans-serif'); + //Simple element circle and text + svg_legend.append("circle").attr("cx",180).attr("cy",30).attr("r", 6).attr("r", 12).style("stroke", "#604379").style("stroke-width", "2px").style("fill","#fff" ) + svg_legend.append("text").attr("x","176").attr("dy", "35").attr("stroke","#65B2E4").text("S").style("fill-opacity", 1e-6).style("font",'12px sans-serif'); + //Attribute circle and text + svg_legend.append("circle").attr("cx",330).attr("cy",30).attr("r", 6).attr("r", 12).style("stroke", "#604379").style("stroke-width", "2px").style("fill","#fff" ) + svg_legend.append("text").attr("x","326").attr("dy", "35").attr("stroke","#65B2E4").text("A").style("fill-opacity", 1e-6).style("font",'12px sans-serif'); + + // Cardinalities + // 1 + svg_legend.append("line").attr("x1", 50).attr("y1", 70).attr("x2", 90).attr("y2", 70).style("stroke","#1167B1").style("stroke-width","2.5"); + svg_legend.append("text").attr("x","100").attr("dy", "70").text("1").style("font-size", "15px").attr("alignment-baseline","middle") + // 1-N + svg_legend.append("line").attr("x1", 140).attr("y1", 70).attr("x2", 180).attr("y2", 70).style("stroke","#2A9DF4").style("stroke-width","2.5"); + svg_legend.append("text").attr("x","190").attr("dy", "70").text("1-N").style("font-size", "15px").attr("alignment-baseline","middle") + + svg_legend.append("line").attr("x1", 230).attr("y1", 70).attr("x2", 270).attr("y2", 70).style("stroke","#555555").style("stroke-width","2.5"); + svg_legend.append("text").attr("x","280").attr("dy", "70").text("0-1").style("font-size", "15px").attr("alignment-baseline","middle") + + svg_legend.append("line").attr("x1", 310).attr("y1", 70).attr("x2", 350).attr("y2", 70).style("stroke","#adb7bd").style("stroke-width","2.5"); + svg_legend.append("text").attr("x","360").attr("dy", "70").text("0-N").style("font-size", "15px").attr("alignment-baseline","middle") + + //Legend text + //Nodes + svg_legend.append("text").attr("x", 40).attr("y", 30).text("Complex Element").style("font-size", "15px").attr("alignment-baseline","middle") + svg_legend.append("text").attr("x", 200).attr("y", 30).text("Simple Element").style("font-size", "15px").attr("alignment-baseline","middle") + svg_legend.append("text").attr("x", 350).attr("y", 30).text("Attribute").style("font-size", "15px").attr("alignment-baseline","middle") + + //Cardinalities + + // Stash the old positions for transition. + nodes.forEach(function(d:any) { + d.x0 = d.x; + d.y0 = d.y; + }); + } + + // Toggle Children on click. + function click(d:any) { + if (d.children) { + d._children = d.children; + d.children = null; + } else { + d.children = d._children; + d._children = null; + } + update(d); + } + + }) + } + + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/classes/pastis-dialog-data.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/classes/pastis-dialog-data.ts new file mode 100644 index 0000000000000000000000000000000000000000..1c986c98aaafec7a02fec7850c019647016ce6ac --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/classes/pastis-dialog-data.ts @@ -0,0 +1,52 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { SedaData } from "../../../file-tree/classes/seda-data"; +import { FileNode } from "../../../file-tree/classes/file-node"; +import { ComponentType } from '@angular/cdk/portal'; + +export interface PastisDialogData { + width: string; + height: string; + titleDialog: string; + subTitleDialog: string; + okLabel:string; + cancelLabel:string; + fileNode: FileNode; + disableBtnOuiOnInit:boolean; + component: ComponentType<any>; + } diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.html b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.html new file mode 100644 index 0000000000000000000000000000000000000000..944a442f13eae8e0fde10004294e55b0442ebb63 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.html @@ -0,0 +1,29 @@ + + +<!-- Pastis dialog title qnd subtitle--> +<h2 matDialogTitle class="pastis-dialog-config-title"> + <div class="barre-et-croix"> + <mat-divider class="pastis-dialog-confirm-divider"></mat-divider> + <mat-icon class="pastis-close-popup" mat-dialog-close svgIcon="close-popup" (click)="onNoClick()"></mat-icon> + </div> + <p class="pastis-dialog-subtitle"><b>{{dialogReceivedData.subTitleDialog}}</b></p> + <P class="pastis-dialog-title">{{dialogReceivedData.titleDialog}}</P> +</h2> +<!-- Pastis dialog dynamic content--> +<mat-dialog-content *ngIf="portal" style="overflow: hidden;"> + <p class="pastis-dialog-content"> + <ng-template #dialogContent [cdkPortalOutlet]="portal"></ng-template> + </p> +</mat-dialog-content> + +<!-- Pastis defaut dialog buttons--> + <mat-dialog-actions class="pastis-dialog-confirm-buttons" align="right"> + <button class="pastis-btn-oui-dialog-confirm" + [mat-dialog-close]="dataBeforeClose" + (click)="onYesClick()" + [disabled]="btnYesShouldBeDisabled">{{dialogReceivedData.okLabel}} + </button> + <button class="pastis-btn-non-dialog-confirm" + (click)="onNoClick()">{{dialogReceivedData.cancelLabel}} + </button> + </mat-dialog-actions> diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.scss b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..5527d198ad4ecba0c13f88502ed0f2a4b36c9743 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.scss @@ -0,0 +1,95 @@ +@import '../../../../assets/css/mixins'; +@import '../../../../assets/css/font'; + +.pastis-dialog-confirm{ + border-radius: 20px; + background-color: white; +} +.pastis-dialog-confirm-divider { + position: relative; + max-width: 90%; + margin-left: 5%; + //margin-right: 40px; + margin-top: 37px; + height: 3px; + border-radius: 20px; + border: none; + @extend .pastis-bg-primary-300; +} + +.pastis-dialog-title{ + // see _fonts.scss + @extend .pastis-font-popup-title; + /* Positioning */ + position: relative; + margin-left: 5%; + margin-right: 40px; + margin-top: 10px; +} + +.pastis-dialog-subtitle { + // see _fonts.scss + @extend .pastis-font-popup-subtitle; + /* Positioning */ + position: relative; + margin-left: 5%; + margin-right: 40px; + margin-bottom: 0px; + +} + +.pastis-dialog-content{ + margin-right: 5%; + margin-left: 5%; + overflow: hidden; + } + +.pastis-dialog-confirm-buttons{ + position: relative; + margin-left: 5%; + margin-bottom: 10px; + +} + +.pastis-btn-oui-dialog-confirm{ + padding-left: 30px; + padding-right: 30px; + min-width: 92px; + height: 50px; + @extend .pastis-btn-primary-enabled; +} +.pastis-btn-oui-dialog-confirm:hover:not([disabled]){ + @extend .pastis-btn-primary-hover; +} +.pastis-btn-oui-dialog-confirm:active{ + @extend .pastis-btn-primary-focus; +} +.pastis-btn-oui-dialog-confirm:disabled{ + @extend .pastis-btn-primary-disabled; +} +.pastis-btn-non-dialog-confirm{ + padding-left: 30px; + padding-right: 30px; + min-width: 92px; + height: 50px; + margin-left: 24px; + @extend .pastis-btn-variant-enabled; +} +.pastis-btn-non-dialog-confirm:hover{ + @extend .pastis-btn-variant-hover; +} +.pastis-btn-non-dialog-confirm:active{ + @extend .pastis-btn-variant-focus; +} + +.pastis-close-popup{ + text-align: right; + margin-top: -13px; + margin-right: -3%; + float:right; +} + +.barre-et-croix{ + max-width: 95%; + cursor: pointer; +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..07e1bfc048e12d1e11754895d6526d2b02c690f9 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PastisDialogConfirmComponent } from './pastis-dialog-confirm.component'; + +describe('PastisDialogConfirmComponent', () => { + let component: PastisDialogConfirmComponent; + let fixture: ComponentFixture<PastisDialogConfirmComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PastisDialogConfirmComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PastisDialogConfirmComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..fbbf7245d0ce71b5e0af6a7126591f111747109a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component.ts @@ -0,0 +1,105 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit, Inject, Output, EventEmitter, Input, ViewChild, TemplateRef } from '@angular/core'; +import { PastisDialogData } from '../classes/pastis-dialog-data'; +import { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from '@angular/material'; +import { SedaService } from '../../../core/services/seda.service'; +import { ComponentPortal } from '@angular/cdk/portal'; +import { PopupService } from '../../appcore/services/popup.service'; + +@Component({ + selector: 'pastis-pastis-dialog-confirm', + templateUrl: './pastis-dialog-confirm.component.html', + styleUrls: ['./pastis-dialog-confirm.component.scss'] +}) +export class PastisDialogConfirmComponent implements OnInit { + + portal: ComponentPortal<any>; + + dataBeforeClose:any; + + btnYesShouldBeDisabled:boolean ; + + constructor( + public dialogConfirmRef: MatDialogRef<PastisDialogConfirmComponent>, + @Inject(MAT_DIALOG_DATA) public dialogReceivedData: PastisDialogData, + public sedaService: SedaService, private popUpService:PopupService) { + } + + + ngOnInit() { + console.log("Data received on confirm dialog : %o", this.dialogReceivedData); + if (this.dialogReceivedData.component){ + this.portal = new ComponentPortal(this.dialogReceivedData.component); + this.popUpService.setPopUpDataOnOpen(this.dialogReceivedData); + } + if (!this.dialogReceivedData.okLabel) this.dialogReceivedData.okLabel = 'Oui' + if (!this.dialogReceivedData.cancelLabel) this.dialogReceivedData.cancelLabel = 'Non' + + this.popUpService.popUpDataBeforeClose.subscribe(data=>{ + this.dataBeforeClose = data; + }) + this.popUpService.btnYesShoudBeDisabled.subscribe(shouldDisableButton=>{ + this.btnYesShouldBeDisabled = shouldDisableButton; + }) + this.popUpService.btnYesShoudBeDisabled.next(this.dialogReceivedData.disableBtnOuiOnInit) + + } + + onNoClick(): void { + console.log("Clicked no "); + this.popUpService.btnYesShoudBeDisabled.next(false) + this.dialogConfirmRef.close(); + } + + onYesClick(): void { + console.log("Clicked ok on dialog and send data : %o", this.dataBeforeClose); + } + + getToolTipData(data) { + if (data && data.length) { + return data.nodeName + } + } + + ngOnDestroy() { + + } + + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner-interceptor.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner-interceptor.ts new file mode 100644 index 0000000000000000000000000000000000000000..4751ded664820eee141459e2874b7368a56df45f --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner-interceptor.ts @@ -0,0 +1,87 @@ +import { Injectable, Injector } from '@angular/core'; +import { + HttpEvent, + HttpRequest, + HttpHandler, + HttpInterceptor, + HttpErrorResponse, + HttpResponse, + HttpHeaders +} from '@angular/common/http'; +import { Observable, of } from 'rxjs'; +import { finalize, catchError, tap } from 'rxjs/operators'; +import { ToastrService } from 'ngx-toastr'; +import { NotificationService } from '../../core/services/notification.service'; +import { NgxUiLoaderService } from 'ngx-ui-loader'; +import { FileService } from '../../appcore/services/file.service'; +import { SedaService } from '../../appcore/services/seda.service'; + +@Injectable({ + providedIn: 'root' +}) +export class PastisSpinnerInterceptor implements HttpInterceptor { + + count = 0; + isSedaLoaded:boolean; + + constructor(public ngxService:NgxUiLoaderService, + public notificationService: NotificationService, + public toasterService: ToastrService) { } + + intercept(req: HttpRequest<FileService | SedaService>, next: HttpHandler): Observable<HttpEvent<any>> { + + setTimeout(() => { + if (this.count < 0) return next.handle(req); + this.ngxService.start(); + this.count++; + }, 10); + + + return next.handle(req).pipe( + tap(evt => { + if (evt instanceof HttpResponse && new RegExp('createprofile').test(req.url)) { + if (evt.body) { + console.log('Inside loaderInterceptor on url : ', req.url ); + this.notificationService.showSuccess('Les données RNG ont été chargées avec succès' ); + } + } + if (evt instanceof HttpResponse && new RegExp('seda').test(req.url)) { + if (evt.body && !this.isSedaLoaded) { + console.log('Inside loaderInterceptor on url : ', req.url ); + this.notificationService.showSuccess('Les données SEDA ont été chargées avec succès'); + this.isSedaLoaded = true; + } + } + if (evt instanceof HttpResponse && new RegExp('updateprofile').test(req.url)) { + if (evt.body) { + console.log('Inside loaderInterceptor on url : ', req.url ); + this.notificationService.showSuccess('Le fichier RNG a été généré avec succès'); + } + } + }), + finalize(() => { + this.count --; + if (this.count === 0 ) this.ngxService.stop(); + }), + catchError((error: any) => { + if (error instanceof HttpErrorResponse) { + try { + this.handleError(error); + } catch (error) { + this.handleError(error); + } + //log error + } + return of(error); + })); + + } + + + handleError(error: HttpErrorResponse) { + if (new RegExp('createprofile').test(error.url)) this.notificationService.showError('Échec lors du chargement du fichier RNG'); + if (new RegExp('seda').test(error.url)) this.notificationService.showError('Échec lors du chargement des données SEDA'); + if (new RegExp('updateprofile').test(error.url)) this.notificationService.showError('Échec lors de la géneration du fichier RNG'); + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.css b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.css new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.html b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.html new file mode 100644 index 0000000000000000000000000000000000000000..a5a6468e389e4b9408586cb614e16c0127ad11a6 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.html @@ -0,0 +1,10 @@ +<!--<div *ngIf="isLoading | async" class="overlay"> + <mat-spinner [color]="color" [mode]="mode" [value]="value"></mat-spinner> +</div>--> +<img style="width: 100px; height: 100px" src="../../../assets/pastis7.png"/> +<div class="loader" *ngIf="isLoading | async"> + <div class="box"></div> + <div class="box"></div> + <div class="box"></div> + <div class="box"></div> +</div> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.scss b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..7fc2869e55469e90aa1d46ce1fe6b8b2c62473a3 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.scss @@ -0,0 +1,89 @@ +$size : 30px; +$yellow_light : rgb(123, 134, 226); +$yellow : rgb(25, 46, 235); +$yellow_dark : rgb(20, 51, 150); +$duration : 4s; + +html, body { height: 100%; } +body { + display: flex; + justify-content: center; + align-items: center; + background: + radial-gradient( + + #333, + #000 + ); + transform: translateY(-$size*1.5); +} + +.transparent .mat-dialog-container { + box-shadow: none; + background: rgba(0, 0, 0, 0.9); +} + +@mixin psuedo { + display: block; + content: ""; +} + +.loader { + display: inline-flex; + flex-wrap: wrap; + width: $size * 3; + height: $size * 3; + transform-style: preserve-3d; + transform: rotateX(45deg) rotate(45deg); +} + + +.box { + position: absolute; + top: 0; + left: 0; + width: $size; + height: $size; + background: $yellow_light; + box-shadow: $size*3.75 $size*3.75 20px #000; + animation: move $duration ease-in-out infinite both; + transform-style: preserve-3d; + + @for $i from 1 through 3 { + &:nth-child(#{$i}) { + animation-delay: $i/4 * -$duration; + } + } + + &:before, &:after { + @include psuedo; + position: absolute; + width: $size; + height: $size; + } + &:before { + top: 100%; + left: 0; + background: $yellow; + transform-origin: center top; + transform: rotateX(-90deg); + } + &:after { + top: 0; + left: 100%; + background: $yellow_dark; + transform-origin: center left; + transform: rotateY(90deg); + } +} + +@keyframes move { + 0%, 100% { transform: none; } + 12.5% { transform: translate($size, 0); } + 25% { transform: translate($size*2, 0); } + 37.5% { transform: translate($size*2, $size); } + 50% { transform: translate($size*2, $size*2); } + 62.5% { transform: translate($size, $size*2); } + 75% { transform: translate(0, $size*2); } + 87.5% { transform: translate(0, $size); } +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..81072b6819e25bf46d8b651dcb5e3bd539140c5c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PastisSpinnerComponent } from './pastis-spinner.component'; + +describe('PastisSpinnerComponent', () => { + let component: PastisSpinnerComponent; + let fixture: ComponentFixture<PastisSpinnerComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PastisSpinnerComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PastisSpinnerComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..4b23a0cd9dab8fef273329dc47d93a90ff448030 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-spinner/pastis-spinner.component.ts @@ -0,0 +1,64 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit, Input, Output, OnDestroy } from '@angular/core'; +import { Subject, BehaviorSubject } from 'rxjs'; + +@Component({ + selector: 'pastis-pastis-spinner', + templateUrl: './pastis-spinner.component.html', + styleUrls: ['./pastis-spinner.component.scss'] +}) + +export class PastisSpinnerComponent implements OnDestroy{ + + isLoading = new BehaviorSubject<boolean>(false); + + + + @Input() + color: string = 'accent'; + mode = 'indeterminate'; + //@Input() + value = 20; + + constructor(){ } + + ngOnDestroy(): void { + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.html b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.html new file mode 100644 index 0000000000000000000000000000000000000000..b5aa65d568713ec0308f9e1c926fcea7c82d6922 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.html @@ -0,0 +1,22 @@ +<!-- <label class="switch" *ngIf="status; else puaOff"> + <input type="checkbox" checked (change)="checkToggle($event)"> + <div> + <span>{{profileType}}</span> + </div> + </label> + +<ng-template #puaOff> + <label class="switch"> + <input type="checkbox" (change)="checkToggle($event)"> + <div> + <span>{{profileType}}</span> + </div> + </label> +</ng-template> +--> + +<div class="button b2" id="button-16" style="top:20px"> + <input type="checkbox" class="checkbox" (change)="checkToggle($event)"> + <div class="knobs" [attr.text-on]=nameOn [attr.text-off]=nameOff></div> + <div class="layer"></div> +</div> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.scss b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..b29e9ae21441fc87641ae258756a99edf0586076 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.scss @@ -0,0 +1,176 @@ + +// Third +/* CSS rules are kept repetitive so that you can get CSS rules for each button easily :) */ + +* +{ + user-select: none; + -webkit-tap-highlight-color:transparent; +} + +*:focus +{ + outline: none; +} + +body +{ + font-family: Arial, Helvetica, sans-serif; + margin: 0; + background-color: #f1f9f9; +} + +#app-cover +{ + display: table; + width: 600px; + margin: 80px auto; + counter-reset: button-counter; +} + +.row +{ + display: table-row; +} + +.toggle-button-cover +{ + display: table-cell; + position: relative; + width: 200px; + height: 140px; + box-sizing: border-box; +} + +.button-cover +{ + height: 100px; + margin: 20px; + background-color: #fff; + box-shadow: 0 10px 20px -8px #c5d6d6; + border-radius: 4px; +} + +.button-cover:before +{ + counter-increment: button-counter; + content: counter(button-counter); + position: absolute; + right: 0; + bottom: 0; + color: #d7e3e3; + font-size: 12px; + line-height: 1; + padding: 5px; +} + +.button-cover, .knobs, .layer +{ + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; +} + +.button +{ + position: relative; + top: 50%; + width: 74px; + height: 36px; + margin: -20px auto 0 auto; + overflow: hidden; +} + +.button.r, .button.r .layer +{ + border-radius: 100px; +} + +.button.b2 +{ + border-radius: 50px; +} + +.checkbox +{ + position: relative; + width: 100%; + height: 100%; + padding: 0; + margin: 0; + opacity: 0; + cursor: pointer; + z-index: 3; +} + +.knobs +{ + z-index: 2; +} + +.layer +{ + width: 100%; + background-color: #ebf7fc; + transition: 0.3s ease all; + z-index: 1; +} + +/* Button 16 */ +#button-16 .knobs:before +{ + content: attr(text-off); + position: absolute; + top: 4px; + left: 4px; + width: 20px; + height: 10px; + color: #fff; + font-size: 10px; + font-weight: bold; + text-align: center; + line-height: 1; + padding: 9px 4px; + background-color: #03A9F4; + border-radius: 50px; + transition: 0.3s ease all, left 0.3s cubic-bezier(0.18, 0.89, 0.35, 1.15); +} + +#button-16 .checkbox:active + .knobs:before +{ + width: 46px; +} + +#button-16 .checkbox:checked:active + .knobs:before +{ + margin-left: -26px; +} + +#button-16 .checkbox:checked + .knobs:before +{ + content: attr(text-on); + left: 42px; + background-color: #F44336; +} + +#button-16 .checkbox:checked ~ .layer +{ + background-color: #fcebeb; +} + +#ytd-url { + display: block; + position: fixed; + right: 0; + bottom: 0; + padding: 10px 14px; + margin: 20px; + color: #fff; + font-size: 14px; + text-decoration: none; + background-color: #143240; + border-radius: 4px; + box-shadow: 0 10px 20px -5px rgba(20, 50, 64, 0.76); +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..9b214dc169c3c9b4df667ae4f54f8f219a8ebc34 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PastisToggleButtonComponent } from './pastis-toggle-button.component'; + +describe('PastisToggleButtonComponent', () => { + let component: PastisToggleButtonComponent; + let fixture: ComponentFixture<PastisToggleButtonComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PastisToggleButtonComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PastisToggleButtonComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..72743e6af332af4d49b967d38000733952cbcda6 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/pastis-toggle-button.component.ts @@ -0,0 +1,29 @@ +import { Component, Input, OnInit } from '@angular/core'; +import { PastisToogleButtonService } from './services/pastis-toogle-button.service'; + +@Component({ + selector: 'pastis-toggle-button', + templateUrl: './pastis-toggle-button.component.html', + styleUrls: ['./pastis-toggle-button.component.scss'] +}) +export class PastisToggleButtonComponent implements OnInit { + + @Input() nameOn:string; + @Input() nameOff:string; + + status:boolean + profileType:string; + constructor(private toogleService : PastisToogleButtonService) { } + + ngOnInit() { + this.toogleService.toggleButtonMode.subscribe(mode=>{ + this.status = mode; + }) + } + + checkToggle(event) { + event.target.checked ? this.toogleService.tooggleOn() : this.toogleService.tooggleOff(); + } + + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/services/pastis-toogle-button.service.spec.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/services/pastis-toogle-button.service.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..a5261e859537501681c39037e7642a39ced8885d --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/services/pastis-toogle-button.service.spec.ts @@ -0,0 +1,12 @@ +import { TestBed } from '@angular/core/testing'; + +import { PastisToogleButtonService } from './pastis-toogle-button.service'; + +describe('PastisToogleButtonService', () => { + beforeEach(() => TestBed.configureTestingModule({})); + + it('should be created', () => { + const service: PastisToogleButtonService = TestBed.get(PastisToogleButtonService); + expect(service).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/services/pastis-toogle-button.service.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/services/pastis-toogle-button.service.ts new file mode 100644 index 0000000000000000000000000000000000000000..2bd28bffa8da9d8eb0c28e87352cf0917a49eb45 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-toggle-button/services/pastis-toogle-button.service.ts @@ -0,0 +1,20 @@ +import { Injectable } from '@angular/core'; +import { BehaviorSubject } from 'rxjs'; + +@Injectable({ + providedIn: 'root' +}) +export class PastisToogleButtonService { + + toggleButtonMode = new BehaviorSubject<boolean>(false); + constructor() { } + + tooggleOn(){ + this.toggleButtonMode.next(true); + } + + tooggleOff(){ + this.toggleButtonMode.next(false); + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.html b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.html new file mode 100644 index 0000000000000000000000000000000000000000..6256c176b4319b8385baca56906c2b38dd28e203 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.html @@ -0,0 +1,11 @@ +<img src="../../../assets/pastis-marseille.jpg" class="image"> +<article> + <h1>On y est presque...</h1> + <div> + <p style="text-align: justify; margin: 10px;">Nous sommes desolé pour l'inconvenience. + Nous travaillons pour améliorer la visualisation de cette page. + Si besoin, vous pouvez toujours <a href="mailto:dad_dev@cines.fr">nous contacter</a></p> + <br/><br/> + <p style="text-align: justify; margin: 10px;" >L'équipe PASTIS</p> + </div> +</article> diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.scss b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..ba84077ae289c50c03fec1611f9a94fbef338ab3 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.scss @@ -0,0 +1,32 @@ +body { + text-align: center; +} +.image { + display: block; + margin-left: auto; + margin-right: auto; + width: 200px; + height: 200px; + border-radius: 50%; + +} +h1 { + font-size: 40px; + text-align: center; +} +body { + font: 20px Helvetica, sans-serif; color: #333; + background: cornsilk; + +} +article { + display: block; + text-align: left; + margin: 0 auto; +} +a { + color: #dc8100; text-decoration: none; +} +a:hover { + color: #333; text-decoration: none; +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..afcaa47f65982bc7147a6c1def8bd31e869496a7 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PastisUnderConstructionComponent } from './pastis-under-construction.component'; + +describe('PastisUnderConstructionComponent', () => { + let component: PastisUnderConstructionComponent; + let fixture: ComponentFixture<PastisUnderConstructionComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PastisUnderConstructionComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PastisUnderConstructionComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.ts b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..3e64601ce0e7b4ee7e1fe49e3c00695f9603e5cb --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/pastis-under-construction/pastis-under-construction.component.ts @@ -0,0 +1,52 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'pastis-pastis-under-construction', + templateUrl: './pastis-under-construction.component.html', + styleUrls: ['./pastis-under-construction.component.scss'] +}) +export class PastisUnderConstructionComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/shared/shared.module.ts b/ui/ui-frontend/projects/pastis/src/app/shared/shared.module.ts new file mode 100644 index 0000000000000000000000000000000000000000..2813ee0cd340bd7775f7ea00a03230eda34dd68b --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/shared/shared.module.ts @@ -0,0 +1,72 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FormsModule } from '@angular/forms'; +import { TooltipModule } from 'ng2-tooltip-directive'; +import { PastisMaterialModule} from '../material.module' + +import { PastisSpinnerComponent } from './pastis-spinner/pastis-spinner.component'; +import { PastisUnderConstructionComponent } from './pastis-under-construction/pastis-under-construction.component'; +import { PastisDialogConfirmComponent } from './pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component'; +import { PastisToggleButtonComponent } from './pastis-toggle-button/pastis-toggle-button.component'; + + +@NgModule({ + declarations: [ + PastisSpinnerComponent, + PastisUnderConstructionComponent, + PastisToggleButtonComponent, + ], + imports: [CommonModule, + FormsModule, + TooltipModule, + PastisMaterialModule + +], + entryComponents: [PastisDialogConfirmComponent,PastisUnderConstructionComponent], + schemas:[CUSTOM_ELEMENTS_SCHEMA], + exports: [ + PastisSpinnerComponent, + PastisUnderConstructionComponent, + TooltipModule, + PastisMaterialModule, + PastisToggleButtonComponent + ], +}) +export class SharedModule {} diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-add-metadata/user-action-add-metadata.component.html b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-add-metadata/user-action-add-metadata.component.html new file mode 100644 index 0000000000000000000000000000000000000000..74c2cea75bf77bfcc4c9d4bdb04a939ae4596b52 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-add-metadata/user-action-add-metadata.component.html @@ -0,0 +1,52 @@ +<div> + <!-- The input search --> + <div style="margin-bottom: 20px;"> + <input [(ngModel)]="filterName" placeholder="Chercher le nom de la métadonnée" class="filter-input-text"> + </div> + + <!-- The selected items --> + <div *ngIf="addedItems?.length > 0" style="text-align:justify"> + <div style="display: inline-flex" *ngFor="let item of addedItems;let i =index"> + <div class="selected-items-box"> + <span> + <mat-icon *ngIf="isElementComplex(item)" + svgIcon="complex-element-white2" + style="vertical-align: middle;"> + </mat-icon> + <span class="item-text">{{item}}</span> + </span> + <span class="selected-items-close" (click)="onRemoveSelectedElement(item)">×</span> + </div> + </div> + </div> + + <!-- The list of items to be selected--> + <mat-list *ngIf="allowedChildren?.length; else noItemsLeftToAdd" > + <p class="paragraph-metadata-subtitle" + [ngStyle]="{'margin-top': atLeastOneIsSelected ? '40px' : '0px'}">Les métadonnées à ajouter</p> + <mat-selection-list [disableRipple]="true" [ngModel]="addedItems" + (ngModelChange)="selectSedaElement($event)" class="list-box"> + <mat-list *ngFor="let elementName of allowedChildrenNames | filterByName:filterName;" + class="list-item"> + <span class="list-box-content"> + <mat-icon *ngIf="isElementComplex(elementName)" + svgIcon="complex-element-white2" + class="pastis-ico-complex-element"> + </mat-icon> + <span + tooltip={{getDefinition(elementName)}} + placement="right" + show-delay="0" + tooltip-class="pastis-tooltip-class">{{elementName}}</span> + </span> + <span class="ajouter" (click)="onAddSelectedElement(elementName)">Ajouter</span> + + </mat-list> + </mat-selection-list> + </mat-list> + + <ng-template #noItemsLeftToAdd> + <p class="paragraph-metadata-subtitle" style="margin-top: 40px;">Il n'y a plus de métadonnées à ajouter</p> + </ng-template> + +</div> diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-add-metadata/user-action-add-metadata.component.scss b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-add-metadata/user-action-add-metadata.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..8e17710de55947be587316868e1d9c21b8d38886 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-add-metadata/user-action-add-metadata.component.scss @@ -0,0 +1,112 @@ +@import '../../../assets/css/mixins'; +@import '../../../assets/css/font'; + +.filter-input-text { + width: 50%; + text-indent: 30px; + @extend .pastis-input-enabled; + box-shadow: 0px 0px 20px rgba(169, 169, 169, 0.3); +} + +.filter-input-text::placeholder { + @extend .pastis-input-placeholder-text; +} + +.paragraph-metadata-subtitle{ + margin-bottom: 26px; + margin-left: 0.4125em; + @extend .pastis-input-text; +} + + +.list-box{ + background: #FFFFFF; + border: 1px solid #DFDFDF; + box-sizing: border-box; + border-radius: 5px; + padding-top: 0px; + max-height: 256px; + overflow: auto; + outline: none; +} + +.list-item{ + border-bottom: 1px solid #ECECEC; + //max-height: 50px; + padding-top: 0px; + +} + +.list-item:last-child{ + border-bottom : none; +} + +.item-text{ + vertical-align: middle; + padding-left: 4px; +} + + +.selected-items-box { + @extend .pastis-font-menu; + padding: 15px; + background-color:#65B2E4; + border: 1px solid #65B2E4; + box-sizing: border-box; + color: white; + border-radius: 5px; + vertical-align: middle; + + // Positioning + margin: 0.4125em 0 0 0.4125em; + display: inline-flex; + text-align: center; + text-justify: auto; + vertical-align: middle; + color: #FFFFFF; + max-width: 100%; +} + +.selected-items-close{ + margin-left: 15px; + color: white; + font-weight: bold; + float: right; + font-size: 22px; + line-height: 20px; + cursor: pointer; + transition: 0.3s; +} + +.selected-items-close:hover { + @extend .pastis-black-medium; +} + + +.list-box-content{ + @extend .pastis-font-add-metadata-items; + margin-left: 59px; + color: #808080; +} + +.ajouter { + @extend .pastis-font-add-metadata-items; + @extend .pastis-secondary-300; + float: right; + margin-right: 33px; + cursor:pointer; + text-decoration:underline; + height: 50px; +} + +.ajouter:hover { + text-decoration:none; + //text-shadow: 1px 1px 1px #555; +} + +.pastis-ico-complex-element{ + margin-left: -39px; + margin-right: 10px; + vertical-align: middle; + display: inline-flex; +} diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-add-metadata/user-action-add-metadata.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-add-metadata/user-action-add-metadata.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..edd9fe1864ee008fd81f3baae088875b4c268044 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-add-metadata/user-action-add-metadata.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { UserActionAddMetadataComponent } from './user-action-add-metadata.component'; + +describe('UserActionAddMetadataComponent', () => { + let component: UserActionAddMetadataComponent; + let fixture: ComponentFixture<UserActionAddMetadataComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ UserActionAddMetadataComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(UserActionAddMetadataComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-add-metadata/user-action-add-metadata.component.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-add-metadata/user-action-add-metadata.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..f170bb52967367feef55c1dc72c57ebaf38d4428 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-add-metadata/user-action-add-metadata.component.ts @@ -0,0 +1,174 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit, TemplateRef, Pipe, PipeTransform } from '@angular/core'; +import { SedaData, SedaElementConstants, SedaCardinalityConstants } from '../../../appfile-tree/classes/seda-data'; +import { FileNode } from '../../../appfile-tree/classes/file-node'; +import { FileService } from '../../../appcore/services/file.service'; +import { SedaService } from '../../../appcore/services/seda.service'; +import { MatDialogRef } from '@angular/material'; +import { PastisDialogConfirmComponent } from '../../../appshared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component'; +import { PastisDialogData } from '../../../appshared/pastis-dialog/classes/pastis-dialog-data'; +import { PopupService } from '../../../appcore/services/popup.service'; + +@Component({ + selector: 'pastis-user-action-add-metadata', + templateUrl: './user-action-add-metadata.component.html', + styleUrls: ['./user-action-add-metadata.component.scss'] +}) +export class UserActionAddMetadataComponent implements OnInit { + + btnIsDisabled: boolean; + + sedaData:SedaData; + allowedChildren : SedaData[]; + allowedChildrenNames: string[]; + filterName:string; + namesFiltered = []; + sedaNodeFound: SedaData; + selectedSedaNode:SedaData; + addedItems:string[] = []; + dialogData: PastisDialogData; + + atLeastOneIsSelected:boolean; + customTemplate:TemplateRef<any> + fileNode: FileNode; + + constructor(public dialogRef: MatDialogRef<PastisDialogConfirmComponent>, + private fileService:FileService, private sedaService:SedaService, + private popUpService: PopupService) { } + + ngOnInit() { + this.fileService.nodeChange.subscribe(fileNode=>{this.fileNode = fileNode}) + + this.sedaService.getSedaRules().subscribe(data => { + this.sedaData = data[0]; + + this.sedaNodeFound = this.fileNode.sedaData; + this.allowedChildren = this.sedaService.findSelectableElementList(this.sedaNodeFound,this.fileNode) + .filter(e=>e.Element !== SedaElementConstants.attribute); + this.allowedChildrenNames = this.allowedChildren.map(e=>e.Name); + + }) + + // Subscribe observer to button status and + // set the inital state of the ok button to disabled + this.popUpService.btnYesShoudBeDisabled.subscribe(status=>{ + this.btnIsDisabled = status; + }) + } + + selectSedaElement(selectedElements:string[]) { + if (selectedElements.length) { + this.selectedSedaNode = this.sedaService.getSedaNode(this.sedaData,selectedElements[0]); + } + } + + isElementSelected(elementName){ + if (this.addedItems){ + return this.addedItems.includes(elementName); + } + } + + onRemoveSelectedElement(elementName){ + //this.addedItems = this.addedItems.filter(el => el !== elementName); + let indexOfElement = this.addedItems.indexOf(elementName) + if (indexOfElement >= 0) { + this.addedItems.splice(indexOfElement, 1); + } + let elementBackToTheList = this.allowedChildren.find(el=> el.Name === elementName); + if (elementBackToTheList.Cardinality !== (SedaCardinalityConstants.zeroOrMore || SedaCardinalityConstants.oreOrMore)) { + this.allowedChildrenNames.push(elementName); + } + let orderedNames = Object.values(this.allowedChildren.map(e=>e.Name)); + this.allowedChildrenNames.sort((a, b) => { + return orderedNames.indexOf(a) - orderedNames.indexOf(b) + }) + this.addedItems.length > 0 ? this.atLeastOneIsSelected = true : this.atLeastOneIsSelected = false + this.upateButtonStatusAndDataToSend(); + } + + onAddSelectedElement(elementName){ + let sedaNode = this.sedaService.findSedaChildByName(elementName, this.sedaNodeFound); + this.addedItems.push(elementName); + if (sedaNode.Cardinality !== (SedaCardinalityConstants.zeroOrMore || SedaCardinalityConstants.oreOrMore)) { + this.allowedChildrenNames = this.allowedChildrenNames.filter(name=> {return name !== elementName}); + } + this.addedItems.length > 0 ? this.atLeastOneIsSelected = true : this.atLeastOneIsSelected = false + this.upateButtonStatusAndDataToSend(); + } + + upateButtonStatusAndDataToSend(){ + this.popUpService.setPopUpDataOnClose(this.addedItems); + this.popUpService.disableYesButton(!this.atLeastOneIsSelected) + } + + onAllItemsAdded(){ + return this.allowedChildren.length === this.addedItems.length; + } + + isElementComplex(elementName){ + let childFound = this.allowedChildren.find(el=> el.Name === elementName); + if (childFound){ + return childFound.Element === SedaElementConstants.complex; + } + } + + getDefinition(elementName:string):string { + let element = this.allowedChildren.find(child=> child.Name === elementName) + return element ? element.Definition : ''; + } + + onYesClick(): void { + console.log("Clicked ok on dialog : %o" , this.selectedSedaNode); + + } + onNoClick(): void { + this.dialogRef.close(); + } + +} + +@Pipe({name: 'filterByName'}) +export class FilterByNamePipe implements PipeTransform { + transform(listOfNames: string[], nameToFilter: string): string[] { + if(!listOfNames) return null; + if(!nameToFilter) return listOfNames; + + return listOfNames.filter(name => name.toLowerCase().indexOf(nameToFilter.toLowerCase()) >= 0); + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-remove-metadata/user-action-remove-metadata.component.html b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-remove-metadata/user-action-remove-metadata.component.html new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-remove-metadata/user-action-remove-metadata.component.scss b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-remove-metadata/user-action-remove-metadata.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-remove-metadata/user-action-remove-metadata.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-remove-metadata/user-action-remove-metadata.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..e50eab50b9c34a9b31da7632384eac9592f5ec5d --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-remove-metadata/user-action-remove-metadata.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { UserActionRemoveMetadataComponent } from './user-action-remove-metadata.component'; + +describe('UserActionRemoveMetadataComponent', () => { + let component: UserActionRemoveMetadataComponent; + let fixture: ComponentFixture<UserActionRemoveMetadataComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ UserActionRemoveMetadataComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(UserActionRemoveMetadataComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-remove-metadata/user-action-remove-metadata.component.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-remove-metadata/user-action-remove-metadata.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..1883c70274109081f3aea7e617bf63cd73df2c79 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-remove-metadata/user-action-remove-metadata.component.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit } from '@angular/core'; +import { MatDialogRef } from '@angular/material'; +import { PastisDialogConfirmComponent } from '../../../appshared/pastis-dialog/pastis-dialog-confirm/pastis-dialog-confirm.component'; +import { FileService } from '../../../appcore/services/file.service'; +import { SedaService } from '../../../appcore/services/seda.service'; +import { PopupService } from '../../../appcore/services/popup.service'; +import { PastisDialogData } from '../../../appshared/pastis-dialog/classes/pastis-dialog-data'; + +@Component({ + selector: 'pastis-user-action-remove-metadata', + templateUrl: './user-action-remove-metadata.component.html', + styleUrls: ['./user-action-remove-metadata.component.scss'] +}) +export class UserActionRemoveMetadataComponent implements OnInit { + + dataToSend:string; + + constructor(public dialogRef: MatDialogRef<PastisDialogConfirmComponent>, + private fileService:FileService, private sedaService:SedaService, + private popUpService: PopupService) { } + + ngOnInit() { + this.popUpService.setPopUpDataOnClose(this.dialogRef.componentInstance.dialogReceivedData.fileNode.name); + } +} diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-save-profile/user-action-save-profile.component.html b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-save-profile/user-action-save-profile.component.html new file mode 100644 index 0000000000000000000000000000000000000000..f8298b9b6f1da4e7c2f99f9440995af748547eff --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-save-profile/user-action-save-profile.component.html @@ -0,0 +1,5 @@ + + <button class="pastis-btn-rounded-save" type="submit" (click)="postJsonToRNG()"> + <mat-icon svgIcon="save" class="pastis-ico-save"></mat-icon> + <span class="button-text"></span> + </button> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-save-profile/user-action-save-profile.component.scss b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-save-profile/user-action-save-profile.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..ff8d4c20edd26fac0bc28cb2c12804436ecd2756 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-save-profile/user-action-save-profile.component.scss @@ -0,0 +1,21 @@ +@import "../../../assets/css/mixins"; +@import "../../../assets/css/layout"; +@import "../../../assets/css/colors"; +@import "../../../assets/css/font"; +@import "../../../assets/css/buttons"; + +.pastis-btn-rounded-save { + @extend .pastis-btn-rounded-standard-secondary-enabled; + } + + .pastis-btn-rounded-save:hover { + @extend .pastis-btn-rounded-standard-secondary-hover; + } + + .pastis-btn-rounded-save:active { + @extend .pastis-btn-rounded-standard-secondary-focus; + } + + .pastis-ico-save { + @extend .pastis-ico-svg; + } \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-save-profile/user-action-save-profile.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-save-profile/user-action-save-profile.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..f2fb0f4b1fbe69fe61db983d79139bd2d9fd4971 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-save-profile/user-action-save-profile.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { UserActionSaveProfileComponent } from './user-action-save-profile.component'; + +describe('UserActionOpenProfileComponent', () => { + let component: UserActionSaveProfileComponent; + let fixture: ComponentFixture<UserActionSaveProfileComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ UserActionSaveProfileComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(UserActionSaveProfileComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-save-profile/user-action-save-profile.component.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-save-profile/user-action-save-profile.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..e56fe00e896029fc4702d3676c1aa377e45da6d0 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-save-profile/user-action-save-profile.component.ts @@ -0,0 +1,95 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit } from '@angular/core'; +import { ProfileService } from '../../../app/core/services/profile.service'; +import { FileService } from '../../../app/core/services/file.service'; +import { FileNode } from '../../../app/file-tree/classes/file-node'; + +@Component({ + selector: 'pastis-user-action-save-profile', + templateUrl: './user-action-save-profile.component.html', + styleUrls: ['./user-action-save-profile.component.scss'] +}) +export class UserActionSaveProfileComponent implements OnInit { + + data: FileNode[] = []; + + constructor(private profileService: ProfileService, private fileService: FileService) { } + + ngOnInit() { + } + + + postJsonToRNG() { + //Retrieve the current file tree data as a JSON + this.data = this.fileService.allData.getValue(); + + console.log("On export button postJsonToRNG with current data %o",this.fileService.nodeChange.getValue()); + if (this.data) { + // Send the retrieved JSON data to profile service + this.profileService.updateFile(this.data).subscribe(retrievedData => { + console.log("Data profile service: " + retrievedData) + console.log('New updated data: ', this.data); + console.log('Data: ', retrievedData); + this.downloadFile(retrievedData); + }); + } + } + + + + downloadFile(json): void { + const newBlob = new Blob([json], { type: 'application/xml' }); + if (window.navigator && window.navigator.msSaveOrOpenBlob) { + window.navigator.msSaveOrOpenBlob(newBlob); + return; + } + const data = window.URL.createObjectURL(newBlob); + const link = document.createElement('a'); + link.href = data; + link.download = 'pastis_profile.rng'; + // this is necessary as link.click() does not work on the latest firefox + link.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window })); + setTimeout( () => { + // For Firefox it is necessary to delay revoking the ObjectURL + window.URL.revokeObjectURL(data); + link.remove(); + }, 100); +} + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-upload-profile/user-action-upload.component.html b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-upload-profile/user-action-upload.component.html new file mode 100644 index 0000000000000000000000000000000000000000..01775472fc878ebe5afccdf4f75f083298d2c042 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-upload-profile/user-action-upload.component.html @@ -0,0 +1,9 @@ +<button class="pastis-btn-rounded-save" (click)="fileInput.click()"> + <mat-icon class="pastis-ico-open">folder_open</mat-icon> + <input #fileInput type="file" class="buttons" + accept=".rng" + ng2FileSelect style="display:none;" + [uploader]="uploader" + (change)="uploadAndReload($event)" /> +</button> + diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-upload-profile/user-action-upload.component.scss b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-upload-profile/user-action-upload.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..4509b9295b1fb01c47e98a3de6b8cea9ebbf089c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-upload-profile/user-action-upload.component.scss @@ -0,0 +1,63 @@ +@import "../../../assets/css/mixins"; +@import "../../../assets/css/layout"; + + +.buttons { + position: relative; + height: 35px; + @extend .pastis-secondary-300; + @extend .pastis-btn-leading-enabled; + vertical-align: middle; + } + + .buttons:hover { + position: relative; + height: 35px; + @extend .pastis-secondary-300; + @extend .pastis-btn-leading-hover + } + + .buttons-disabled { + position: relative; + height: 35px; + //color + @extend .pastis-secondary-disabled; + //button + @extend .pastis-btn-leading-disabled + } + + .buttons:focus { + position: relative; + height: 35px; + @extend .pastis-secondary-300; + @extend .pastis-btn-leading-focus + } + + +.button-text{ + text-align: center; + vertical-align: super; + margin: auto; +} + + +.pastis-btn-rounded-save { + @extend .pastis-btn-rounded-standard-secondary-enabled; +} + +.pastis-btn-rounded-save:hover { + @extend .pastis-btn-rounded-standard-secondary-hover; +} + +.pastis-btn-rounded-save:active { + @extend .pastis-btn-rounded-standard-secondary-focus; +} + +.pastis-ico-save { + @extend .pastis-ico-svg; +} + +.pastis-ico-open { + @extend .pastis-ico-svg; + color:white; +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-upload-profile/user-action-upload.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-upload-profile/user-action-upload.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..87bd8c2041a90bbf9d65fb44b18c08bb3bf7b347 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-upload-profile/user-action-upload.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { UserActionUploadProfileComponent } from './user-action-upload.component'; + +describe('UserActionUploadComponent', () => { + let component: UserActionUploadProfileComponent; + let fixture: ComponentFixture<UserActionUploadProfileComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ UserActionUploadProfileComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(UserActionUploadProfileComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-upload-profile/user-action-upload.component.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-upload-profile/user-action-upload.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..625d7b174b129028cd42d771dc57dac52ffadaec --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-action-upload-profile/user-action-upload.component.ts @@ -0,0 +1,85 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit, Input, OnDestroy } from '@angular/core'; +import { FileUploader } from 'ng2-file-upload'; +import { FileService } from '../../core/services/file.service'; +import { ProfileService } from '../../core/services/profile.service'; +import { FileTreeMetadataService } from '../../../appfile-tree/file-tree-metadata/file-tree-metadata.service'; + +const URL = 'http://localhost:8051/rest/createprofilefromfile'; + +@Component({ + selector: 'pastis-user-action-upload', + templateUrl: './user-action-upload.component.html', + styleUrls: ['./user-action-upload.component.scss'] +}) +export class UserActionUploadProfileComponent implements OnInit { + + @Input() + uploader: FileUploader = new FileUploader({url: URL}); + fileToUpload: File = null; + + //@Output() + //updatedData: EventEmitter<any> = new EventEmitter(); + + constructor(private profileService: ProfileService, + private fileMetadataService:FileTreeMetadataService,private fileService: FileService) { } + + ngOnInit() { + } + + handleFileInput(files: FileList) { + this.fileToUpload = files.item(0); + } + + uploadAndReload(event) { + const fileList: FileList = event.target.files; + this.handleFileInput(fileList); + if (this.fileToUpload) { + const formData = new FormData(); + formData.append('file', this.fileToUpload, this.fileToUpload.name); + this.profileService.uploadProfile(formData).subscribe( fileData => { + if (fileData) { + console.log('File submited! : ', fileData); + this.fileService.updateFileTree(fileData); + } + }); + } + } + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-actions.component.html b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-actions.component.html new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-actions.component.scss b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-actions.component.scss new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-actions.component.spec.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-actions.component.spec.ts new file mode 100644 index 0000000000000000000000000000000000000000..7fac2681e9b50d5dd160186ce7baf572949ed885 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-actions.component.spec.ts @@ -0,0 +1,62 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { UserActionsComponent } from './user-actions.component'; + +describe('ActionsComponent', () => { + let component: UserActionsComponent; + let fixture: ComponentFixture<UserActionsComponent>; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ UserActionsComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(UserActionsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-actions.component.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-actions.component.ts new file mode 100644 index 0000000000000000000000000000000000000000..3efd527d252765e28f7da53e066b6eae9471eb18 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-actions.component.ts @@ -0,0 +1,55 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { Component, OnInit, } from '@angular/core'; + +@Component({ + selector: 'pastis-actions', + templateUrl: './user-actions.component.html', + styleUrls: ['./user-actions.component.scss'], + providers: [] +}) +export class UserActionsComponent implements OnInit { + + + constructor() { } + + ngOnInit() { + } + + +} diff --git a/ui/ui-frontend/projects/pastis/src/app/user-actions/user-actions.module.ts b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-actions.module.ts new file mode 100644 index 0000000000000000000000000000000000000000..73664e5f5106ab6099f29f2de5920fc0a4dd0f19 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/app/user-actions/user-actions.module.ts @@ -0,0 +1,61 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { NgModule } from '@angular/core'; +import { CommonModule } from '@angular/common'; +import { FileUploadModule } from 'ng2-file-upload'; +import { UserActionUploadProfileComponent } from './user-action-upload-profile/user-action-upload.component'; +import { SharedModule} from '../shared/shared.module' +import { FilterByNamePipe } from './user-action-add-metadata/user-action-add-metadata.component'; +import { UserActionSaveProfileComponent } from './user-action-save-profile/user-action-save-profile.component'; +import { UserActionsComponent } from './user-actions.component'; +import { PastisMaterialModule } from '../material.module'; + + +@NgModule({ + declarations: [UserActionUploadProfileComponent,FilterByNamePipe, UserActionSaveProfileComponent,UserActionsComponent], + imports: [ + CommonModule, + PastisMaterialModule, + FileUploadModule, + SharedModule + ], + exports: [UserActionUploadProfileComponent, UserActionSaveProfileComponent,FilterByNamePipe ], +}) +export class UserActionsModule { + + } diff --git a/ui/ui-frontend/projects/pastis/src/assets/.gitkeep b/ui/ui-frontend/projects/pastis/src/assets/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/ui/ui-frontend/projects/pastis/src/assets/config/config.json b/ui/ui-frontend/projects/pastis/src/assets/config/config.json new file mode 100644 index 0000000000000000000000000000000000000000..0fb959c5cc2e01c00f1b21dc3a8fa2c336ffcbe9 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/config/config.json @@ -0,0 +1,7 @@ +{ + "apiPastisUrl": "http://vps795748.ovh.net:8051/rest", + "getProfileUrl": "/createprofile", + "uploadProfileUrl": "/createprofilefromfile", + "getFileUrl": "/getfile", + "updateFileUrl": "/updateprofile" +} diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/_buttons.scss b/ui/ui-frontend/projects/pastis/src/assets/css/_buttons.scss new file mode 100644 index 0000000000000000000000000000000000000000..f5fb1e31bb7841b0d37432a63eb9ac219a27797c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/_buttons.scss @@ -0,0 +1,145 @@ +@import "colors"; +/// Pastis background button colors +/// @author Paulo Pimenta + + +/* +--- +name: Button +category: Components +--- + +Buttons can be used with `<a>`, `<button>`, and `<input>` elements. + +Types of buttons: +- Default: Standard button +- Primary: Provides extra visual weight and identifies the primary action in a set of buttons +- Success: Indicates a successful or positive action + +```types.html + +<md-button class="md-raised pastis-btn-primary-hover">Pastis Basic</md-button> +<md-button cclass="md-warn">Pastis Bootstrap</md-button> +<md-button class="md-raised md-warn">Pastis button</md-button> + +``` +*/ +$buttons: ( + primary:( + enabled: map-get($colors, 'primary-500'), + disabled: map-get($colors, 'primary-50'), + hover: map-get($colors, 'primary-500'), + focus: map-get($colors, 'primary-500') + ), + secondary:( + enabled: map-get($colors, 'secondary-300'), + disabled: map-get($colors, 'secondary-50'), + hover: map-get($colors, 'secondary-300'), + focus: map-get($colors, 'secondary-300') + ), + variant:( + enabled: map-get($colors, 'black-low'), + disabled: map-get($colors, 'black-disabled'), + hover: map-get($colors, ' black-low'), + focus: map-get($colors, 'black-low') + ), + leading:( + enabled: #FFFFFF, + disabled: map-get($colors, 'white-disabled'), + hover: #FFFFFF, + focus: #FFFFFF + ) +); + +$rounded-buttons: ( + standard-primary:( + enabled: map-get($colors, 'primary-300'), + disabled: map-get($colors, 'primay-disabled'), + hover: map-get($colors, 'primary-200'), + focus: map-get($colors, 'primary-400') + ), + standard-secondary:( + enabled: map-get($colors, 'secondary-300'), + disabled: map-get($colors, 'secondary-disabled'), + hover: map-get($colors, 'secondary-300'), + focus: map-get($colors, 'secondary-200') + ), + standard-white:( + enabled: #FFFFFF, + disabled: map-get($colors, 'white-disabled'), + hover: #FFFFFF, + focus: #FFFFFF + ), + mini-white:( + enabled: #FFFFFF, + disabled: map-get($colors, 'white-disabled'), + hover: #FFFFFF, + focus: #FFFFFF + ), + mini-red:( + enabled: map-get($colors, 'primary-500'), + disabled: map-get($colors, 'primary-500'), + hover: map-get($colors, 'primary-500'), + focus: map-get($colors, 'primary-500') + ) +); + + /////////////////////////* Standard buttons */\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + +/*Defines buttons border*/ +$buttons-border:( + primary: none, + secondary: none, + variant: none, +); +$buttons-border-leading:( + enabled: 1px solid map-get($colors, 'secondary-300'), + disabled: 1px solid map-get($colors, 'secondary-disabled'), + hover: 1px solid map-get($colors, 'secondary-300'), + focus: 1px solid map-get($colors, 'secondary-300'), +); + +/*Defines buttons text-color*/ +$buttons-text-color:( + primary: map-get($colors, 'white-highlight'), + secondary: map-get($colors, 'white-highlight'), + variant: map-get($colors, 'white-highlight'), +); + +/*Defines buttons text-color for leading button types*/ +$buttons-text-color-leading:( + enabled: map-get($colors, 'secondary-300'), + disabled: map-get($colors, 'secondary-disabled'), + hover: map-get($colors, 'secondary-300'), + focus: map-get($colors, 'secondary-300'), +); + + +/*Defines buttons box-shadow*/ +$buttons-box-shadow:( + enabled: (0px 1px 3px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.12), 0px 0px 2px rgba(0, 0, 0, 0.14)), + disabled: none, + hover: (0px 1px 10px rgba(0, 0, 0, 0.2), 0px 4px 5px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)), + focus: none, +); + +/*Defines buttons box-shadow*/ +$buttons-font-text:( + primary: (font-family: Roboto,font-style: normal,font-weight: 500,font-size: 14px,line-height: 16px,text-align:center), + secondary: (font-family: Roboto,font-style: normal,font-weight: 500,font-size: 14px,line-height: 16px,text-align:center), + variant: (font-family: Roboto,font-style: normal,font-weight: 500,font-size: 14px,line-height: 16px,text-align:center), + leading: (font-family: Roboto,font-style: normal,font-weight: 500,font-size: 14px,line-height: 16px,text-align:center), +); + /////////////////////////\\\\\\\\\\\\///////////////////\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + + +/////////////////////////* Rounded buttons */\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ + + $rounded-buttons-border:( + standard-primary: none, + standard-secondary: none, + standard-white: none, + mini-white: 1px solid map-get($colors, 'secondary-300'), + mini-red: none, +); + diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/_colors.scss b/ui/ui-frontend/projects/pastis/src/assets/css/_colors.scss new file mode 100644 index 0000000000000000000000000000000000000000..c63947e12568909758192cc0e2400d7dcfb9c729 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/_colors.scss @@ -0,0 +1,42 @@ +/// Pastis base colors +/// @author Paulo Pimenta +$colors: ( + + /* Primary */ + primary-50: #FBE8EB, + primary-300:#ED778A, + primary-400 : #E74F67, + primary-500 : #E7304D, + + /* Secondary */ + secondary-disabled:#BDD9EC, + secondary-50:#BDD9EC, + secondary-200: #88C5ED, + secondary-300: #65B2E4, + secondary-400: #324a83, + secondary-500: #2e61d8, + + /*Surface*/ + surface-tabs: #604379, + surface-snackbar:#604379, + + /* Variant */ + black-low:#C1C1C1, + black-disabled:#E7E5E5, + black-medium:#747272, + black-height: #232323, + black-standard: #474747, + + /* White */ + white-highlight: #FFFFFF, + white-disabled:rgba(255, 255, 255, 0.57) +); + +$input-colors: ( + enabled: #F0F0F0, + disabled:#F0F0F0, + hover :#65B2E4, + activated :#747272, + error:#FF0000, + valid:#50D166, +); \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/_dropdown.scss b/ui/ui-frontend/projects/pastis/src/assets/css/_dropdown.scss new file mode 100644 index 0000000000000000000000000000000000000000..0e724ff304dd46f9bc947839f73e7f14b42d1c50 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/_dropdown.scss @@ -0,0 +1,138 @@ +//Generate Pastis dropdown lists +@import "colors"; + + +/// Pastis dropdown border colors +/// @author Paulo Pimenta +$dropdowns-border: ( + button1:( + enabled: (1px solid map-get($colors, 'secondary-300')), + disabled: (1px solid map-get($colors, 'secondary-200')), + hover: (1px solid map-get($colors, 'secondary-200')), + focus: (1px solid map-get($colors, 'secondary-200')), + ), + button2:( + enabled: (1px solid #F0F0F0), + disabled: '', + hover: (1px solid #F0F0F0), + focus: (1px solid #F0F0F0) + ), + leading:( + enabled: (1px solid map-get($colors, 'secondary-300')), + disabled: (1px solid map-get($colors, 'secondary-disabled')), + hover: (1px solid map-get($colors, 'secondary-300')), + focus: (1px solid map-get($colors, 'secondary-300')) + ), + search:( + enabled: '', + disabled: '', + hover: '', + focus: '' + ), + special:( + enabled: (1px solid #5CBAA9) + ) +); + +$dropdowns-text: ( + button1:( + enabled: map-get($colors, 'secondary-300'), + disabled: map-get($colors, 'secondary-300'), + hover: map-get($colors, 'secondary-300'), + focus: map-get($colors, 'secondary-300'), + ), + button2:( + enabled: map-get($colors, 'primary-500'), + disabled: map-get($colors, 'primary-500'), + hover: map-get($colors, 'primary-500'), + focus:map-get($colors, 'primary-500') + ), + leading:( + enabled: map-get($colors, 'secondary-300'), + disabled: map-get($colors, 'secondary-300'), + hover: map-get($colors, 'secondary-300'), + focus: map-get($colors, 'secondary-300') + ), + search:( + enabled: #FFFFFF, + disabled: #FFFFFF, + hover: #FFFFFF, + focus: #FFFFFF + ), + special:( + enabled: #9D9D9D, + ) +); + +$dropdowns-background: ( + button1:( + enabled: #FFFFFF, + disabled: #FFFFFF, + hover: #FFFFFF, + focus: #FFFFFF, + ), + button2:( + enabled: #FFFFFF, + disabled: #FFFFFF, + hover: #FFFFFF, + focus:#FFFFFF + ), + leading:( + enabled: #FFFFFF, + disabled: #FFFFFF, + hover: #FFFFFF, + focus: #FFFFFF + ), + search:( + enabled: #FF833C, + disabled: #FF833C, + hover: #FF833C, + focus: #FF833C + ), + special:( + enabled: #FFFFFF, + ) +); + + +/*Defines dropdown font-text*/ +.mat-select-trigger { + @extend .dropdown-font-text; + display: block; + max-height: 19px; + padding-left: 10px; + padding-right: 20px; +} + +.dropdown-font-text { + padding-top: 4px; + height: 20px; + max-height: 51px; + + /* Body 2 - Roboto Regular */ + + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 20px; + /* identical to box height, or 143% */ + /* Black -- Hight */ +}; + +/*Defines dropdown default style*/ +.dropdown { + border-radius: 50px; + height: 49px; + background: #FFFFFF; + max-height: 40px; +} + +/*Defines dropdown box-shadow*/ + +$dropdowns-box-shadow: ( + enabled: (0px 1px 3px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.12), 0px 0px 2px rgba(0, 0, 0, 0.14)), + disabled: '', + hover: (0px 1px 10px rgba(0, 0, 0, 0.2), 0px 4px 5px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)), + focus: (0px 1px 3px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.12), 0px 0px 2px rgba(0, 0, 0, 0.14)), +) \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/_font.scss b/ui/ui-frontend/projects/pastis/src/assets/css/_font.scss new file mode 100644 index 0000000000000000000000000000000000000000..f20929fe79260141b9c2c4b481516290afe1ffdc --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/_font.scss @@ -0,0 +1,246 @@ +.pastis-font-table-header { + + font-family: Roboto; + font-style: normal; + font-weight: bold; + font-size: 15px; + line-height: 60px; + + color: #666666; +} + +.pastis-font-button-white { + position: absolute; + left: 38.89%; + right: 52.08%; + top: 93.27%; + bottom: 5.09%; + + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 15px; + line-height: 18px; + text-align: center; + + color: #FFFFFF; +} + +.pastis-table-content { + /* Contrat de travail M */ + margin-left: 0px; + top: 85px; + + text-align: left; + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 15px; + line-height: 20px; + /* identical to box height, or 133% */ + color: #474D4A; +} + +.pastis-table-content-with-errors { + @extend .pastis-table-content; + color: darkred; +} + +/* Body 2 - Roboto Regular */ +.pastis-body-2 { + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 20px; + align-items: center; + text-align: center; +} + +/* Body 2 - Roboto medium */ +.pastis-font-roboto-medium { + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 16px; + align-items: center; + text-align: center; + letter-spacing: 0.75px; +} + + +/* Body 2 - Roboto Regular */ +.pastis-font-roboto-regular { + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 20px; + /* identical to box height, or 143% */ +} + +.pastis-font-roboto-snack { + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 15px; + color: white; + opacity: 0.4; + /* identical to box height, or 133% */ +} + +.pastis-font-headline-6 { + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 16px; + line-height: 28px; + /* or 175% */ + letter-spacing: 0.5px; +} + +.pastis-font-informations { + /* INFORMATIONS */ + font-family: Roboto; + font-style: normal; + font-weight: bold; + font-size: 14px; + line-height: 16px; + /* identical to box height */ + font-variant: small-caps; +} + +.pastis-font-label { + /* Label */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 16px; + /* or 114% */ + letter-spacing: 0.75px; +} + +.pastis-font-label-small { + /* Label */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 16px; + font-variant: small-caps; + /* or 114% */ + letter-spacing: 0.75px; +} + +.pastis-font-label-historique { + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 16px; + display: flex; + align-items: center; + font-variant: small-caps; + letter-spacing: 0.75px; + +} + +.pastis-font-headline6 { + + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 20px; + line-height: 23px; +} + +.pastis-font-popup-subtitle{ + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 20px; + line-height: 35px; + letter-spacing: 0.15px; + color: #485053; +} + +.pastis-font-popup-title{ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 26px; + line-height: 35px; + letter-spacing: 0.15px; + color: #485053; +} + +.pastis-input-text { + @extend .pastis-black-medium; + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 14px; + line-height: 28px; +} + +.pastis-input-placeholder-text { + /* Caption - Roboto Regular */ + @extend .pastis-black-low; + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 12px; + line-height: 16px; + letter-spacing: 0.4px; +} + +.pastis-font-menu{ + font-family: Roboto; + font-style: normal; + font-weight: 500; + font-size: 15px; + line-height: 18px; + display: flex; + align-items: center; +} + +.pastis-font-add-metadata-items{ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 15px; + line-height: 60px; +} + +.pastis-textarea-comment{ + + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 14px; + line-height: 20px; + /* identical to box height, or 143% */ + + display: flex; + align-items: center; + letter-spacing: 0.25px; + + /* Black - Low */ + + color: #9D9D9D; +} + +.pastis-toaster-font{ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 15px; + line-height: 20px; + /* identical to box height, or 133% */ + display: flex; + align-items: left; +float: left; + color: #FFFFFF; +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/_input.scss b/ui/ui-frontend/projects/pastis/src/assets/css/_input.scss new file mode 100644 index 0000000000000000000000000000000000000000..c338804eca86a1534fcc3a14b90664410585daa8 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/_input.scss @@ -0,0 +1,23 @@ +@import 'colors'; + + $input-border-colors:( + enabled: 1px solid map-get($input-colors, 'enabled'), + disabled:1px solid map-get($input-colors, 'disabled'), + hover :1px solid map-get($input-colors, 'hover'), + activated : 1px solid map-get($input-colors, 'activated'), + error: 1px solid map-get($input-colors, 'error'), + valid: 1px solid map-get($input-colors, 'valid'), +); + +$input-box-shadow:( + enabled: (0px 1px 3px rgba(0, 0, 0, 0.2), 0px 2px 2px rgba(0, 0, 0, 0.12), 0px 0px 2px rgba(0, 0, 0, 0.14)), + disabled: none, + hover : (0px 1px 10px rgba(0, 0, 0, 0.2), 0px 4px 5px rgba(0, 0, 0, 0.12), 0px 2px 4px rgba(0, 0, 0, 0.14)), + activated : none, + error: none, + valid: none, +); + + + + diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/_layout.scss b/ui/ui-frontend/projects/pastis/src/assets/css/_layout.scss new file mode 100644 index 0000000000000000000000000000000000000000..706878c1f8789b6a45a88e6bfbf7ece5afdf43c0 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/_layout.scss @@ -0,0 +1,374 @@ +@import 'mixins'; + + +// Breakpoints +$bp-small: 48em; // 768px +$bp-medium: 64em; // 1024px +$bp-large: 85.375em; // 1366px +$bp-xlarge: 120em; // 1920px +$bp-xxlarge: 160em; // 2560px + +// Media Queries +$mq-small: "(min-width: #{$bp-small})"; +$mq-medium: "(min-width: #{$bp-medium})"; +$mq-large: "(min-width: #{$bp-large})"; +$mq-xlarge: "(min-width: #{$bp-xlarge})"; +$mq-xxlarge: "(min-width: #{$bp-xxlarge})"; +$mq-retina: "(-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi)"; + +// Font-Size +$base-font-size: 1em; + +// Line-Height +$base-line-height: 1.5; +$header-line-height: 1.25; + + +body { + font-size: $base-font-size; + line-height: $base-line-height; + + @media #{$mq-medium} { + font-size: $base-font-size*1.2; + line-height: $base-line-height*1.2; + } + + @media #{$mq-large} { + font-size: $base-font-size*1.3; + } + + @media #{$mq-xlarge} { + font-size: $base-font-size*1.4; + } + + @media #{$mq-xxlarge} { + font-size: $base-font-size*1.6; + } +} + +.pastis-container { + margin: 0 4%; + + @media #{$mq-medium} { + margin: 0 8%; + } + + @media #{$mq-large} { + margin: 0 12%; + } + + @media #{$mq-xlarge} { + margin: 0 18%; + } +} + +//Pastis class header without sidebar +/// @author Paulo Pimenta +.pastis-header-no-sidebar { + position: absolute; + width: 1440px; + height: 288px; + left: 0px; + top: -2px; + background: #ECEEF3; +} + +//Pastis class header with sidebar +/// @author Paulo Pimenta +.pastis-header-with-sidebar { + @extend .pastis-header-no-sidebar; + width: 952px; +} + +.pastis-content-metadata { + position: absolute; + width: 778px; + height: 60px; + top: 359px; + right: 116px; + left: 58px; + background: #FFFFFF; +} + +.pastis-slide-nav-profile { + + max-width: 480px; + height: auto; + + //bottom: 100px; + background: #FFFFFF; +} + +.pastis-slide-nav-header { + position: absolute; + height: 200px; + background: #5CBAA9; +} + +.pastis-page-container { + + position: relative; + width: 100%; + height: 100%; + + background: #F7F8FB; +} + +.pastis-tab-container { + right: 40px; + left: 40px; + // Compensate the header of 200px + the space in beetween + //height: auto; + height: 500px; + + //overflow: auto; + width: 100%; +} + +.pastis-table-container { + position: absolute; + width: 80%; + left: 120px; + top: 359px; + margin-right: 120px; + /*Material*/ + height: 100%; +} + +.pastis-table { + width: 80%; + height: 612px; + left: 150px; + margin-right: 120px; + /*Material*/ + height: auto; + overflow: auto; + background: #FFFFFF !important; + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.14) !important; + border-radius: 5px !important; +} + + +.pastis-metadata-table { + background: #FFFFFF; + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.14); + border-radius: 5px; +} + +.pastis-metadata-table-col-large { + width: 200px; + height: 60px; + text-align: left; +} + +.pastis-metadata-table-col-small { + width: 120px; + height: 60px; + text-align: left; +} + +.pastis-side-nav { + background: #FFFFFF; + box-shadow: 20px 20px 80px rgba(168, 153, 153, 0.5); +} + +.pastis-ico-svg { + display: block; + margin: auto; +} + +.pastis-popup-modal-box{ + mat-dialog-container { + //padding: 0px !important; + //width: 100%; + //max-height: 100%; + background: #F7F8FB; + /* Elevation 3 */ + box-shadow: 0px 11px 15px rgba(0, 0, 0, 0.1), 0px 9px 46px rgba(0, 0, 0, 0.06), 0px 24px 38px rgba(0, 0, 0, 0.07); + border-radius: 20px; + overflow: hidden; + } +} + + +/* width */ +::-webkit-scrollbar { + width: 12px; +} + +/* Track */ +::-webkit-scrollbar-track { + background: #E6E6E6; +} + +/* Handle */ +::-webkit-scrollbar-thumb { + background: #F7F8FB; + border-radius: 100px; + background: #C1C1C1 +} + +/* Handle on hover */ +::-webkit-scrollbar-thumb:hover { + background: #747272; ; +} + +/*For non webkit browsers, such as Firefox/* + +/* (values chosen for visual consistency with Firefox) */ +:root{ + //Thumb and track colors + scrollbar-color: #F7F8FB #E6E6E6 !important; + scrollbar-width: thin !important; + scrollbar-base-color: #C1C1C1 !important; +} + +.mat-checkbox .mat-checkbox-ripple{ + display: none !important; +} + +/* PASTIS Tooltip */ + +.pastis-tooltip-class { + /* Black - Medium */ + background: #747272 !important; + border-radius: 5px !important; + padding: 15px !important; + /* Caption - Roboto Regular */ + font-family: Roboto; + font-style: normal; + font-weight: normal; + font-size: 12px; + line-height: 16px; + /* or 133% */ + letter-spacing: 0.4px; + /* Surface - White */ + color: #FFFFFF; +} + + +/* style de la flèche du tooltip*/ +.tooltip-right::after{ + border-color: transparent #747272 transparent transparent !important +} + +.tooltip-left::after{ + border-color: transparent transparent transparent #747272 !important +} + +.tooltip-top::after{ + border-color: #747272 transparent transparent transparent !important +} + +.tooltip-bottom::after{ + border-color: transparent transparent #747272 transparent !important +} + +.pastis-text-area { + height: 40px; + background: #FFFFFF; + border: 1px solid #F0F0F0; + box-sizing: border-box; + box-shadow: 0px 0px 2px rgba(0, 0, 0, 0.14); + border-radius: 20px; + outline: none; + display: flex; + align-items: center; + text-align: center; + letter-spacing: 0.25px; + resize: none; +} + +.pastis-text-area:focus { + border: 1px solid #65B2E4; +} + + + +/* Hide the browser's default checkbox */ + +/* Styling Pastis Checkbox Starts */ +.checkbox-label { + display: inline; + position: relative; + margin: auto; + cursor: pointer; + font-size: 22px; + line-height: 24px; + clear: both; + vertical-align: middle !important; + +} + + +//Pastis checkbox +.checkbox-label input { + position: absolute; + opacity: 0; + cursor: pointer; +} + +.checkbox-label .checkbox-custom { + position: absolute; + top: 0px; + left: 0px; + height: 16px; + width: 16px; + background-color: transparent; + border-radius: 3px; + transition: all 0.3s ease-out; + -webkit-transition: all 0.3s ease-out; + -moz-transition: all 0.3s ease-out; + -ms-transition: all 0.3s ease-out; + -o-transition: all 0.3s ease-out; + border: 1px solid map-get($colors,'secondary-300'); +} + + +.checkbox-label input:checked ~ .checkbox-custom { + background-color: #FFFFFF; + border-radius: 3px; + -webkit-transform: rotate(0deg) scale(1); + -ms-transform: rotate(0deg) scale(1); + transform: rotate(0deg) scale(1); + opacity:1; + border: 1px solid map-get($colors,'secondary-300'); +} + + +.checkbox-label .checkbox-custom::after { + position: absolute; + content: ""; + left: 12px; + top: 12px; + height: 0px; + width: 0px; + border-radius: 3px; + border: 1px solid map-get($colors,'secondary-300'); + border-width: 0 3px 3px 0; + -webkit-transform: rotate(0deg) scale(0); + -ms-transform: rotate(0deg) scale(0); + transform: rotate(0deg) scale(0); + opacity:1; + transition: all 0.3s ease-out; + -webkit-transition: all 0.3s ease-out; + -moz-transition: all 0.3s ease-out; + -ms-transition: all 0.3s ease-out; + -o-transition: all 0.3s ease-out; +} + + +.checkbox-label input:checked ~ .checkbox-custom::after { + -webkit-transform: rotate(45deg) scale(1); + -ms-transform: rotate(45deg) scale(1); + transform: rotate(45deg) scale(1); + opacity:1; + left: 6px; + top: 1px; + width: 3px; + height: 10px; + border: 1px solid map-get($colors,'secondary-300'); + border-width: 0 2px 2px 0; + background-color: transparent; + border-radius: 0; +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/_mixins.scss b/ui/ui-frontend/projects/pastis/src/assets/css/_mixins.scss new file mode 100644 index 0000000000000000000000000000000000000000..3332e43effdf0a8fa3802a1f9d730448f3b80de3 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/_mixins.scss @@ -0,0 +1,188 @@ +//Generate Pastis colors +/// @author Paulo Pimenta + +@import "colors"; +@import "buttons"; +@import "dropdown"; +@import "input"; +@import "font"; +/// Generate base colors for PASTIS +/// @author Paulo Pimenta +/// @see $colors + +@mixin color-modifiers($attribute) { + @each $name, $hex in $colors { + &-#{$name} { + #{$attribute}: $hex; + } + } +} + +/// Generate inputs for PASTIS +/// @author Paulo Pimenta +/// @see $buttons +/// @output Pastis buttons + +@mixin input-modifiers($attribute, $list) { + @each $name, $value in $list { + &-#{$name} { + @extend .pastis-input; + #{$attribute}: map-get($list,$name); + } + } +} + + +/// Generate buttons for PASTIS +/// @author Paulo Pimenta +/// @see $buttons +/// @output Pastis buttons + + +@mixin button-modifiers($attribute, $prefix: '-', $separator: '-') { + //@debug $name'....'#{$k}':'$v; + @each $name, $button in $buttons { + &#{$prefix}#{$name} { + @each $type, $value in $button { + &#{$separator}#{$type} { + //Text-colors and border + @if $name == leading { + #{color}:map-get($buttons-text-color-leading,$type); + #{border}: map-get($buttons-border-leading,$type); + } + #{color}:map-get($buttons-text-color,$name); + #{border}: map-get($buttons-border,$name); + //Box-shadow + #{box-shadow}:map-get($buttons-box-shadow,$type); + // Font-button - has sub-items + @each $k, $v in map-get($buttons-font-text,$name){#{$k}:$v;} + @extend .pastis-btn; + #{$attribute}: $value; + } + } + } + } +} + +@mixin rounded-button-modifiers($attribute, $prefix: '-', $separator: '-') { + @each $name, $button in $rounded-buttons { + &#{$prefix}#{$name} { + @each $type, $value in $button { + &#{$separator}#{$type} { + //Box-shadow (reused from button) + #{box-shadow}:map-get($buttons-box-shadow,$type); + #{border}:map-get($rounded-buttons-border,$name); + //Box-shadow (mini-white-only)rounded-buttons-border + @if $name == mini-white{ + #{box-shadow}:none; + } + //Rounded button Border + @each $k, $v in map-get($buttons-font-text,$name){#{$k}:$v; } + @extend .pastis-btn-rounded; + #{$attribute}: $value; + } + } + } + } +} + + + +@mixin dropdown-modifiers($attribute, $class-iterator, $prefix: '-', $separator: '-') { + @each $name, $dropdown in $class-iterator { + &#{$prefix}#{$name} { + @each $type, $value in $dropdown { + &#{$separator}#{$type} { + #{box-shadow}: map-get($dropdowns-box-shadow, $type); + #{$attribute}: $value; + } + } + } + } +} + +@mixin dropdown-text-modifiers($attribute, $class-iterator, $prefix: '-', $separator: '-') { + @each $name, $dropdown in $class-iterator { + &#{$prefix}#{$name} { + @each $type, $value in $dropdown { + &#{$separator}#{$type} { + #{$attribute}: $value; + } + } + } +} +} + + +/* Generates colors for Pastis. +Ex : .pastis-secondary-200 { + } +See _colors.scss */ + +.pastis { + @include color-modifiers('color'); +} + +/* Generates background colors for Pastis. +Ex : .pastis-bg-secondary-200 { + } +See _colors.scss */ +.pastis-bg { + @include color-modifiers('background'); +} + +.pastis-bgcolor { + @include color-modifiers('background-color'); +} +/* Generates buttons for Pastis. +Buttons can be primary, secondary; +Additionally they can be : +activated, disabled, hover and focus +Ex : .pastis-btn-primary-hover {} +See _buttons.scss */ + +.pastis-btn { + border-radius: 50px !important; + border : 0px; + outline: none; + @include button-modifiers('background'); +} +//Ex : .pastis-btn-rounded-primary-focus {} +//Ex : .pastis-btn-rounded-mini-white-hover {} + +.pastis-btn-rounded { + border-radius: 67px; + text-align: center; + width: 50px; + height: 50px; + outline-style: none; + @include rounded-button-modifiers('background'); +} + +.pastis-dropdown-border { + @extend .dropdown; + @include dropdown-modifiers('border',$dropdowns-border); + } + + +.pastis-dropdown-background { + @extend .dropdown; + @include dropdown-modifiers('background-color',$dropdowns-background); +} + +.pastis-dropdown-text { + @extend .dropdown-font-text; + @include dropdown-text-modifiers('color',$dropdowns-text); +} + + +//Generate inputs. Ex : pastis-input-enabled, pastis-input-active +.pastis-input { + @include input-modifiers('border', $input-border-colors); + @include input-modifiers('box-shadow', $input-box-shadow); + @extend .pastis-input-text; + outline: none; + height: 50px; + box-sizing: border-box; + border-radius: 87px; +} diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/_toaster.scss b/ui/ui-frontend/projects/pastis/src/assets/css/_toaster.scss new file mode 100644 index 0000000000000000000000000000000000000000..d18eb3771af83a2da0d44506a983a1e48ca256c6 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/_toaster.scss @@ -0,0 +1,207 @@ +/* based on angular-toastr css https://github.com/Foxandxss/angular-toastr/blob/cb508fe6801d6b288d3afc525bb40fee1b101650/dist/angular-toastr.css */ +@import 'mixins'; +@import 'colors'; +@import 'font'; + +/* position */ +.toast-center-center { + top: 50%; + left: 50%; + transform: translate(-50%, -50%); + } + .toast-top-center { + top: 0; + right: 0; + width: 100%; + } + .toast-bottom-center { + bottom: 0; + right: 0; + width: 100%; + } + .toast-top-full-width { + top: 0; + right: 0; + width: 100%; + } + .toast-bottom-full-width { + bottom: 0; + right: 10; + float: left; + width: 100%; + } + .toast-top-left { + top: 12px; + left: 12px; + } + .toast-top-right { + top: 12px; + right: 12px; + } + .toast-bottom-right { + right: 12px; + bottom: 12px; + } + .toast-bottom-left { + bottom: 12px; + left: 12px; + } + + /* toast styles */ + .toast-title { + font-weight: bold; + } + .toast-message { + word-wrap: break-word; + margin-left: -25px; + } + .toast-message a, + .toast-message label { + color: #FFFFFF; + } + .toast-message a:hover { + color: #CCCCCC; + text-decoration: none; + } + .toast-close-button { + position: relative; + right: -0.3em; + top: -0.3em; + float: right; + font-size: 20px; + font-weight: bold; + color: #FFFFFF; + text-shadow: 0 1px 0 #ffffff; + outline: none; + } + .toast-close-button:hover, + .toast-close-button:focus { + color: #000000; + text-decoration: none; + cursor: pointer; + opacity: 0.4; + } + /*Additional properties for button version + iOS requires the button element instead of an anchor tag. + If you want the anchor version, it requires `href="#"`.*/ + button.toast-close-button { + //padding: 0; + padding-right: 650px; + cursor: pointer; + float: right; + background: transparent; + border: 0; + } + .toast-container { + pointer-events: none; + position: fixed; + z-index: 999999; + } + .toast-container * { + box-sizing: border-box; + } + .toast-container .ngx-toastr { + position: relative; + overflow: hidden; + //margin: 0 0 6px; + padding: 15px 15px 15px 50px; + width: 300px; + //border-radius: 3px 3px 3px 3px; + background-position: 120px center; + background-repeat: no-repeat; + background-size: 24px; + box-shadow: 0 0 12px #999999; + color: #FFFFFF; + + font-family: Roboto; + font-style: normal; + font-weight: normal; + padding-left: 190px; + } + .toast-container .ngx-toastr:hover { + box-shadow: 0 0 12px #000000; + opacity: 1; + cursor: pointer; + } + /* https://github.com/FortAwesome/Font-Awesome-Pro/blob/master/advanced-options/raw-svg/regular/info-circle.svg */ + .toast-info { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' width='512' height='512'%3E%3Cpath fill='rgb(255,255,255)' d='M256 8C119.043 8 8 119.083 8 256c0 136.997 111.043 248 248 248s248-111.003 248-248C504 119.083 392.957 8 256 8zm0 110c23.196 0 42 18.804 42 42s-18.804 42-42 42-42-18.804-42-42 18.804-42 42-42zm56 254c0 6.627-5.373 12-12 12h-88c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h12v-64h-12c-6.627 0-12-5.373-12-12v-24c0-6.627 5.373-12 12-12h64c6.627 0 12 5.373 12 12v100h12c6.627 0 12 5.373 12 12v24z'/%3E%3C/svg%3E"); + } + /* https://github.com/FortAwesome/Font-Awesome-Pro/blob/master/advanced-options/raw-svg/regular/times-circle.svg */ + .toast-error { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' width='512' height='512'%3E%3Cpath fill='rgb(255,255,255)' d='M256 8C119 8 8 119 8 256s111 248 248 248 248-111 248-248S393 8 256 8zm121.6 313.1c4.7 4.7 4.7 12.3 0 17L338 377.6c-4.7 4.7-12.3 4.7-17 0L256 312l-65.1 65.6c-4.7 4.7-12.3 4.7-17 0L134.4 338c-4.7-4.7-4.7-12.3 0-17l65.6-65-65.6-65.1c-4.7-4.7-4.7-12.3 0-17l39.6-39.6c4.7-4.7 12.3-4.7 17 0l65 65.7 65.1-65.6c4.7-4.7 12.3-4.7 17 0l39.6 39.6c4.7 4.7 4.7 12.3 0 17L312 256l65.6 65.1z'/%3E%3C/svg%3E"); + } + /* https://github.com/FortAwesome/Font-Awesome-Pro/blob/master/advanced-options/raw-svg/regular/check.svg */ + .toast-success { + //background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' width='512' height='512'%3E%3Cpath fill='rgb(255,255,255)' d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E"); + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white' width='18px' height='18px'%3E%3Cpath d='M0 0h24v24H0V0z' fill='none'/%3E%3Cpath d='M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z'/%3E%3C/svg%3E"); + + } + /* https://github.com/FortAwesome/Font-Awesome-Pro/blob/master/advanced-options/raw-svg/regular/exclamation-triangle.svg */ + .toast-warning { + background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512' width='576' height='512'%3E%3Cpath fill='rgb(255,255,255)' d='M569.517 440.013C587.975 472.007 564.806 512 527.94 512H48.054c-36.937 0-59.999-40.055-41.577-71.987L246.423 23.985c18.467-32.009 64.72-31.951 83.154 0l239.94 416.028zM288 354c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z'/%3E%3C/svg%3E"); + } + .toast-container.toast-top-center .ngx-toastr, + .toast-container.toast-bottom-center .ngx-toastr { + width: 300px; + margin-left: auto; + margin-right: auto; + } + .toast-container.toast-top-full-width .ngx-toastr, + .toast-container.toast-bottom-full-width .ngx-toastr { + width: 100%; + margin-left: auto; + margin-right: auto; + } + .ngx-toastr { + background-color: #030303; + pointer-events: auto; + } + .toast-success { + background-color: map-get($colors, 'surface-snackbar') + } + .toast-error { + background-color: #BD362F; + } + .toast-info { + background-color: #2F96B4; + } + .toast-warning { + background-color: #F89406; + } + .toast-progress { + position: absolute; + left: 0; + bottom: 0; + height: 4px; + background-color: #000000; + opacity: 0.4; + } + /* Responsive Design */ + @media all and (max-width: 240px) { + .toast-container .ngx-toastr.div { + padding: 8px 8px 8px 50px; + width: 11em; + } + .toast-container .toast-close-button { + right: -0.2em; + top: -0.2em; + } + } + @media all and (min-width: 241px) and (max-width: 480px) { + .toast-container .ngx-toastr.div { + padding: 8px 8px 8px 50px; + width: 18em; + } + .toast-container .toast-close-button { + right: -0.2em; + top: -0.2em; + } + } + @media all and (min-width: 481px) and (max-width: 768px) { + .toast-container .ngx-toastr.div { + padding: 15px 15px 15px 50px; + width: 25em; + } + } + \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/_variables.scss b/ui/ui-frontend/projects/pastis/src/assets/css/_variables.scss new file mode 100644 index 0000000000000000000000000000000000000000..ae0bf208a069a2c7283c47ca094e243b9209fb7f --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/_variables.scss @@ -0,0 +1,3 @@ +@import "colors"; +@import "mixins"; + diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/angular-material.min.css b/ui/ui-frontend/projects/pastis/src/assets/css/angular-material.min.css new file mode 100644 index 0000000000000000000000000000000000000000..fc4a7260c24232fbe6ca25d118542457d63d5692 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/angular-material.min.css @@ -0,0 +1,6 @@ +/*! + * AngularJS Material Design + * https://github.com/angular/material + * @license MIT + * v1.1.9 + */body,html{height:100%;position:relative}body{margin:0;padding:0}[tabindex="-1"]:focus{outline:none}.inset{padding:10px}a.md-no-style,button.md-no-style{font-weight:400;background-color:inherit;text-align:left;border:none;padding:0;margin:0}button,input,select,textarea{vertical-align:baseline}button,html input[type=button],input[type=reset],input[type=submit]{cursor:pointer;-webkit-appearance:button}button[disabled],html input[type=button][disabled],input[type=reset][disabled],input[type=submit][disabled]{cursor:default}textarea{vertical-align:top;overflow:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box;-webkit-box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}input:-webkit-autofill{text-shadow:none}.md-visually-hidden{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;text-transform:none;width:1px}.md-shadow{position:absolute;top:0;left:0;bottom:0;right:0;border-radius:inherit;pointer-events:none}.md-shadow-bottom-z-1{box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.md-shadow-bottom-z-2{box-shadow:0 4px 8px 0 rgba(0,0,0,.4)}.md-shadow-animated.md-shadow{-webkit-transition:box-shadow .28s cubic-bezier(.4,0,.2,1);transition:box-shadow .28s cubic-bezier(.4,0,.2,1)}.md-ripple-container{pointer-events:none;position:absolute;overflow:hidden;left:0;top:0;width:100%;height:100%;-webkit-transition:all .55s cubic-bezier(.25,.8,.25,1);transition:all .55s cubic-bezier(.25,.8,.25,1)}.md-ripple{position:absolute;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transform-origin:50% 50%;transform-origin:50% 50%;opacity:0;border-radius:50%}.md-ripple.md-ripple-placed{-webkit-transition:margin .9s cubic-bezier(.25,.8,.25,1),border .9s cubic-bezier(.25,.8,.25,1),width .9s cubic-bezier(.25,.8,.25,1),height .9s cubic-bezier(.25,.8,.25,1),opacity .9s cubic-bezier(.25,.8,.25,1),-webkit-transform .9s cubic-bezier(.25,.8,.25,1);transition:margin .9s cubic-bezier(.25,.8,.25,1),border .9s cubic-bezier(.25,.8,.25,1),width .9s cubic-bezier(.25,.8,.25,1),height .9s cubic-bezier(.25,.8,.25,1),opacity .9s cubic-bezier(.25,.8,.25,1),-webkit-transform .9s cubic-bezier(.25,.8,.25,1);transition:margin .9s cubic-bezier(.25,.8,.25,1),border .9s cubic-bezier(.25,.8,.25,1),width .9s cubic-bezier(.25,.8,.25,1),height .9s cubic-bezier(.25,.8,.25,1),opacity .9s cubic-bezier(.25,.8,.25,1),transform .9s cubic-bezier(.25,.8,.25,1);transition:margin .9s cubic-bezier(.25,.8,.25,1),border .9s cubic-bezier(.25,.8,.25,1),width .9s cubic-bezier(.25,.8,.25,1),height .9s cubic-bezier(.25,.8,.25,1),opacity .9s cubic-bezier(.25,.8,.25,1),transform .9s cubic-bezier(.25,.8,.25,1),-webkit-transform .9s cubic-bezier(.25,.8,.25,1)}.md-ripple.md-ripple-scaled{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.md-ripple.md-ripple-active,.md-ripple.md-ripple-full,.md-ripple.md-ripple-visible{opacity:.2}.md-ripple.md-ripple-remove{-webkit-animation:md-remove-ripple .9s cubic-bezier(.25,.8,.25,1);animation:md-remove-ripple .9s cubic-bezier(.25,.8,.25,1)}@-webkit-keyframes md-remove-ripple{0%{opacity:.15}to{opacity:0}}@keyframes md-remove-ripple{0%{opacity:.15}to{opacity:0}}.md-padding{padding:8px}.md-margin{margin:8px}.md-scroll-mask{position:absolute;background-color:transparent;top:0;right:0;bottom:0;left:0;z-index:50}.md-scroll-mask>.md-scroll-mask-bar{display:block;position:absolute;background-color:#fafafa;right:0;top:0;bottom:0;z-index:65;box-shadow:inset 0 0 1px rgba(0,0,0,.3)}.md-no-momentum{-webkit-overflow-scrolling:auto}.md-no-flicker{-webkit-filter:blur(0)}@media (min-width:960px){.md-padding{padding:16px}}body[dir=ltr],body[dir=rtl],html[dir=ltr],html[dir=rtl]{unicode-bidi:embed}bdo[dir=rtl]{direction:rtl}bdo[dir=ltr],bdo[dir=rtl]{unicode-bidi:bidi-override}bdo[dir=ltr]{direction:ltr}body,html{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;min-height:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.md-display-4{font-size:112px;font-weight:300;letter-spacing:-.01em;line-height:112px}.md-display-3{font-size:56px;font-weight:400;letter-spacing:-.005em;line-height:56px}.md-display-2{font-size:45px;font-weight:400;line-height:64px}.md-display-1{font-size:34px;font-weight:400;line-height:40px}.md-headline{font-size:24px;font-weight:400;line-height:32px}.md-title{font-size:20px;font-weight:500;letter-spacing:.005em}.md-subhead{font-size:16px;line-height:24px}.md-body-1,.md-subhead{font-weight:400;letter-spacing:.01em}.md-body-1{font-size:14px;line-height:20px}.md-body-2{font-size:14px;font-weight:500;letter-spacing:.01em;line-height:24px}.md-caption{font-size:12px;letter-spacing:.02em}.md-button{letter-spacing:.01em}button,html,input,select,textarea{font-family:Roboto,Helvetica Neue,sans-serif}button,input,select,textarea{font-size:100%}.md-panel-outer-wrapper{height:100%;left:0;position:absolute;top:0;width:100%}._md-panel-hidden{display:none}._md-panel-offscreen{left:-9999px}._md-panel-fullscreen{border-radius:0;left:0;min-height:100%;min-width:100%;position:fixed;top:0}._md-panel-shown .md-panel{opacity:1;-webkit-transition:none;transition:none}.md-panel{opacity:0;position:fixed}.md-panel._md-panel-shown{opacity:1;-webkit-transition:none;transition:none}.md-panel._md-panel-animate-enter{opacity:1;-webkit-transition:all .3s cubic-bezier(0,0,.2,1);transition:all .3s cubic-bezier(0,0,.2,1)}.md-panel._md-panel-animate-leave{opacity:1;-webkit-transition:all .3s cubic-bezier(.4,0,1,1);transition:all .3s cubic-bezier(.4,0,1,1)}.md-panel._md-panel-animate-fade-out,.md-panel._md-panel-animate-scale-out{opacity:0}.md-panel._md-panel-backdrop{height:100%;position:absolute;width:100%}.md-panel._md-opaque-enter{opacity:.48;-webkit-transition:opacity .3s cubic-bezier(0,0,.2,1);transition:opacity .3s cubic-bezier(0,0,.2,1)}.md-panel._md-opaque-leave{-webkit-transition:opacity .3s cubic-bezier(.4,0,1,1);transition:opacity .3s cubic-bezier(.4,0,1,1)}md-autocomplete{border-radius:2px;display:block;height:40px;position:relative;overflow:visible;min-width:190px}md-autocomplete[disabled] input{cursor:default}md-autocomplete[md-floating-label]{border-radius:0;background:transparent;height:auto}md-autocomplete[md-floating-label] md-input-container{padding-bottom:0}md-autocomplete[md-floating-label] md-autocomplete-wrap{height:auto}md-autocomplete[md-floating-label] .md-show-clear-button button{display:block;position:absolute;right:0;top:20px;width:30px;height:30px}md-autocomplete[md-floating-label] .md-show-clear-button input{padding-right:30px}[dir=rtl] md-autocomplete[md-floating-label] .md-show-clear-button input{padding-right:0;padding-left:30px}md-autocomplete md-autocomplete-wrap{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;box-sizing:border-box;position:relative;overflow:visible;height:40px}md-autocomplete md-autocomplete-wrap.md-menu-showing{z-index:51}md-autocomplete md-autocomplete-wrap input,md-autocomplete md-autocomplete-wrap md-input-container{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;box-sizing:border-box;min-width:0}md-autocomplete md-autocomplete-wrap md-progress-linear{position:absolute;bottom:-2px;left:0}md-autocomplete md-autocomplete-wrap md-progress-linear.md-inline{bottom:40px;right:2px;left:2px;width:auto}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate{position:absolute;top:0;left:0;width:100%;height:3px;-webkit-transition:none;transition:none}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate .md-container{-webkit-transition:none;transition:none;height:3px}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-enter{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-enter.ng-enter-active{opacity:1}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-leave{-webkit-transition:opacity .15s linear;transition:opacity .15s linear}md-autocomplete md-autocomplete-wrap md-progress-linear .md-mode-indeterminate.ng-leave.ng-leave-active{opacity:0}md-autocomplete input:not(.md-input){font-size:14px;box-sizing:border-box;border:none;box-shadow:none;outline:none;background:transparent;width:100%;padding:0 15px;line-height:40px;height:40px}md-autocomplete input:not(.md-input)::-ms-clear{display:none}md-autocomplete .md-show-clear-button button{position:relative;line-height:20px;text-align:center;width:30px;height:30px;cursor:pointer;border:none;border-radius:50%;padding:0;font-size:12px;background:transparent;margin:auto 5px}md-autocomplete .md-show-clear-button button:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px;border-radius:50%;-webkit-transform:scale(0);transform:scale(0);opacity:0;-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}md-autocomplete .md-show-clear-button button:focus{outline:none}md-autocomplete .md-show-clear-button button:focus:after{-webkit-transform:scale(1);transform:scale(1);opacity:1}md-autocomplete .md-show-clear-button button md-icon{position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0) scale(.9);transform:translate3d(-50%,-50%,0) scale(.9)}md-autocomplete .md-show-clear-button button md-icon path{stroke-width:0}md-autocomplete .md-show-clear-button button.ng-enter{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:-webkit-transform .15s ease-out;transition:-webkit-transform .15s ease-out;transition:transform .15s ease-out;transition:transform .15s ease-out,-webkit-transform .15s ease-out}md-autocomplete .md-show-clear-button button.ng-enter.ng-enter-active{-webkit-transform:scale(1);transform:scale(1)}md-autocomplete .md-show-clear-button button.ng-leave{-webkit-transition:-webkit-transform .15s ease-out;transition:-webkit-transform .15s ease-out;transition:transform .15s ease-out;transition:transform .15s ease-out,-webkit-transform .15s ease-out}md-autocomplete .md-show-clear-button button.ng-leave.ng-leave-active{-webkit-transform:scale(0);transform:scale(0)}@media screen and (-ms-high-contrast:active){md-autocomplete input{border:1px solid #fff}md-autocomplete li:focus{color:#fff}}.md-virtual-repeat-container.md-autocomplete-suggestions-container{position:absolute;box-shadow:0 2px 5px rgba(0,0,0,.25);z-index:100;height:100%}.md-virtual-repeat-container.md-autocomplete-suggestions-container .highlight{font-weight:700}.md-virtual-repeat-container.md-not-found{height:48px}.md-autocomplete-suggestions{margin:0;list-style:none;padding:0}.md-autocomplete-suggestions li{font-size:14px;overflow:hidden;padding:0 15px;line-height:48px;height:48px;-webkit-transition:background .15s linear;transition:background .15s linear;margin:0;white-space:nowrap;text-overflow:ellipsis}.md-autocomplete-suggestions li:focus{outline:none}.md-autocomplete-suggestions li:not(.md-not-found-wrapper){cursor:pointer}@media screen and (-ms-high-contrast:active){.md-autocomplete-suggestions,md-autocomplete{border:1px solid #fff}}md-backdrop{-webkit-transition:opacity .45s;transition:opacity .45s;position:absolute;top:0;bottom:0;left:0;right:0;z-index:50}md-backdrop.md-menu-backdrop{position:fixed!important;z-index:99}md-backdrop.md-select-backdrop{z-index:81;-webkit-transition-duration:0;transition-duration:0}md-backdrop.md-dialog-backdrop{z-index:79}md-backdrop.md-bottom-sheet-backdrop{z-index:69}md-backdrop.md-sidenav-backdrop{z-index:59}md-backdrop.md-click-catcher{position:absolute}md-backdrop.md-opaque{opacity:.48}md-backdrop.md-opaque.ng-enter{opacity:0}md-backdrop.md-opaque.ng-enter.md-opaque.ng-enter-active{opacity:.48}md-backdrop.md-opaque.ng-leave{opacity:.48;-webkit-transition:opacity .4s;transition:opacity .4s}md-backdrop.md-opaque.ng-leave.md-opaque.ng-leave-active{opacity:0}md-bottom-sheet{position:absolute;left:0;right:0;bottom:0;padding:8px 16px 88px;z-index:70;border-top-width:1px;border-top-style:solid;-webkit-transform:translate3d(0,80px,0);transform:translate3d(0,80px,0);-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-property:-webkit-transform;transition-property:-webkit-transform;transition-property:transform;transition-property:transform,-webkit-transform}md-bottom-sheet.md-has-header{padding-top:0}md-bottom-sheet.ng-enter{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}md-bottom-sheet.ng-enter-active{opacity:1;display:block;-webkit-transform:translate3d(0,80px,0)!important;transform:translate3d(0,80px,0)!important}md-bottom-sheet.ng-leave-active{-webkit-transform:translate3d(0,100%,0)!important;transform:translate3d(0,100%,0)!important;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-bottom-sheet .md-subheader{background-color:transparent;font-family:Roboto,Helvetica Neue,sans-serif;line-height:56px;padding:0;white-space:nowrap}md-bottom-sheet md-inline-icon{display:inline-block;height:24px;width:24px;fill:#444}md-bottom-sheet md-list-item{display:-webkit-box;display:-webkit-flex;display:flex;outline:none}md-bottom-sheet md-list-item:hover{cursor:pointer}md-bottom-sheet.md-list md-list-item{padding:0;-webkit-box-align:center;-webkit-align-items:center;align-items:center;height:48px}md-bottom-sheet.md-grid{padding-left:24px;padding-right:24px;padding-top:0}md-bottom-sheet.md-grid md-list{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;flex-wrap:wrap}md-bottom-sheet.md-grid md-list,md-bottom-sheet.md-grid md-list-item{-webkit-box-direction:normal;-webkit-transition:all .5s;transition:all .5s;-webkit-box-align:center;-webkit-align-items:center;align-items:center}md-bottom-sheet.md-grid md-list-item{-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;height:96px;margin-top:8px;margin-bottom:8px}@media (max-width:960px){md-bottom-sheet.md-grid md-list-item{-webkit-box-flex:1;-webkit-flex:1 1 33.33333%;flex:1 1 33.33333%;max-width:33.33333%}md-bottom-sheet.md-grid md-list-item:nth-of-type(3n+1){-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start}md-bottom-sheet.md-grid md-list-item:nth-of-type(3n){-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end}}@media (min-width:960px) and (max-width:1279px){md-bottom-sheet.md-grid md-list-item{-webkit-box-flex:1;-webkit-flex:1 1 25%;flex:1 1 25%;max-width:25%}}@media (min-width:1280px) and (max-width:1919px){md-bottom-sheet.md-grid md-list-item{-webkit-box-flex:1;-webkit-flex:1 1 16.66667%;flex:1 1 16.66667%;max-width:16.66667%}}@media (min-width:1920px){md-bottom-sheet.md-grid md-list-item{-webkit-box-flex:1;-webkit-flex:1 1 14.28571%;flex:1 1 14.28571%;max-width:14.28571%}}md-bottom-sheet.md-grid md-list-item:before{display:none}md-bottom-sheet.md-grid md-list-item .md-list-item-content{width:48px;padding-bottom:16px}md-bottom-sheet.md-grid md-list-item .md-grid-item-content,md-bottom-sheet.md-grid md-list-item .md-list-item-content{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-align:center;-webkit-align-items:center;align-items:center}md-bottom-sheet.md-grid md-list-item .md-grid-item-content{border:1px solid transparent;width:80px}md-bottom-sheet.md-grid md-list-item .md-grid-text{font-weight:400;line-height:16px;font-size:13px;margin:0;white-space:nowrap;width:64px;text-align:center;text-transform:none;padding-top:8px}@media screen and (-ms-high-contrast:active){md-bottom-sheet{border:1px solid #fff}}button.md-button::-moz-focus-inner{border:0}.md-button{display:inline-block;position:relative;cursor:pointer;min-height:36px;min-width:88px;line-height:36px;vertical-align:middle;-webkit-box-align:center;-webkit-align-items:center;align-items:center;text-align:center;border-radius:2px;box-sizing:border-box;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;outline:none;border:0;padding:0 6px;margin:6px 8px;background:transparent;color:currentColor;white-space:nowrap;text-transform:uppercase;font-weight:500;font-size:14px;font-style:inherit;font-variant:inherit;font-family:inherit;text-decoration:none;overflow:hidden;-webkit-transition:box-shadow .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1);transition:box-shadow .4s cubic-bezier(.25,.8,.25,1),background-color .4s cubic-bezier(.25,.8,.25,1)}.md-dense :not(.md-dense-disabled) .md-button:not(.md-dense-disabled),.md-dense>.md-button:not(.md-dense-disabled){min-height:32px;line-height:32px;font-size:13px}.md-button:focus{outline:none}.md-button:focus,.md-button:hover{text-decoration:none}.md-button.ng-hide,.md-button.ng-leave{-webkit-transition:none;transition:none}.md-button.md-cornered{border-radius:0}.md-button.md-icon{padding:0;background:none}.md-button.md-raised:not([disabled]){box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.md-button.md-icon-button{margin:0 6px;height:40px;min-width:0;line-height:24px;padding:8px;width:40px;border-radius:50%}.md-button.md-fab{z-index:20;line-height:56px;min-width:0;width:56px;height:56px;vertical-align:middle;box-shadow:0 2px 5px 0 rgba(0,0,0,.26);border-radius:50%;background-clip:padding-box;overflow:hidden;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-property:background-color,box-shadow,-webkit-transform;transition-property:background-color,box-shadow,-webkit-transform;transition-property:background-color,box-shadow,transform;transition-property:background-color,box-shadow,transform,-webkit-transform}.md-button.md-fab.md-fab-bottom-right{top:auto;right:20px;bottom:20px;left:auto;position:absolute}.md-button.md-fab.md-fab-bottom-left{top:auto;right:auto;bottom:20px;left:20px;position:absolute}.md-button.md-fab.md-fab-top-right{top:20px;right:20px;bottom:auto;left:auto;position:absolute}.md-button.md-fab.md-fab-top-left{top:20px;right:auto;bottom:auto;left:20px;position:absolute}.md-button.md-fab.md-mini{line-height:40px;width:40px;height:40px}.md-button.md-fab.ng-hide,.md-button.md-fab.ng-leave{-webkit-transition:none;transition:none}.md-button:not([disabled]).md-fab.md-focused,.md-button:not([disabled]).md-raised.md-focused{box-shadow:0 2px 5px 0 rgba(0,0,0,.26)}.md-button:not([disabled]).md-fab:active,.md-button:not([disabled]).md-raised:active{box-shadow:0 4px 8px 0 rgba(0,0,0,.4)}.md-button .md-ripple-container{border-radius:inherit;background-clip:padding-box;overflow:hidden;-webkit-transform:translateZ(0)}.md-button.md-icon-button md-icon,button.md-button.md-fab md-icon{display:block}.md-toast-open-top .md-button.md-fab-top-left,.md-toast-open-top .md-button.md-fab-top-right{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:translate3d(0,42px,0);transform:translate3d(0,42px,0)}.md-toast-open-top .md-button.md-fab-top-left:not([disabled]).md-focused,.md-toast-open-top .md-button.md-fab-top-left:not([disabled]):hover,.md-toast-open-top .md-button.md-fab-top-right:not([disabled]).md-focused,.md-toast-open-top .md-button.md-fab-top-right:not([disabled]):hover{-webkit-transform:translate3d(0,41px,0);transform:translate3d(0,41px,0)}.md-toast-open-bottom .md-button.md-fab-bottom-left,.md-toast-open-bottom .md-button.md-fab-bottom-right{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transform:translate3d(0,-42px,0);transform:translate3d(0,-42px,0)}.md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]).md-focused,.md-toast-open-bottom .md-button.md-fab-bottom-left:not([disabled]):hover,.md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]).md-focused,.md-toast-open-bottom .md-button.md-fab-bottom-right:not([disabled]):hover{-webkit-transform:translate3d(0,-43px,0);transform:translate3d(0,-43px,0)}.md-button-group{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:1;-webkit-flex:1;flex:1;width:100%}.md-button-group>.md-button{-webkit-box-flex:1;-webkit-flex:1;flex:1;display:block;overflow:hidden;width:0;border-width:1px 0 1px 1px;border-radius:0;text-align:center;text-overflow:ellipsis;white-space:nowrap}.md-button-group>.md-button:first-child{border-radius:2px 0 0 2px}.md-button-group>.md-button:last-child{border-right-width:1px;border-radius:0 2px 2px 0}@media screen and (-ms-high-contrast:active){.md-button.md-fab,.md-button.md-raised{border:1px solid #fff}}md-card{box-sizing:border-box;-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column;margin:8px;box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12)}md-card,md-card md-card-header{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-direction:normal}md-card md-card-header{padding:16px;-webkit-box-orient:horizontal;-webkit-flex-direction:row;flex-direction:row}md-card md-card-header:first-child md-card-avatar{margin-right:12px}[dir=rtl] md-card md-card-header:first-child md-card-avatar{margin-right:auto;margin-left:12px}md-card md-card-header:last-child md-card-avatar{margin-left:12px}[dir=rtl] md-card md-card-header:last-child md-card-avatar{margin-left:auto;margin-right:12px}md-card md-card-header md-card-avatar{width:40px;height:40px}md-card md-card-header md-card-avatar .md-user-avatar,md-card md-card-header md-card-avatar md-icon{border-radius:50%}md-card md-card-header md-card-avatar md-icon{padding:8px}md-card md-card-header md-card-avatar md-icon>svg{height:inherit;width:inherit}md-card md-card-header md-card-avatar+md-card-header-text{max-height:40px}md-card md-card-header md-card-avatar+md-card-header-text .md-title{font-size:14px}md-card md-card-header md-card-header-text{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}md-card md-card-header md-card-header-text .md-subhead{font-size:14px}md-card>img,md-card>md-card-header img,md-card md-card-title-media img{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;width:100%;height:auto}md-card md-card-title{padding:24px 16px 16px;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-card md-card-title+md-card-content{padding-top:0}md-card md-card-title md-card-title-text{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;display:-webkit-box;display:-webkit-flex;display:flex}md-card md-card-title md-card-title-text .md-subhead{padding-top:0;font-size:14px}md-card md-card-title md-card-title-text:only-child .md-subhead{padding-top:12px}md-card md-card-title md-card-title-media{margin-top:-8px}md-card md-card-title md-card-title-media .md-media-sm{height:80px;width:80px}md-card md-card-title md-card-title-media .md-media-md{height:112px;width:112px}md-card md-card-title md-card-title-media .md-media-lg{height:152px;width:152px}md-card md-card-content{display:block;padding:16px}md-card md-card-content>p:first-child{margin-top:0}md-card md-card-content>p:last-child{margin-bottom:0}md-card md-card-content .md-media-xl{height:240px;width:240px}md-card .md-actions,md-card md-card-actions{margin:8px}md-card .md-actions.layout-column .md-button:not(.md-icon-button),md-card md-card-actions.layout-column .md-button:not(.md-icon-button){margin:2px 0}md-card .md-actions.layout-column .md-button:not(.md-icon-button):first-of-type,md-card md-card-actions.layout-column .md-button:not(.md-icon-button):first-of-type{margin-top:0}md-card .md-actions.layout-column .md-button:not(.md-icon-button):last-of-type,md-card md-card-actions.layout-column .md-button:not(.md-icon-button):last-of-type{margin-bottom:0}md-card .md-actions.layout-column .md-button.md-icon-button,md-card md-card-actions.layout-column .md-button.md-icon-button{margin-top:6px;margin-bottom:6px}md-card .md-actions md-card-icon-actions,md-card md-card-actions md-card-icon-actions{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button),md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button){margin:0 4px}md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type,md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type{margin-left:0}[dir=rtl] md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type,[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):first-of-type{margin-left:auto;margin-right:0}md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type,md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type{margin-right:0}[dir=rtl] md-card .md-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type,[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button:not(.md-icon-button):last-of-type{margin-right:auto;margin-left:0}md-card .md-actions:not(.layout-column) .md-button.md-icon-button,md-card md-card-actions:not(.layout-column) .md-button.md-icon-button{margin-left:6px;margin-right:6px}md-card .md-actions:not(.layout-column) .md-button.md-icon-button:first-of-type,md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:first-of-type{margin-left:12px}[dir=rtl] md-card .md-actions:not(.layout-column) .md-button.md-icon-button:first-of-type,[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:first-of-type{margin-left:auto;margin-right:12px}md-card .md-actions:not(.layout-column) .md-button.md-icon-button:last-of-type,md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:last-of-type{margin-right:12px}[dir=rtl] md-card .md-actions:not(.layout-column) .md-button.md-icon-button:last-of-type,[dir=rtl] md-card md-card-actions:not(.layout-column) .md-button.md-icon-button:last-of-type{margin-right:auto;margin-left:12px}md-card .md-actions:not(.layout-column) .md-button+md-card-icon-actions,md-card md-card-actions:not(.layout-column) .md-button+md-card-icon-actions{-webkit-box-flex:1;-webkit-flex:1;flex:1;-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-card md-card-footer{margin-top:auto;padding:16px}@media screen and (-ms-high-contrast:active){md-card{border:1px solid #fff}}.md-image-no-fill>img{width:auto;height:auto}.md-inline-form md-checkbox{margin:19px 0 18px}md-checkbox{box-sizing:border-box;display:inline-block;margin-bottom:16px;white-space:nowrap;cursor:pointer;outline:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;position:relative;min-width:20px;min-height:20px;margin-left:0;margin-right:16px}[dir=rtl] md-checkbox{margin-left:16px;margin-right:0}md-checkbox:last-of-type{margin-left:0;margin-right:0}md-checkbox.md-focused:not([disabled]) .md-container:before{left:-8px;top:-8px;right:-8px;bottom:-8px}md-checkbox.md-focused:not([disabled]):not(.md-checked) .md-container:before{background-color:rgba(0,0,0,.12)}md-checkbox.md-align-top-left>div.md-container{top:12px}md-checkbox .md-container{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);box-sizing:border-box;display:inline-block;width:20px;height:20px;left:0;right:auto}[dir=rtl] md-checkbox .md-container{left:auto;right:0}md-checkbox .md-container:before{box-sizing:border-box;background-color:transparent;border-radius:50%;content:"";position:absolute;display:block;height:auto;left:0;top:0;right:0;bottom:0;-webkit-transition:all .5s;transition:all .5s;width:auto}md-checkbox .md-container:after{box-sizing:border-box;content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}md-checkbox .md-container .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-15px;top:-15px;right:-15px;bottom:-15px}md-checkbox .md-icon{box-sizing:border-box;-webkit-transition:.24s;transition:.24s;position:absolute;top:0;left:0;width:20px;height:20px;border-width:2px;border-style:solid;border-radius:2px}md-checkbox.md-checked .md-icon{border-color:transparent}md-checkbox.md-checked .md-icon:after{box-sizing:border-box;-webkit-transform:rotate(45deg);transform:rotate(45deg);position:absolute;left:4.66667px;top:.22222px;display:table;width:6.66667px;height:13.33333px;border-width:2px;border-style:solid;border-top:0;border-left:0;content:""}md-checkbox[disabled]{cursor:default}md-checkbox.md-indeterminate .md-icon:after{box-sizing:border-box;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:table;width:12px;height:2px;border-width:2px;border-style:solid;border-top:0;border-left:0;content:""}md-checkbox .md-label{box-sizing:border-box;position:relative;display:inline-block;vertical-align:middle;white-space:normal;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;margin-left:30px;margin-right:0}[dir=rtl] md-checkbox .md-label{margin-left:0;margin-right:30px}.md-contact-chips .md-chips md-chip{padding:0 25px 0 0}[dir=rtl] .md-contact-chips .md-chips md-chip{padding:0 0 0 25px}.md-contact-chips .md-chips md-chip .md-contact-avatar{float:left}[dir=rtl] .md-contact-chips .md-chips md-chip .md-contact-avatar{float:right}.md-contact-chips .md-chips md-chip .md-contact-avatar img{height:32px;border-radius:16px}.md-contact-chips .md-chips md-chip .md-contact-name{display:inline-block;height:32px;margin-left:8px}[dir=rtl] .md-contact-chips .md-chips md-chip .md-contact-name{margin-left:auto;margin-right:8px}.md-contact-suggestion{height:56px}.md-contact-suggestion img{height:40px;border-radius:20px;margin-top:8px}.md-contact-suggestion .md-contact-name{margin-left:8px;width:120px}[dir=rtl] .md-contact-suggestion .md-contact-name{margin-left:auto;margin-right:8px}.md-contact-suggestion .md-contact-email,.md-contact-suggestion .md-contact-name{display:inline-block;overflow:hidden;text-overflow:ellipsis}.md-contact-chips-suggestions li{height:100%}.md-chips{display:block;font-family:Roboto,Helvetica Neue,sans-serif;font-size:16px;padding:0 0 8px 3px;vertical-align:middle}.md-chips:after{content:"";display:table;clear:both}[dir=rtl] .md-chips{padding:0 3px 8px 0}.md-chips.md-readonly .md-chip-input-container{min-height:32px}.md-chips:not(.md-readonly){cursor:text}.md-chips.md-removable md-chip{padding-right:22px}[dir=rtl] .md-chips.md-removable md-chip{padding-right:0;padding-left:22px}.md-chips.md-removable md-chip .md-chip-content{padding-right:4px}[dir=rtl] .md-chips.md-removable md-chip .md-chip-content{padding-right:0;padding-left:4px}.md-chips md-chip{cursor:default;border-radius:16px;display:block;height:32px;line-height:32px;margin:8px 8px 0 0;padding:0 12px;float:left;box-sizing:border-box;max-width:100%;position:relative}[dir=rtl] .md-chips md-chip{margin:8px 0 0 8px;float:right}.md-chips md-chip .md-chip-content{display:block;float:left;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}[dir=rtl] .md-chips md-chip .md-chip-content{float:right}.md-chips md-chip .md-chip-content:focus{outline:none}.md-chips md-chip._md-chip-content-edit-is-enabled{-webkit-user-select:none;-moz-user-select:none;-khtml-user-select:none;-ms-user-select:none}.md-chips md-chip .md-chip-remove-container{position:absolute;right:0;line-height:22px}[dir=rtl] .md-chips md-chip .md-chip-remove-container{right:auto;left:0}.md-chips md-chip .md-chip-remove{text-align:center;width:32px;height:32px;min-width:0;padding:0;background:transparent;border:none;box-shadow:none;margin:0;position:relative}.md-chips md-chip .md-chip-remove md-icon{height:18px;width:18px;position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.md-chips .md-chip-input-container{display:block;line-height:32px;margin:8px 8px 0 0;padding:0;float:left}[dir=rtl] .md-chips .md-chip-input-container{margin:8px 0 0 8px;float:right}.md-chips .md-chip-input-container input:not([type]),.md-chips .md-chip-input-container input[type=email],.md-chips .md-chip-input-container input[type=number],.md-chips .md-chip-input-container input[type=tel],.md-chips .md-chip-input-container input[type=text],.md-chips .md-chip-input-container input[type=url]{border:0;height:32px;line-height:32px;padding:0}.md-chips .md-chip-input-container input:not([type]):focus,.md-chips .md-chip-input-container input[type=email]:focus,.md-chips .md-chip-input-container input[type=number]:focus,.md-chips .md-chip-input-container input[type=tel]:focus,.md-chips .md-chip-input-container input[type=text]:focus,.md-chips .md-chip-input-container input[type=url]:focus{outline:none}.md-chips .md-chip-input-container md-autocomplete,.md-chips .md-chip-input-container md-autocomplete-wrap{background:transparent}.md-chips .md-chip-input-container md-autocomplete md-autocomplete-wrap{box-shadow:none}.md-chips .md-chip-input-container input{border:0;height:32px;line-height:32px;padding:0}.md-chips .md-chip-input-container input:focus{outline:none}.md-chips .md-chip-input-container md-autocomplete,.md-chips .md-chip-input-container md-autocomplete-wrap{height:32px}.md-chips .md-chip-input-container md-autocomplete{box-shadow:none}.md-chips .md-chip-input-container md-autocomplete input{position:relative}.md-chips .md-chip-input-container:not(:first-child){margin:8px 8px 0 0}[dir=rtl] .md-chips .md-chip-input-container:not(:first-child){margin:8px 0 0 8px}.md-chips .md-chip-input-container input{background:transparent;border-width:0}.md-chips md-autocomplete button{display:none}@media screen and (-ms-high-contrast:active){.md-chip-input-container,md-chip{border:1px solid #fff}.md-chip-input-container md-autocomplete{border:none}}md-content{display:block;position:relative;overflow:auto;-webkit-overflow-scrolling:touch}md-content[md-scroll-y]{overflow-y:auto;overflow-x:hidden}md-content[md-scroll-x]{overflow-x:auto;overflow-y:hidden}@media print{md-content{overflow:visible!important}}md-calendar{font-size:13px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.md-calendar-scroll-mask{display:inline-block;overflow:hidden;height:308px}.md-calendar-scroll-mask .md-virtual-repeat-scroller{overflow-y:scroll;-webkit-overflow-scrolling:touch}.md-calendar-scroll-mask .md-virtual-repeat-scroller::-webkit-scrollbar{display:none}.md-calendar-scroll-mask .md-virtual-repeat-offsetter{width:100%}.md-calendar-scroll-container{box-shadow:inset -3px 3px 6px rgba(0,0,0,.2);display:inline-block;height:308px;width:346px}.md-calendar-date{height:44px;width:44px;text-align:center;padding:0;border:none;box-sizing:content-box}.md-calendar-date:first-child{padding-left:16px}[dir=rtl] .md-calendar-date:first-child{padding-left:0;padding-right:16px}.md-calendar-date:last-child{padding-right:16px}[dir=rtl] .md-calendar-date:last-child{padding-right:0;padding-left:16px}.md-calendar-date.md-calendar-date-disabled{cursor:default}.md-calendar-date-selection-indicator{-webkit-transition:background-color,color .4s cubic-bezier(.25,.8,.25,1);transition:background-color,color .4s cubic-bezier(.25,.8,.25,1);border-radius:50%;display:inline-block;width:40px;height:40px;line-height:40px}.md-calendar-date:not(.md-disabled) .md-calendar-date-selection-indicator{cursor:pointer}.md-calendar-month-label{height:44px;font-size:14px;font-weight:500;padding:0 0 0 24px}[dir=rtl] .md-calendar-month-label{padding:0 24px 0 0}.md-calendar-month-label.md-calendar-label-clickable{cursor:pointer}.md-calendar-month-label md-icon{-webkit-transform:rotate(180deg);transform:rotate(180deg)}[dir=rtl] .md-calendar-month-label md-icon{-webkit-transform:none;transform:none}.md-calendar-month-label span{vertical-align:middle}.md-calendar-day-header{table-layout:fixed;border-spacing:0;border-collapse:collapse}.md-calendar-day-header th{height:40px;width:44px;text-align:center;padding:0;border:none;box-sizing:content-box;font-weight:400}.md-calendar-day-header th:first-child{padding-left:16px}[dir=rtl] .md-calendar-day-header th:first-child{padding-left:0;padding-right:16px}.md-calendar-day-header th:last-child{padding-right:16px}[dir=rtl] .md-calendar-day-header th:last-child{padding-right:0;padding-left:16px}.md-calendar{table-layout:fixed;border-spacing:0;border-collapse:collapse}.md-calendar tr:last-child td{border-bottom-width:1px;border-bottom-style:solid}.md-calendar:first-child{border-top:1px solid transparent}.md-calendar tbody,.md-calendar td,.md-calendar tr{vertical-align:middle;box-sizing:content-box}md-datepicker{white-space:nowrap;overflow:hidden;vertical-align:middle}.md-inline-form md-datepicker{margin-top:12px}.md-datepicker-button{display:inline-block;box-sizing:border-box;background:none;vertical-align:middle;position:relative}.md-datepicker-button:before{top:0;left:0;bottom:0;right:0;position:absolute;content:"";speak:none}.md-datepicker-input{font-size:14px;box-sizing:border-box;border:none;box-shadow:none;outline:none;background:transparent;min-width:120px;max-width:328px;padding:0 0 5px}.md-datepicker-input::-ms-clear{display:none}._md-datepicker-floating-label>md-datepicker{overflow:visible}._md-datepicker-floating-label>md-datepicker .md-datepicker-input-container{border:none}._md-datepicker-floating-label>md-datepicker .md-datepicker-button{float:left;margin-top:-12px;top:9.5px}[dir=rtl] ._md-datepicker-floating-label>md-datepicker .md-datepicker-button{float:right}._md-datepicker-floating-label .md-input{float:none}._md-datepicker-floating-label._md-datepicker-has-calendar-icon>label:not(.md-no-float):not(.md-container-ignore){right:18px;left:auto;width:calc(100% - 84px)}[dir=rtl] ._md-datepicker-floating-label._md-datepicker-has-calendar-icon>label:not(.md-no-float):not(.md-container-ignore){right:auto;left:18px}._md-datepicker-floating-label._md-datepicker-has-calendar-icon .md-input-message-animation{margin-left:64px}[dir=rtl] ._md-datepicker-floating-label._md-datepicker-has-calendar-icon .md-input-message-animation{margin-left:auto;margin-right:64px}._md-datepicker-has-triangle-icon{padding-right:18px;margin-right:-18px}[dir=rtl] ._md-datepicker-has-triangle-icon{padding-right:0;padding-left:18px;margin-right:auto;margin-left:-18px}.md-datepicker-input-container{position:relative;border-bottom-width:1px;border-bottom-style:solid;display:inline-block;width:auto}.md-icon-button+.md-datepicker-input-container{margin-left:12px}[dir=rtl] .md-icon-button+.md-datepicker-input-container{margin-left:auto;margin-right:12px}.md-datepicker-input-container.md-datepicker-focused{border-bottom-width:2px}.md-datepicker-is-showing .md-scroll-mask{z-index:99}.md-datepicker-calendar-pane{position:absolute;top:0;left:-100%;z-index:100;border-width:1px;border-style:solid;background:transparent;-webkit-transform:scale(0);transform:scale(0);-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transition:-webkit-transform .2s cubic-bezier(.25,.8,.25,1);transition:-webkit-transform .2s cubic-bezier(.25,.8,.25,1);transition:transform .2s cubic-bezier(.25,.8,.25,1);transition:transform .2s cubic-bezier(.25,.8,.25,1),-webkit-transform .2s cubic-bezier(.25,.8,.25,1)}.md-datepicker-calendar-pane.md-pane-open{-webkit-transform:scale(1);transform:scale(1)}.md-datepicker-input-mask{height:40px;width:340px;position:relative;overflow:hidden;background:transparent;pointer-events:none;cursor:text}.md-datepicker-calendar{opacity:0;-webkit-transition:opacity .2s cubic-bezier(.5,0,.25,1);transition:opacity .2s cubic-bezier(.5,0,.25,1)}.md-pane-open .md-datepicker-calendar{opacity:1}.md-datepicker-calendar md-calendar:focus{outline:none}.md-datepicker-expand-triangle{position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid}.md-datepicker-triangle-button{position:absolute;right:0;bottom:-2.5px;-webkit-transform:translateX(45%);transform:translateX(45%)}[dir=rtl] .md-datepicker-triangle-button{right:auto;left:0;-webkit-transform:translateX(-45%);transform:translateX(-45%)}.md-datepicker-triangle-button.md-button.md-icon-button{height:36px;width:36px;position:absolute;padding:8px}md-datepicker[disabled] .md-datepicker-input-container{border-bottom-color:transparent}md-datepicker[disabled] .md-datepicker-triangle-button{display:none}.md-datepicker-open{overflow:hidden}.md-datepicker-open .md-datepicker-input-container,.md-datepicker-open input.md-input{border-bottom-color:transparent}.md-datepicker-open .md-datepicker-triangle-button,.md-datepicker-open.md-input-has-placeholder>label,.md-datepicker-open.md-input-has-value>label,.md-datepicker-pos-adjusted .md-datepicker-input-mask{display:none}.md-datepicker-calendar-pane .md-calendar{-webkit-transform:translateY(-85px);transform:translateY(-85px);-webkit-transition:-webkit-transform .65s cubic-bezier(.25,.8,.25,1);transition:-webkit-transform .65s cubic-bezier(.25,.8,.25,1);transition:transform .65s cubic-bezier(.25,.8,.25,1);transition:transform .65s cubic-bezier(.25,.8,.25,1),-webkit-transform .65s cubic-bezier(.25,.8,.25,1);-webkit-transition-delay:.125s;transition-delay:.125s}.md-datepicker-calendar-pane.md-pane-open .md-calendar{-webkit-transform:translateY(0);transform:translateY(0)}.md-dialog-is-showing{max-height:100%}.md-dialog-container{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;-webkit-box-align:center;-webkit-align-items:center;align-items:center;position:absolute;top:0;left:0;width:100%;height:100%;z-index:80;overflow:hidden}.md-dialog-container,md-dialog{display:-webkit-box;display:-webkit-flex;display:flex}md-dialog{opacity:0;min-width:240px;max-width:80%;max-height:80%;position:relative;overflow:auto;box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12);-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}md-dialog.md-transition-in{opacity:1;-webkit-transform:translate(0,0) scale(1);transform:translate(0,0) scale(1)}md-dialog.md-transition-in,md-dialog.md-transition-out{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}md-dialog.md-transition-out{opacity:0;-webkit-transform:translate(0,100%) scale(.2);transform:translate(0,100%) scale(.2)}md-dialog>form{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;overflow:auto}md-dialog .md-dialog-content{padding:24px}md-dialog md-dialog-content{-webkit-box-ordinal-group:2;-webkit-order:1;order:1;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;overflow:auto;-webkit-overflow-scrolling:touch}md-dialog md-dialog-content:not([layout=row])>:first-child:not(.md-subheader){margin-top:0}md-dialog md-dialog-content:focus{outline:none}md-dialog md-dialog-content .md-subheader{margin:0}md-dialog md-dialog-content .md-dialog-content-body{width:100%}md-dialog md-dialog-content .md-prompt-input-container{width:100%;box-sizing:border-box}md-dialog .md-actions,md-dialog md-dialog-actions{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-ordinal-group:3;-webkit-order:2;order:2;box-sizing:border-box;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end;margin-bottom:0;padding-right:8px;padding-left:16px;min-height:52px;overflow:hidden}[dir=rtl] md-dialog .md-actions,[dir=rtl] md-dialog md-dialog-actions{padding-right:16px;padding-left:8px}md-dialog .md-actions .md-button,md-dialog md-dialog-actions .md-button{margin:8px 0 8px 8px}[dir=rtl] md-dialog .md-actions .md-button,[dir=rtl] md-dialog md-dialog-actions .md-button{margin-left:0;margin-right:8px}md-dialog.md-content-overflow .md-actions,md-dialog.md-content-overflow md-dialog-actions{border-top-width:1px;border-top-style:solid}@media screen and (-ms-high-contrast:active){md-dialog{border:1px solid #fff}}@media (max-width:959px){md-dialog.md-dialog-fullscreen{min-height:100%;min-width:100%;border-radius:0}}md-divider{display:block;border-top-width:1px;border-top-style:solid;margin:0}md-divider[md-inset]{margin-left:80px}[dir=rtl] md-divider[md-inset]{margin-left:auto;margin-right:80px}.layout-gt-lg-row>md-divider,.layout-gt-md-row>md-divider,.layout-gt-sm-row>md-divider,.layout-gt-xs-row>md-divider,.layout-lg-row>md-divider,.layout-md-row>md-divider,.layout-row>md-divider,.layout-sm-row>md-divider,.layout-xl-row>md-divider,.layout-xs-row>md-divider{border-top-width:0;border-right-width:1px;border-right-style:solid}md-fab-speed-dial{position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;z-index:20}md-fab-speed-dial.md-fab-bottom-right{top:auto;right:20px;bottom:20px;left:auto;position:absolute}md-fab-speed-dial.md-fab-bottom-left{top:auto;right:auto;bottom:20px;left:20px;position:absolute}md-fab-speed-dial.md-fab-top-right{top:20px;right:20px;bottom:auto;left:auto;position:absolute}md-fab-speed-dial.md-fab-top-left{top:20px;right:auto;bottom:auto;left:20px;position:absolute}md-fab-speed-dial:not(.md-hover-full){pointer-events:none}md-fab-speed-dial:not(.md-hover-full) .md-fab-action-item,md-fab-speed-dial:not(.md-hover-full).md-is-open,md-fab-speed-dial:not(.md-hover-full) md-fab-trigger{pointer-events:auto}md-fab-speed-dial ._md-css-variables{z-index:20}md-fab-speed-dial.md-is-open .md-fab-action-item{-webkit-box-align:center;-webkit-align-items:center;align-items:center}md-fab-speed-dial md-fab-actions{display:-webkit-box;display:-webkit-flex;display:flex;height:auto}md-fab-speed-dial md-fab-actions .md-fab-action-item{-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-fab-speed-dial.md-down{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}md-fab-speed-dial.md-down md-fab-trigger{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}md-fab-speed-dial.md-down md-fab-actions{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;-webkit-box-ordinal-group:3;-webkit-order:2;order:2}md-fab-speed-dial.md-up{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}md-fab-speed-dial.md-up md-fab-trigger{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}md-fab-speed-dial.md-up md-fab-actions{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}md-fab-speed-dial.md-left{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-fab-speed-dial.md-left md-fab-trigger{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}md-fab-speed-dial.md-left md-fab-actions{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse;-webkit-box-ordinal-group:2;-webkit-order:1;order:1}md-fab-speed-dial.md-left md-fab-actions .md-fab-action-item{-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-fab-speed-dial.md-right{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-fab-speed-dial.md-right md-fab-trigger{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}md-fab-speed-dial.md-right md-fab-actions{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-ordinal-group:3;-webkit-order:2;order:2}md-fab-speed-dial.md-right md-fab-actions .md-fab-action-item{-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-fab-speed-dial.md-fling-remove .md-fab-action-item>*,md-fab-speed-dial.md-scale-remove .md-fab-action-item>*{visibility:hidden}md-fab-speed-dial.md-fling .md-fab-action-item{opacity:1}md-fab-speed-dial.md-fling.md-animations-waiting .md-fab-action-item{opacity:0;-webkit-transition-duration:0s;transition-duration:0s}md-fab-speed-dial.md-scale .md-fab-action-item{-webkit-transform:scale(0);transform:scale(0);-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:.14286s;transition-duration:.14286s}md-fab-toolbar{display:block}md-fab-toolbar.md-fab-bottom-right{top:auto;right:20px;bottom:20px;left:auto;position:absolute}md-fab-toolbar.md-fab-bottom-left{top:auto;right:auto;bottom:20px;left:20px;position:absolute}md-fab-toolbar.md-fab-top-right{top:20px;right:20px;bottom:auto;left:auto;position:absolute}md-fab-toolbar.md-fab-top-left{top:20px;right:auto;bottom:auto;left:20px;position:absolute}md-fab-toolbar .md-fab-toolbar-wrapper{display:block;position:relative;overflow:hidden;height:68px}md-fab-toolbar md-fab-trigger{position:absolute;z-index:20}md-fab-toolbar md-fab-trigger button{overflow:visible!important}md-fab-toolbar md-fab-trigger .md-fab-toolbar-background{display:block;position:absolute;z-index:21;opacity:1;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-fab-toolbar md-fab-trigger md-icon{position:relative;z-index:22;opacity:1;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}md-fab-toolbar.md-left md-fab-trigger{right:0}[dir=rtl] md-fab-toolbar.md-left md-fab-trigger{right:auto;left:0}md-fab-toolbar.md-left .md-toolbar-tools{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-webkit-flex-direction:row-reverse;flex-direction:row-reverse}md-fab-toolbar.md-left .md-toolbar-tools>.md-button:first-child{margin-right:.6rem}[dir=rtl] md-fab-toolbar.md-left .md-toolbar-tools>.md-button:first-child{margin-right:auto;margin-left:.6rem}md-fab-toolbar.md-left .md-toolbar-tools>.md-button:first-child{margin-left:-.8rem}[dir=rtl] md-fab-toolbar.md-left .md-toolbar-tools>.md-button:first-child{margin-left:auto;margin-right:-.8rem}md-fab-toolbar.md-left .md-toolbar-tools>.md-button:last-child{margin-right:8px}[dir=rtl] md-fab-toolbar.md-left .md-toolbar-tools>.md-button:last-child{margin-right:auto;margin-left:8px}md-fab-toolbar.md-right md-fab-trigger{left:0}[dir=rtl] md-fab-toolbar.md-right md-fab-trigger{left:auto;right:0}md-fab-toolbar.md-right .md-toolbar-tools{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-fab-toolbar md-toolbar{background-color:transparent!important;pointer-events:none;z-index:23}md-fab-toolbar md-toolbar .md-toolbar-tools{padding:0 20px;margin-top:3px}md-fab-toolbar md-toolbar .md-fab-action-item{opacity:0;-webkit-transform:scale(0);transform:scale(0);-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:.15s;transition-duration:.15s}md-fab-toolbar.md-is-open md-fab-trigger>button{box-shadow:none}md-fab-toolbar.md-is-open md-fab-trigger>button md-icon{opacity:0}md-fab-toolbar.md-is-open .md-fab-action-item{opacity:1;-webkit-transform:scale(1);transform:scale(1)}md-grid-list{display:block;position:relative}md-grid-list,md-grid-list md-grid-tile,md-grid-list md-grid-tile-footer,md-grid-list md-grid-tile-header,md-grid-list md-grid-tile>figure{box-sizing:border-box}md-grid-list md-grid-tile{display:block;position:absolute}md-grid-list md-grid-tile figure{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;height:100%;top:0;bottom:0;padding:0;margin:0}md-grid-list md-grid-tile figure,md-grid-list md-grid-tile md-grid-tile-footer,md-grid-list md-grid-tile md-grid-tile-header{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;position:absolute;right:0;left:0}md-grid-list md-grid-tile md-grid-tile-footer,md-grid-list md-grid-tile md-grid-tile-header{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;height:48px;color:#fff;background:rgba(0,0,0,.18);overflow:hidden}md-grid-list md-grid-tile md-grid-tile-footer h3,md-grid-list md-grid-tile md-grid-tile-footer h4,md-grid-list md-grid-tile md-grid-tile-header h3,md-grid-list md-grid-tile md-grid-tile-header h4{font-weight:400;margin:0 0 0 16px}md-grid-list md-grid-tile md-grid-tile-footer h3,md-grid-list md-grid-tile md-grid-tile-header h3{font-size:14px}md-grid-list md-grid-tile md-grid-tile-footer h4,md-grid-list md-grid-tile md-grid-tile-header h4{font-size:12px}md-grid-list md-grid-tile md-grid-tile-header{top:0}md-grid-list md-grid-tile md-grid-tile-footer{bottom:0}@media screen and (-ms-high-contrast:active){md-grid-tile{border:1px solid #fff}md-grid-tile-footer{border-top:1px solid #fff}}md-icon{margin:auto;background-repeat:no-repeat;display:inline-block;vertical-align:middle;fill:currentColor;height:24px;width:24px;min-height:24px;min-width:24px}md-icon svg{pointer-events:none;display:block}md-icon[md-font-icon]{line-height:24px;width:auto}md-input-container{display:inline-block;position:relative;padding:2px;margin:18px 0;vertical-align:middle}md-input-container:after{content:"";display:table;clear:both}md-input-container.md-block{display:block}md-input-container .md-errors-spacer{float:right;min-height:24px;min-width:1px}[dir=rtl] md-input-container .md-errors-spacer{float:left}md-input-container>md-icon{position:absolute;top:8px;left:2px;right:auto}[dir=rtl] md-input-container>md-icon{left:auto;right:2px}md-input-container input[type=color],md-input-container input[type=date],md-input-container input[type=datetime-local],md-input-container input[type=datetime],md-input-container input[type=email],md-input-container input[type=month],md-input-container input[type=number],md-input-container input[type=password],md-input-container input[type=search],md-input-container input[type=tel],md-input-container input[type=text],md-input-container input[type=time],md-input-container input[type=url],md-input-container input[type=week],md-input-container textarea{-moz-appearance:none;-webkit-appearance:none}md-input-container input[type=date],md-input-container input[type=datetime-local],md-input-container input[type=month],md-input-container input[type=time],md-input-container input[type=week]{min-height:26px}md-input-container textarea{resize:none;overflow:hidden}md-input-container textarea.md-input{min-height:26px;-ms-flex-preferred-size:auto}md-input-container textarea[md-no-autogrow]{height:auto;overflow:auto}md-input-container label:not(.md-container-ignore){position:absolute;bottom:100%;left:0;right:auto}[dir=rtl] md-input-container label:not(.md-container-ignore){left:auto;right:0}md-input-container label:not(.md-container-ignore).md-required:after{content:" *";font-size:13px;vertical-align:top}md-input-container .md-placeholder,md-input-container label:not(.md-no-float):not(.md-container-ignore){overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%;-webkit-box-ordinal-group:2;-webkit-order:1;order:1;pointer-events:none;-webkit-font-smoothing:antialiased;padding-left:3px;padding-right:0;z-index:1;-webkit-transform:translate3d(0,28px,0) scale(1);transform:translate3d(0,28px,0) scale(1);-webkit-transition:-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1);max-width:100%;-webkit-transform-origin:left top;transform-origin:left top}[dir=rtl] md-input-container .md-placeholder,[dir=rtl] md-input-container label:not(.md-no-float):not(.md-container-ignore){padding-left:0;padding-right:3px;-webkit-transform-origin:right top;transform-origin:right top}md-input-container .md-placeholder{position:absolute;top:0;opacity:0;-webkit-transition-property:opacity,-webkit-transform;transition-property:opacity,-webkit-transform;transition-property:opacity,transform;transition-property:opacity,transform,-webkit-transform;-webkit-transform:translate3d(0,30px,0);transform:translate3d(0,30px,0)}md-input-container.md-input-focused .md-placeholder{opacity:1;-webkit-transform:translate3d(0,24px,0);transform:translate3d(0,24px,0)}md-input-container.md-input-has-value .md-placeholder{-webkit-transition:none;transition:none;opacity:0}md-input-container:not(.md-input-has-value) input:not(:focus),md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-ampm-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-day-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-hour-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-millisecond-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-minute-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-month-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-second-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-text,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-week-field,md-input-container:not(.md-input-has-value) input:not(:focus)::-webkit-datetime-edit-year-field{color:transparent}md-input-container .md-input{-webkit-box-ordinal-group:3;-webkit-order:2;order:2;display:block;margin-top:0;background:none;padding:2px 2px 1px;border-width:0 0 1px;line-height:26px;height:30px;-ms-flex-preferred-size:26px;border-radius:0;border-style:solid;width:100%;box-sizing:border-box;float:left}[dir=rtl] md-input-container .md-input{float:right}md-input-container .md-input:focus{outline:none}md-input-container .md-input:invalid{outline:none;box-shadow:none}md-input-container .md-input.md-no-flex{-webkit-box-flex:0!important;-webkit-flex:none!important;flex:none!important}md-input-container .md-char-counter{text-align:right;padding-right:2px;padding-left:0}[dir=rtl] md-input-container .md-char-counter{text-align:left;padding-right:0;padding-left:2px}md-input-container .md-input-messages-animation{position:relative;-webkit-box-ordinal-group:5;-webkit-order:4;order:4;overflow:hidden;clear:left}[dir=rtl] md-input-container .md-input-messages-animation{clear:right}md-input-container .md-char-counter,md-input-container .md-input-message-animation{font-size:12px;line-height:14px;overflow:hidden;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);opacity:1;margin-top:0;padding-top:5px}md-input-container .md-char-counter:not(.md-char-counter),md-input-container .md-input-message-animation:not(.md-char-counter){padding-right:5px;padding-left:0}[dir=rtl] md-input-container .md-char-counter:not(.md-char-counter),[dir=rtl] md-input-container .md-input-message-animation:not(.md-char-counter){padding-right:0;padding-left:5px}md-input-container .md-input-message-animation.ng-enter-prepare,md-input-container .md-input-message-animation.ng-enter:not(.ng-enter-active),md-input-container:not(.md-input-invalid) .md-auto-hide .md-input-message-animation{opacity:0;margin-top:-100px}md-input-container.md-input-focused label:not(.md-no-float),md-input-container.md-input-has-placeholder label:not(.md-no-float),md-input-container.md-input-has-value label:not(.md-no-float){-webkit-transform:translate3d(0,6px,0) scale(.75);transform:translate3d(0,6px,0) scale(.75);-webkit-transition:width .4s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:width .4s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1),width .4s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1)}md-input-container.md-input-has-value label{-webkit-transition:none;transition:none}md-input-container.md-input-focused .md-input,md-input-container.md-input-resized .md-input,md-input-container .md-input.ng-invalid.ng-dirty{padding-bottom:0;border-width:0 0 2px}[disabled] md-input-container .md-input,md-input-container .md-input[disabled]{background-position:bottom -1px left 0;background-size:4px 1px;background-repeat:repeat-x}md-input-container.md-icon-float{-webkit-transition:margin-top .4s cubic-bezier(.25,.8,.25,1);transition:margin-top .4s cubic-bezier(.25,.8,.25,1)}md-input-container.md-icon-float>label{pointer-events:none;position:absolute}md-input-container.md-icon-float>md-icon{top:8px;left:2px;right:auto}[dir=rtl] md-input-container.md-icon-float>md-icon{left:auto;right:2px}md-input-container.md-icon-left>label .md-placeholder,md-input-container.md-icon-left>label:not(.md-no-float):not(.md-container-ignore),md-input-container.md-icon-right>label .md-placeholder,md-input-container.md-icon-right>label:not(.md-no-float):not(.md-container-ignore){width:calc(100% - 36px - 18px)}md-input-container.md-icon-left{padding-left:36px;padding-right:0}[dir=rtl] md-input-container.md-icon-left{padding-left:0;padding-right:36px}md-input-container.md-icon-left>label{left:36px;right:auto}[dir=rtl] md-input-container.md-icon-left>label{left:auto;right:36px}md-input-container.md-icon-right{padding-left:0;padding-right:36px}[dir=rtl] md-input-container.md-icon-right{padding-left:36px;padding-right:0}md-input-container.md-icon-right>md-icon:last-of-type{margin:0;right:2px;left:auto}[dir=rtl] md-input-container.md-icon-right>md-icon:last-of-type{right:auto;left:2px}md-input-container.md-icon-left.md-icon-right{padding-left:36px;padding-right:36px}md-input-container.md-icon-left.md-icon-right>label .md-placeholder,md-input-container.md-icon-left.md-icon-right>label:not(.md-no-float):not(.md-container-ignore){width:calc(100% - 72px)}.md-resize-wrapper{position:relative}.md-resize-wrapper:after{content:"";display:table;clear:both}.md-resize-handle{position:absolute;bottom:-5px;left:0;height:10px;background:transparent;width:100%;cursor:ns-resize}@media screen and (-ms-high-contrast:active){md-input-container.md-default-theme>md-icon{fill:#fff}}md-list{display:block;padding:8px 0}md-list .md-subheader{font-size:14px;font-weight:500;letter-spacing:.01em;line-height:1.2em}md-list.md-dense md-list-item,md-list.md-dense md-list-item .md-list-item-inner{min-height:48px}md-list.md-dense md-list-item .md-list-item-inner:before,md-list.md-dense md-list-item:before{content:"";min-height:48px;visibility:hidden;display:inline-block}md-list.md-dense md-list-item .md-list-item-inner md-icon:first-child,md-list.md-dense md-list-item md-icon:first-child{width:20px;height:20px}md-list.md-dense md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),md-list.md-dense md-list-item>md-icon:first-child:not(.md-avatar-icon){margin-right:36px}[dir=rtl] md-list.md-dense md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),[dir=rtl] md-list.md-dense md-list-item>md-icon:first-child:not(.md-avatar-icon){margin-right:auto;margin-left:36px}md-list.md-dense md-list-item .md-avatar,md-list.md-dense md-list-item .md-avatar-icon,md-list.md-dense md-list-item .md-list-item-inner .md-avatar,md-list.md-dense md-list-item .md-list-item-inner .md-avatar-icon{margin-right:20px}[dir=rtl] md-list.md-dense md-list-item .md-avatar,[dir=rtl] md-list.md-dense md-list-item .md-avatar-icon,[dir=rtl] md-list.md-dense md-list-item .md-list-item-inner .md-avatar,[dir=rtl] md-list.md-dense md-list-item .md-list-item-inner .md-avatar-icon{margin-right:auto;margin-left:20px}md-list.md-dense md-list-item .md-avatar,md-list.md-dense md-list-item .md-list-item-inner .md-avatar{-webkit-box-flex:0;-webkit-flex:none;flex:none;width:36px;height:36px}md-list.md-dense md-list-item.md-2-line .md-list-item-text.md-offset,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text.md-offset,md-list.md-dense md-list-item.md-3-line .md-list-item-text.md-offset,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text.md-offset{margin-left:56px}[dir=rtl] md-list.md-dense md-list-item.md-2-line .md-list-item-text.md-offset,[dir=rtl] md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text.md-offset,[dir=rtl] md-list.md-dense md-list-item.md-3-line .md-list-item-text.md-offset,[dir=rtl] md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text.md-offset{margin-left:auto;margin-right:56px}md-list.md-dense md-list-item.md-2-line .md-list-item-text h3,md-list.md-dense md-list-item.md-2-line .md-list-item-text h4,md-list.md-dense md-list-item.md-2-line .md-list-item-text p,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text h3,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text h4,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text p,md-list.md-dense md-list-item.md-3-line .md-list-item-text h3,md-list.md-dense md-list-item.md-3-line .md-list-item-text h4,md-list.md-dense md-list-item.md-3-line .md-list-item-text p,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text h3,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text h4,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text p{line-height:1.05;font-size:12px}md-list.md-dense md-list-item.md-2-line .md-list-item-text h3,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-list-item-text h3,md-list.md-dense md-list-item.md-3-line .md-list-item-text h3,md-list.md-dense md-list-item.md-3-line>.md-no-style .md-list-item-text h3{font-size:13px}md-list.md-dense md-list-item.md-2-line,md-list.md-dense md-list-item.md-2-line>.md-no-style{min-height:60px}md-list.md-dense md-list-item.md-2-line:before,md-list.md-dense md-list-item.md-2-line>.md-no-style:before{content:"";min-height:60px;visibility:hidden;display:inline-block}md-list.md-dense md-list-item.md-2-line .md-avatar-icon,md-list.md-dense md-list-item.md-2-line>.md-avatar,md-list.md-dense md-list-item.md-2-line>.md-no-style .md-avatar-icon,md-list.md-dense md-list-item.md-2-line>.md-no-style>.md-avatar{margin-top:12px}md-list.md-dense md-list-item.md-3-line,md-list.md-dense md-list-item.md-3-line>.md-no-style{min-height:76px}md-list.md-dense md-list-item.md-3-line:before,md-list.md-dense md-list-item.md-3-line>.md-no-style:before{content:"";min-height:76px;visibility:hidden;display:inline-block}md-list.md-dense md-list-item.md-3-line>.md-avatar,md-list.md-dense md-list-item.md-3-line>.md-no-style>.md-avatar,md-list.md-dense md-list-item.md-3-line>.md-no-style>md-icon:first-child,md-list.md-dense md-list-item.md-3-line>md-icon:first-child{margin-top:16px}md-list-item{position:relative}md-list-item.md-proxy-focus.md-focused .md-no-style{-webkit-transition:background-color .15s linear;transition:background-color .15s linear}md-list-item._md-button-wrap{position:relative}md-list-item._md-button-wrap>div.md-button:first-child{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;padding:0 16px;margin:0;font-weight:400;text-align:left;border:medium none}[dir=rtl] md-list-item._md-button-wrap>div.md-button:first-child{text-align:right}md-list-item._md-button-wrap>div.md-button:first-child>.md-button:first-child{position:absolute;top:0;left:0;height:100%;margin:0;padding:0}md-list-item._md-button-wrap>div.md-button:first-child .md-list-item-inner{width:100%;min-height:inherit}md-list-item.md-no-proxy,md-list-item .md-no-style{position:relative;padding:0 16px;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto}md-list-item.md-no-proxy.md-button,md-list-item .md-no-style.md-button{font-size:inherit;height:inherit;text-align:left;text-transform:none;width:100%;white-space:normal;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:inherit;flex-direction:inherit;-webkit-box-align:inherit;-webkit-align-items:inherit;align-items:inherit;border-radius:0;margin:0}[dir=rtl] md-list-item.md-no-proxy.md-button,[dir=rtl] md-list-item .md-no-style.md-button{text-align:right}md-list-item.md-no-proxy.md-button>.md-ripple-container,md-list-item .md-no-style.md-button>.md-ripple-container{border-radius:0}md-list-item.md-no-proxy:focus,md-list-item .md-no-style:focus{outline:none}md-list-item.md-clickable:hover{cursor:pointer}md-list-item md-divider{position:absolute;bottom:0;left:0;width:100%}[dir=rtl] md-list-item md-divider{left:auto;right:0}md-list-item md-divider[md-inset]{left:72px;width:calc(100% - 72px);margin:0!important}[dir=rtl] md-list-item md-divider[md-inset]{left:auto;right:72px}md-list-item,md-list-item .md-list-item-inner{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start;-webkit-box-align:center;-webkit-align-items:center;align-items:center;min-height:48px;height:auto}md-list-item .md-list-item-inner:before,md-list-item:before{content:"";min-height:48px;visibility:hidden;display:inline-block}md-list-item .md-list-item-inner>div.md-primary>md-icon:not(.md-avatar-icon),md-list-item .md-list-item-inner>div.md-secondary>md-icon:not(.md-avatar-icon),md-list-item .md-list-item-inner>md-icon.md-secondary:not(.md-avatar-icon),md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),md-list-item>div.md-primary>md-icon:not(.md-avatar-icon),md-list-item>div.md-secondary>md-icon:not(.md-avatar-icon),md-list-item>md-icon.md-secondary:not(.md-avatar-icon),md-list-item>md-icon:first-child:not(.md-avatar-icon){width:24px;margin-top:16px;margin-bottom:12px;box-sizing:content-box}md-list-item .md-list-item-inner>div.md-primary>md-checkbox,md-list-item .md-list-item-inner>div.md-secondary>md-checkbox,md-list-item .md-list-item-inner>md-checkbox,md-list-item .md-list-item-inner md-checkbox.md-secondary,md-list-item>div.md-primary>md-checkbox,md-list-item>div.md-secondary>md-checkbox,md-list-item>md-checkbox,md-list-item md-checkbox.md-secondary{-webkit-align-self:center;-ms-grid-row-align:center;align-self:center}md-list-item .md-list-item-inner>div.md-primary>md-checkbox .md-label,md-list-item .md-list-item-inner>div.md-secondary>md-checkbox .md-label,md-list-item .md-list-item-inner>md-checkbox .md-label,md-list-item .md-list-item-inner md-checkbox.md-secondary .md-label,md-list-item>div.md-primary>md-checkbox .md-label,md-list-item>div.md-secondary>md-checkbox .md-label,md-list-item>md-checkbox .md-label,md-list-item md-checkbox.md-secondary .md-label{display:none}md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),md-list-item>md-icon:first-child:not(.md-avatar-icon){margin-right:32px}[dir=rtl] md-list-item .md-list-item-inner>md-icon:first-child:not(.md-avatar-icon),[dir=rtl] md-list-item>md-icon:first-child:not(.md-avatar-icon){margin-right:auto;margin-left:32px}md-list-item .md-avatar,md-list-item .md-avatar-icon,md-list-item .md-list-item-inner .md-avatar,md-list-item .md-list-item-inner .md-avatar-icon{margin-top:8px;margin-bottom:8px;margin-right:16px;border-radius:50%;box-sizing:content-box}[dir=rtl] md-list-item .md-avatar,[dir=rtl] md-list-item .md-avatar-icon,[dir=rtl] md-list-item .md-list-item-inner .md-avatar,[dir=rtl] md-list-item .md-list-item-inner .md-avatar-icon{margin-right:auto;margin-left:16px}md-list-item .md-avatar,md-list-item .md-list-item-inner .md-avatar{-webkit-box-flex:0;-webkit-flex:none;flex:none;width:40px;height:40px}md-list-item .md-avatar-icon,md-list-item .md-list-item-inner .md-avatar-icon{padding:8px}md-list-item .md-avatar-icon svg,md-list-item .md-list-item-inner .md-avatar-icon svg{width:24px;height:24px}md-list-item .md-list-item-inner>md-checkbox,md-list-item>md-checkbox{width:24px;margin-left:3px;margin-right:29px;margin-top:16px}[dir=rtl] md-list-item .md-list-item-inner>md-checkbox,[dir=rtl] md-list-item>md-checkbox{margin-left:29px;margin-right:3px}md-list-item .md-list-item-inner .md-secondary-container,md-list-item .md-secondary-container{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-flex-shrink:0;flex-shrink:0;margin:auto;margin-right:0;margin-left:auto}[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container,[dir=rtl] md-list-item .md-secondary-container{margin-right:auto;margin-left:0}md-list-item .md-list-item-inner .md-secondary-container .md-button:last-of-type,md-list-item .md-list-item-inner .md-secondary-container .md-icon-button:last-of-type,md-list-item .md-secondary-container .md-button:last-of-type,md-list-item .md-secondary-container .md-icon-button:last-of-type{margin-right:0}[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container .md-button:last-of-type,[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container .md-icon-button:last-of-type,[dir=rtl] md-list-item .md-secondary-container .md-button:last-of-type,[dir=rtl] md-list-item .md-secondary-container .md-icon-button:last-of-type{margin-right:auto;margin-left:0}md-list-item .md-list-item-inner .md-secondary-container md-checkbox,md-list-item .md-secondary-container md-checkbox{margin-top:0;margin-bottom:0}md-list-item .md-list-item-inner .md-secondary-container md-checkbox:last-child,md-list-item .md-secondary-container md-checkbox:last-child{width:24px;margin-right:0}[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container md-checkbox:last-child,[dir=rtl] md-list-item .md-secondary-container md-checkbox:last-child{margin-right:auto;margin-left:0}md-list-item .md-list-item-inner .md-secondary-container md-switch,md-list-item .md-secondary-container md-switch{margin-top:0;margin-bottom:0;margin-right:-6px}[dir=rtl] md-list-item .md-list-item-inner .md-secondary-container md-switch,[dir=rtl] md-list-item .md-secondary-container md-switch{margin-right:auto;margin-left:-6px}md-list-item .md-list-item-inner>.md-list-item-inner>p,md-list-item .md-list-item-inner>p,md-list-item>.md-list-item-inner>p,md-list-item>p{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;margin:0}md-list-item.md-2-line,md-list-item.md-2-line>.md-no-style,md-list-item.md-3-line,md-list-item.md-3-line>.md-no-style{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}md-list-item.md-2-line.md-long-text,md-list-item.md-2-line>.md-no-style.md-long-text,md-list-item.md-3-line.md-long-text,md-list-item.md-3-line>.md-no-style.md-long-text{margin-top:8px;margin-bottom:8px}md-list-item.md-2-line .md-list-item-text,md-list-item.md-2-line>.md-no-style .md-list-item-text,md-list-item.md-3-line .md-list-item-text,md-list-item.md-3-line>.md-no-style .md-list-item-text{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;margin:auto;text-overflow:ellipsis;overflow:hidden}md-list-item.md-2-line .md-list-item-text.md-offset,md-list-item.md-2-line>.md-no-style .md-list-item-text.md-offset,md-list-item.md-3-line .md-list-item-text.md-offset,md-list-item.md-3-line>.md-no-style .md-list-item-text.md-offset{margin-left:56px}[dir=rtl] md-list-item.md-2-line .md-list-item-text.md-offset,[dir=rtl] md-list-item.md-2-line>.md-no-style .md-list-item-text.md-offset,[dir=rtl] md-list-item.md-3-line .md-list-item-text.md-offset,[dir=rtl] md-list-item.md-3-line>.md-no-style .md-list-item-text.md-offset{margin-left:auto;margin-right:56px}md-list-item.md-2-line .md-list-item-text h3,md-list-item.md-2-line>.md-no-style .md-list-item-text h3,md-list-item.md-3-line .md-list-item-text h3,md-list-item.md-3-line>.md-no-style .md-list-item-text h3{font-size:16px;font-weight:400;letter-spacing:.01em;margin:0;line-height:1.2em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}md-list-item.md-2-line .md-list-item-text h4,md-list-item.md-2-line>.md-no-style .md-list-item-text h4,md-list-item.md-3-line .md-list-item-text h4,md-list-item.md-3-line>.md-no-style .md-list-item-text h4{font-size:14px;letter-spacing:.01em;margin:3px 0 1px;font-weight:400;line-height:1.2em;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}md-list-item.md-2-line .md-list-item-text p,md-list-item.md-2-line>.md-no-style .md-list-item-text p,md-list-item.md-3-line .md-list-item-text p,md-list-item.md-3-line>.md-no-style .md-list-item-text p{font-size:14px;font-weight:500;letter-spacing:.01em;margin:0;line-height:1.6em}md-list-item.md-2-line,md-list-item.md-2-line>.md-no-style{height:auto;min-height:72px}md-list-item.md-2-line:before,md-list-item.md-2-line>.md-no-style:before{content:"";min-height:72px;visibility:hidden;display:inline-block}md-list-item.md-2-line .md-avatar-icon,md-list-item.md-2-line>.md-avatar,md-list-item.md-2-line>.md-no-style .md-avatar-icon,md-list-item.md-2-line>.md-no-style>.md-avatar{margin-top:12px}md-list-item.md-2-line>.md-no-style>md-icon:first-child,md-list-item.md-2-line>md-icon:first-child{-webkit-align-self:flex-start;align-self:flex-start}md-list-item.md-2-line .md-list-item-text,md-list-item.md-2-line>.md-no-style .md-list-item-text{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto}md-list-item.md-3-line,md-list-item.md-3-line>.md-no-style{height:auto;min-height:88px}md-list-item.md-3-line:before,md-list-item.md-3-line>.md-no-style:before{content:"";min-height:88px;visibility:hidden;display:inline-block}md-list-item.md-3-line>.md-avatar,md-list-item.md-3-line>.md-no-style>.md-avatar,md-list-item.md-3-line>.md-no-style>md-icon:first-child,md-list-item.md-3-line>md-icon:first-child{margin-top:16px}.md-open-menu-container{position:fixed;left:0;top:0;z-index:100;opacity:0;border-radius:2px;max-height:calc(100vh - 10px);overflow:auto}.md-open-menu-container md-menu-divider{margin-top:4px;margin-bottom:4px;height:1px;min-height:1px;max-height:1px;width:100%}.md-open-menu-container md-menu-content>*{opacity:0}.md-open-menu-container:not(.md-clickable){pointer-events:none}.md-open-menu-container.md-active{opacity:1;-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-duration:.2s;transition-duration:.2s}.md-open-menu-container.md-active>md-menu-content>*{opacity:1;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:.2s;transition-duration:.2s;-webkit-transition-delay:.1s;transition-delay:.1s}.md-open-menu-container.md-leave{opacity:0;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:.25s;transition-duration:.25s}md-menu-content{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;padding:8px 0;max-height:304px;overflow-y:auto}md-menu-content.md-dense{max-height:208px}md-menu-content.md-dense md-menu-item{height:32px;min-height:0}md-menu-item{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;min-height:48px;height:48px;-webkit-align-content:center;align-content:center;-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}md-menu-item>*{width:100%;margin:auto 0;padding-left:16px;padding-right:16px}md-menu-item>a.md-button{padding-top:5px}md-menu-item>.md-button{text-align:left;display:inline-block;border-radius:0;margin:auto 0;font-size:15px;text-transform:none;font-weight:400;height:100%;padding-left:16px;padding-right:16px;width:100%}md-menu-item>.md-button::-moz-focus-inner{padding:0;border:0}[dir=rtl] md-menu-item>.md-button{text-align:right}md-menu-item>.md-button md-icon{margin:auto 16px auto 0}[dir=rtl] md-menu-item>.md-button md-icon{margin:auto 0 auto 16px}md-menu-item>.md-button p{display:inline-block;margin:auto}md-menu-item>.md-button span{margin-top:auto;margin-bottom:auto}md-menu-item>.md-button .md-ripple-container{border-radius:inherit}md-toolbar .md-menu{height:auto;margin:auto;padding:0}@media (max-width:959px){md-menu-content{min-width:112px}md-menu-content[width="3"]{min-width:168px}md-menu-content[width="4"]{min-width:224px}md-menu-content[width="5"]{min-width:280px}md-menu-content[width="6"]{min-width:336px}md-menu-content[width="7"]{min-width:392px}}@media (min-width:960px){md-menu-content{min-width:96px}md-menu-content[width="3"]{min-width:192px}md-menu-content[width="4"]{min-width:256px}md-menu-content[width="5"]{min-width:320px}md-menu-content[width="6"]{min-width:384px}md-menu-content[width="7"]{min-width:448px}}md-toolbar.md-menu-toolbar h2.md-toolbar-tools{line-height:1rem;height:auto;padding:28px;padding-bottom:12px}md-toolbar.md-has-open-menu{position:relative;z-index:100}md-menu-bar{padding:0 20px;display:block;position:relative;z-index:2}md-menu-bar .md-menu{display:inline-block;padding:0;position:relative}md-menu-bar button{font-size:14px;padding:0 10px;margin:0;border:0;background-color:transparent;height:40px}md-menu-bar md-backdrop.md-menu-backdrop{z-index:-2}md-menu-content.md-menu-bar-menu.md-dense{max-height:none;padding:16px 0}md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent{position:relative}md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent>md-icon{position:absolute;padding:0;width:24px;top:6px;left:24px}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent>md-icon{left:auto;right:24px}md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent .md-menu>.md-button,md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent>.md-button{padding:0 32px 0 64px}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent .md-menu>.md-button,[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item.md-indent>.md-button{padding:0 64px 0 32px}md-menu-content.md-menu-bar-menu.md-dense .md-button{min-height:0;height:32px}md-menu-content.md-menu-bar-menu.md-dense .md-button span{float:left}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-button span{float:right}md-menu-content.md-menu-bar-menu.md-dense .md-button span.md-alt-text{float:right;margin:0 8px}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-button span.md-alt-text{float:left}md-menu-content.md-menu-bar-menu.md-dense md-menu-divider{margin:8px 0}md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button,md-menu-content.md-menu-bar-menu.md-dense md-menu-item>.md-button{text-align:left}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button,[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense md-menu-item>.md-button{text-align:right}md-menu-content.md-menu-bar-menu.md-dense .md-menu{padding:0}md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button{position:relative;margin:0;width:100%;text-transform:none;font-weight:400;border-radius:0;padding-left:16px}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button{padding-left:0;padding-right:16px}md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button:after{display:block;content:"\25BC";position:absolute;top:0;speak:none;-webkit-transform:rotate(270deg) scaleY(.45) scaleX(.9);transform:rotate(270deg) scaleY(.45) scaleX(.9);right:28px}[dir=rtl] md-menu-content.md-menu-bar-menu.md-dense .md-menu>.md-button:after{-webkit-transform:rotate(90deg) scaleY(.45) scaleX(.9);transform:rotate(90deg) scaleY(.45) scaleX(.9);right:auto;left:28px}.md-nav-bar{border-style:solid;border-width:0 0 1px;height:48px;position:relative}._md-nav-bar-list{outline:none;list-style:none;margin:0;padding:0;box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}.md-nav-item:first-of-type{margin-left:8px}.md-button._md-nav-button{line-height:24px;margin:0 4px;padding:12px 16px;-webkit-transition:background-color .35s cubic-bezier(.35,0,.25,1);transition:background-color .35s cubic-bezier(.35,0,.25,1)}.md-button._md-nav-button:focus{outline:none}.md-button._md-nav-button:hover{background-color:inherit}md-nav-ink-bar{bottom:0;height:2px;left:auto;position:absolute;right:auto;background-color:#000}md-nav-ink-bar._md-left{-webkit-transition:left .125s cubic-bezier(.35,0,.25,1),right .25s cubic-bezier(.35,0,.25,1);transition:left .125s cubic-bezier(.35,0,.25,1),right .25s cubic-bezier(.35,0,.25,1)}md-nav-ink-bar._md-right{-webkit-transition:left .25s cubic-bezier(.35,0,.25,1),right .125s cubic-bezier(.35,0,.25,1);transition:left .25s cubic-bezier(.35,0,.25,1),right .125s cubic-bezier(.35,0,.25,1)}md-nav-ink-bar.ng-animate{-webkit-transition:none;transition:none}md-nav-extra-content{min-height:48px;padding-right:12px}@-webkit-keyframes indeterminate-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes indeterminate-rotate{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}md-progress-circular{position:relative;display:block}md-progress-circular._md-progress-circular-disabled{visibility:hidden}md-progress-circular.md-mode-indeterminate svg{-webkit-animation:indeterminate-rotate 1568.63ms linear infinite;animation:indeterminate-rotate 1568.63ms linear infinite}md-progress-circular svg{position:absolute;overflow:visible;top:0;left:0}md-progress-linear{display:block;position:relative;width:100%;height:5px;padding-top:0!important;margin-bottom:0!important}md-progress-linear._md-progress-linear-disabled{visibility:hidden}md-progress-linear .md-container{display:block;position:relative;overflow:hidden;width:100%;height:5px;-webkit-transform:translate(0,0) scale(1,1);transform:translate(0,0) scale(1,1)}md-progress-linear .md-container .md-bar{position:absolute;left:0;top:0;bottom:0;width:100%;height:5px}md-progress-linear .md-container .md-dashed:before{content:"";display:none;position:absolute;margin-top:0;height:5px;width:100%;background-color:transparent;background-size:10px 10px!important;background-position:0 -23px}md-progress-linear .md-container .md-bar1,md-progress-linear .md-container .md-bar2{-webkit-transition:-webkit-transform .2s linear;transition:-webkit-transform .2s linear;transition:transform .2s linear;transition:transform .2s linear,-webkit-transform .2s linear}md-progress-linear .md-container.md-mode-query .md-bar1{display:none}md-progress-linear .md-container.md-mode-query .md-bar2{-webkit-transition:all .2s linear;transition:all .2s linear;-webkit-animation:query .8s infinite cubic-bezier(.39,.575,.565,1);animation:query .8s infinite cubic-bezier(.39,.575,.565,1)}md-progress-linear .md-container.md-mode-determinate .md-bar1{display:none}md-progress-linear .md-container.md-mode-indeterminate .md-bar1{-webkit-animation:md-progress-linear-indeterminate-scale-1 4s infinite,md-progress-linear-indeterminate-1 4s infinite;animation:md-progress-linear-indeterminate-scale-1 4s infinite,md-progress-linear-indeterminate-1 4s infinite}md-progress-linear .md-container.md-mode-indeterminate .md-bar2{-webkit-animation:md-progress-linear-indeterminate-scale-2 4s infinite,md-progress-linear-indeterminate-2 4s infinite;animation:md-progress-linear-indeterminate-scale-2 4s infinite,md-progress-linear-indeterminate-2 4s infinite}md-progress-linear .md-container.ng-hide ._md-progress-linear-disabled md-progress-linear .md-container{-webkit-animation:none;animation:none}md-progress-linear .md-container.ng-hide ._md-progress-linear-disabled md-progress-linear .md-container .md-bar1,md-progress-linear .md-container.ng-hide ._md-progress-linear-disabled md-progress-linear .md-container .md-bar2{-webkit-animation-name:none;animation-name:none}md-progress-linear .md-container.md-mode-buffer{background-color:transparent!important;-webkit-transition:all .2s linear;transition:all .2s linear}md-progress-linear .md-container.md-mode-buffer .md-dashed:before{display:block;-webkit-animation:buffer 3s infinite linear;animation:buffer 3s infinite linear}@-webkit-keyframes query{0%{opacity:1;-webkit-transform:translateX(35%) scale(.3,1);transform:translateX(35%) scale(.3,1)}to{opacity:0;-webkit-transform:translateX(-50%) scale(0,1);transform:translateX(-50%) scale(0,1)}}@keyframes query{0%{opacity:1;-webkit-transform:translateX(35%) scale(.3,1);transform:translateX(35%) scale(.3,1)}to{opacity:0;-webkit-transform:translateX(-50%) scale(0,1);transform:translateX(-50%) scale(0,1)}}@-webkit-keyframes buffer{0%{opacity:1;background-position:0 -23px}50%{opacity:0}to{opacity:1;background-position:-200px -23px}}@keyframes buffer{0%{opacity:1;background-position:0 -23px}50%{opacity:0}to{opacity:1;background-position:-200px -23px}}@-webkit-keyframes md-progress-linear-indeterminate-scale-1{0%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:linear;animation-timing-function:linear}36.6%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:cubic-bezier(.33473,.12482,.78584,1);animation-timing-function:cubic-bezier(.33473,.12482,.78584,1)}69.15%{-webkit-transform:scaleX(.83);transform:scaleX(.83);-webkit-animation-timing-function:cubic-bezier(.22573,0,.23365,1.37098);animation-timing-function:cubic-bezier(.22573,0,.23365,1.37098)}to{-webkit-transform:scaleX(.1);transform:scaleX(.1)}}@keyframes md-progress-linear-indeterminate-scale-1{0%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:linear;animation-timing-function:linear}36.6%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:cubic-bezier(.33473,.12482,.78584,1);animation-timing-function:cubic-bezier(.33473,.12482,.78584,1)}69.15%{-webkit-transform:scaleX(.83);transform:scaleX(.83);-webkit-animation-timing-function:cubic-bezier(.22573,0,.23365,1.37098);animation-timing-function:cubic-bezier(.22573,0,.23365,1.37098)}to{-webkit-transform:scaleX(.1);transform:scaleX(.1)}}@-webkit-keyframes md-progress-linear-indeterminate-1{0%{left:-105.16667%;-webkit-animation-timing-function:linear;animation-timing-function:linear}20%{left:-105.16667%;-webkit-animation-timing-function:cubic-bezier(.5,0,.70173,.49582);animation-timing-function:cubic-bezier(.5,0,.70173,.49582)}69.15%{left:21.5%;-webkit-animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635);animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635)}to{left:95.44444%}}@keyframes md-progress-linear-indeterminate-1{0%{left:-105.16667%;-webkit-animation-timing-function:linear;animation-timing-function:linear}20%{left:-105.16667%;-webkit-animation-timing-function:cubic-bezier(.5,0,.70173,.49582);animation-timing-function:cubic-bezier(.5,0,.70173,.49582)}69.15%{left:21.5%;-webkit-animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635);animation-timing-function:cubic-bezier(.30244,.38135,.55,.95635)}to{left:95.44444%}}@-webkit-keyframes md-progress-linear-indeterminate-scale-2{0%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:cubic-bezier(.20503,.05705,.57661,.45397);animation-timing-function:cubic-bezier(.20503,.05705,.57661,.45397)}19.15%{-webkit-transform:scaleX(.57);transform:scaleX(.57);-webkit-animation-timing-function:cubic-bezier(.15231,.19643,.64837,1.00432);animation-timing-function:cubic-bezier(.15231,.19643,.64837,1.00432)}44.15%{-webkit-transform:scaleX(.91);transform:scaleX(.91);-webkit-animation-timing-function:cubic-bezier(.25776,-.00316,.21176,1.38179);animation-timing-function:cubic-bezier(.25776,-.00316,.21176,1.38179)}to{-webkit-transform:scaleX(.1);transform:scaleX(.1)}}@keyframes md-progress-linear-indeterminate-scale-2{0%{-webkit-transform:scaleX(.1);transform:scaleX(.1);-webkit-animation-timing-function:cubic-bezier(.20503,.05705,.57661,.45397);animation-timing-function:cubic-bezier(.20503,.05705,.57661,.45397)}19.15%{-webkit-transform:scaleX(.57);transform:scaleX(.57);-webkit-animation-timing-function:cubic-bezier(.15231,.19643,.64837,1.00432);animation-timing-function:cubic-bezier(.15231,.19643,.64837,1.00432)}44.15%{-webkit-transform:scaleX(.91);transform:scaleX(.91);-webkit-animation-timing-function:cubic-bezier(.25776,-.00316,.21176,1.38179);animation-timing-function:cubic-bezier(.25776,-.00316,.21176,1.38179)}to{-webkit-transform:scaleX(.1);transform:scaleX(.1)}}@-webkit-keyframes md-progress-linear-indeterminate-2{0%{left:-54.88889%;-webkit-animation-timing-function:cubic-bezier(.15,0,.51506,.40968);animation-timing-function:cubic-bezier(.15,0,.51506,.40968)}25%{left:-17.25%;-webkit-animation-timing-function:cubic-bezier(.31033,.28406,.8,.73372);animation-timing-function:cubic-bezier(.31033,.28406,.8,.73372)}48.35%{left:29.5%;-webkit-animation-timing-function:cubic-bezier(.4,.62703,.6,.90203);animation-timing-function:cubic-bezier(.4,.62703,.6,.90203)}to{left:117.38889%}}@keyframes md-progress-linear-indeterminate-2{0%{left:-54.88889%;-webkit-animation-timing-function:cubic-bezier(.15,0,.51506,.40968);animation-timing-function:cubic-bezier(.15,0,.51506,.40968)}25%{left:-17.25%;-webkit-animation-timing-function:cubic-bezier(.31033,.28406,.8,.73372);animation-timing-function:cubic-bezier(.31033,.28406,.8,.73372)}48.35%{left:29.5%;-webkit-animation-timing-function:cubic-bezier(.4,.62703,.6,.90203);animation-timing-function:cubic-bezier(.4,.62703,.6,.90203)}to{left:117.38889%}}md-radio-button{box-sizing:border-box;display:block;margin-bottom:16px;white-space:nowrap;cursor:pointer;position:relative}md-radio-button[disabled],md-radio-button[disabled] .md-container{cursor:default}md-radio-button .md-container{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);box-sizing:border-box;display:inline-block;width:20px;height:20px;cursor:pointer;left:0;right:auto}[dir=rtl] md-radio-button .md-container{left:auto;right:0}md-radio-button .md-container .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-15px;top:-15px;right:-15px;bottom:-15px}md-radio-button .md-container:before{box-sizing:border-box;background-color:transparent;border-radius:50%;content:"";position:absolute;display:block;height:auto;left:0;top:0;right:0;bottom:0;-webkit-transition:all .5s;transition:all .5s;width:auto}md-radio-button.md-align-top-left>div.md-container{top:12px}md-radio-button .md-off{border-style:solid;border-width:2px;-webkit-transition:border-color .28s ease;transition:border-color .28s ease}md-radio-button .md-off,md-radio-button .md-on{box-sizing:border-box;position:absolute;top:0;left:0;width:20px;height:20px;border-radius:50%}md-radio-button .md-on{-webkit-transition:-webkit-transform .28s ease;transition:-webkit-transform .28s ease;transition:transform .28s ease;transition:transform .28s ease,-webkit-transform .28s ease;-webkit-transform:scale(0);transform:scale(0)}md-radio-button.md-checked .md-on{-webkit-transform:scale(.5);transform:scale(.5)}md-radio-button .md-label{box-sizing:border-box;position:relative;display:inline-block;margin-left:30px;margin-right:0;vertical-align:middle;white-space:normal;pointer-events:none;width:auto}[dir=rtl] md-radio-button .md-label{margin-left:0;margin-right:30px}md-radio-group.layout-column md-radio-button,md-radio-group.layout-gt-lg-column md-radio-button,md-radio-group.layout-gt-md-column md-radio-button,md-radio-group.layout-gt-sm-column md-radio-button,md-radio-group.layout-gt-xs-column md-radio-button,md-radio-group.layout-lg-column md-radio-button,md-radio-group.layout-md-column md-radio-button,md-radio-group.layout-sm-column md-radio-button,md-radio-group.layout-xl-column md-radio-button,md-radio-group.layout-xs-column md-radio-button{margin-bottom:16px}md-radio-group.layout-gt-lg-row md-radio-button,md-radio-group.layout-gt-md-row md-radio-button,md-radio-group.layout-gt-sm-row md-radio-button,md-radio-group.layout-gt-xs-row md-radio-button,md-radio-group.layout-lg-row md-radio-button,md-radio-group.layout-md-row md-radio-button,md-radio-group.layout-row md-radio-button,md-radio-group.layout-sm-row md-radio-button,md-radio-group.layout-xl-row md-radio-button,md-radio-group.layout-xs-row md-radio-button{margin:0 16px 0 0}[dir=rtl] md-radio-group.layout-gt-lg-row md-radio-button,[dir=rtl] md-radio-group.layout-gt-md-row md-radio-button,[dir=rtl] md-radio-group.layout-gt-sm-row md-radio-button,[dir=rtl] md-radio-group.layout-gt-xs-row md-radio-button,[dir=rtl] md-radio-group.layout-lg-row md-radio-button,[dir=rtl] md-radio-group.layout-md-row md-radio-button,[dir=rtl] md-radio-group.layout-row md-radio-button,[dir=rtl] md-radio-group.layout-sm-row md-radio-button,[dir=rtl] md-radio-group.layout-xl-row md-radio-button,[dir=rtl] md-radio-group.layout-xs-row md-radio-button{margin-left:16px;margin-right:0}md-radio-group.layout-gt-lg-row md-radio-button:last-of-type,md-radio-group.layout-gt-md-row md-radio-button:last-of-type,md-radio-group.layout-gt-sm-row md-radio-button:last-of-type,md-radio-group.layout-gt-xs-row md-radio-button:last-of-type,md-radio-group.layout-lg-row md-radio-button:last-of-type,md-radio-group.layout-md-row md-radio-button:last-of-type,md-radio-group.layout-row md-radio-button:last-of-type,md-radio-group.layout-sm-row md-radio-button:last-of-type,md-radio-group.layout-xl-row md-radio-button:last-of-type,md-radio-group.layout-xs-row md-radio-button:last-of-type{margin-left:0;margin-right:0}md-radio-group:focus{outline:none}md-radio-group.md-focused .md-checked .md-container:before{left:-8px;top:-8px;right:-8px;bottom:-8px}md-radio-group[disabled] md-radio-button,md-radio-group[disabled] md-radio-button .md-container{cursor:default}.md-inline-form md-radio-group{margin:18px 0 19px}.md-inline-form md-radio-group md-radio-button{display:inline-block;height:30px;padding:2px;box-sizing:border-box;margin-top:0;margin-bottom:0}@media screen and (-ms-high-contrast:active){md-radio-button.md-default-theme .md-on{background-color:#fff}}md-input-container:not([md-no-float]) .md-select-placeholder span:first-child{-webkit-transition:-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:-webkit-transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1);transition:transform .4s cubic-bezier(.25,.8,.25,1),-webkit-transform .4s cubic-bezier(.25,.8,.25,1);-webkit-transform-origin:left top;transform-origin:left top}[dir=rtl] md-input-container:not([md-no-float]) .md-select-placeholder span:first-child{-webkit-transform-origin:right top;transform-origin:right top}md-input-container.md-input-focused:not([md-no-float]) .md-select-placeholder span:first-child{-webkit-transform:translateY(-22px) translateX(-2px) scale(.75);transform:translateY(-22px) translateX(-2px) scale(.75)}.md-select-menu-container{position:fixed;left:0;top:0;z-index:90;opacity:0;display:none;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.md-select-menu-container:not(.md-clickable){pointer-events:none}.md-select-menu-container md-progress-circular{display:table;margin:24px auto!important}.md-select-menu-container.md-active{display:block;opacity:1}.md-select-menu-container.md-active md-select-menu{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-duration:.15s;transition-duration:.15s}.md-select-menu-container.md-active md-select-menu>*{opacity:1;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:.15s;transition-duration:.15s;-webkit-transition-delay:.1s;transition-delay:.1s}.md-select-menu-container.md-leave{opacity:0;-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:.25s;transition-duration:.25s}md-input-container>md-select{margin:0;-webkit-box-ordinal-group:3;-webkit-order:2;order:2}md-input-container:not(.md-input-has-value) md-select.ng-required:not(.md-no-asterisk) .md-select-value span:first-child:after,md-input-container:not(.md-input-has-value) md-select[required]:not(.md-no-asterisk) .md-select-value span:first-child:after{content:" *";font-size:13px;vertical-align:top}md-input-container.md-input-invalid md-select .md-select-value{border-bottom-style:solid;padding-bottom:1px}md-select{display:-webkit-box;display:-webkit-flex;display:flex;margin:20px 0 26px}md-select.ng-required.ng-invalid:not(.md-no-asterisk) .md-select-value span:first-child:after,md-select[required].ng-invalid:not(.md-no-asterisk) .md-select-value span:first-child:after{content:" *";font-size:13px;vertical-align:top}md-select[disabled] .md-select-value{background-position:0 bottom;background-size:4px 1px;background-repeat:repeat-x;margin-bottom:-1px}md-select:focus{outline:none}md-select[disabled]:hover{cursor:default}md-select:not([disabled]):hover{cursor:pointer}md-select:not([disabled]).ng-invalid.ng-touched .md-select-value{border-bottom-style:solid;padding-bottom:1px}md-select:not([disabled]):focus .md-select-value{border-bottom-width:2px;border-bottom-style:solid;padding-bottom:0}md-select:not([disabled]):focus.ng-invalid.ng-touched .md-select-value{padding-bottom:0}md-input-container.md-input-has-value .md-select-value>span:not(.md-select-icon){-webkit-transform:translate3d(0,1px,0);transform:translate3d(0,1px,0)}.md-select-value{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;padding:2px 2px 1px;border-bottom-width:1px;border-bottom-style:solid;background-color:transparent;position:relative;box-sizing:content-box;min-width:64px;min-height:26px;-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1}.md-select-value>span:not(.md-select-icon){max-width:100%;-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.md-select-value>span:not(.md-select-icon) .md-text{display:inline}.md-select-value .md-select-icon{display:block;-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;text-align:end;width:24px;margin:0 4px;-webkit-transform:translate3d(0,-2px,0);transform:translate3d(0,-2px,0);font-size:1.2rem}.md-select-value .md-select-icon:after{display:block;content:"\25BC";position:relative;top:2px;speak:none;font-size:13px;-webkit-transform:scaleY(.5) scaleX(1);transform:scaleY(.5) scaleX(1)}.md-select-value.md-select-placeholder{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-ordinal-group:2;-webkit-order:1;order:1;pointer-events:none;-webkit-font-smoothing:antialiased;padding-left:2px;z-index:1}md-select-menu{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12);max-height:256px;min-height:48px;overflow-y:hidden;-webkit-transform-origin:left top;transform-origin:left top;-webkit-transform:scale(1);transform:scale(1)}md-select-menu.md-reverse{-webkit-box-orient:vertical;-webkit-box-direction:reverse;-webkit-flex-direction:column-reverse;flex-direction:column-reverse}md-select-menu:not(.md-overflow) md-content{padding-top:8px;padding-bottom:8px}[dir=rtl] md-select-menu{-webkit-transform-origin:right top;transform-origin:right top}md-select-menu md-content{min-width:136px;min-height:48px;max-height:256px;overflow-y:auto}md-select-menu>*{opacity:0}md-option{cursor:pointer;position:relative;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;width:auto;-webkit-transition:background .15s linear;transition:background .15s linear;padding:0 16px;height:48px}md-option[disabled]{cursor:default}md-option:focus{outline:none}md-option .md-text{-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;width:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}md-optgroup{display:block}md-optgroup label{display:block;font-size:14px;text-transform:uppercase;padding:16px;font-weight:500}md-optgroup md-option{padding-left:32px;padding-right:32px}@media screen and (-ms-high-contrast:active){.md-select-backdrop{background-color:transparent}md-select-menu{border:1px solid #fff}}md-select-menu[multiple] md-option.md-checkbox-enabled{padding-left:40px;padding-right:16px}[dir=rtl] md-select-menu[multiple] md-option.md-checkbox-enabled{padding-left:16px;padding-right:40px}md-select-menu[multiple] md-option.md-checkbox-enabled .md-container{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);box-sizing:border-box;display:inline-block;width:20px;height:20px;left:0;right:auto}[dir=rtl] md-select-menu[multiple] md-option.md-checkbox-enabled .md-container{left:auto;right:0}md-select-menu[multiple] md-option.md-checkbox-enabled .md-container:before{box-sizing:border-box;background-color:transparent;border-radius:50%;content:"";position:absolute;display:block;height:auto;left:0;top:0;right:0;bottom:0;-webkit-transition:all .5s;transition:all .5s;width:auto}md-select-menu[multiple] md-option.md-checkbox-enabled .md-container:after{box-sizing:border-box;content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}md-select-menu[multiple] md-option.md-checkbox-enabled .md-container .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-15px;top:-15px;right:-15px;bottom:-15px}md-select-menu[multiple] md-option.md-checkbox-enabled .md-icon{box-sizing:border-box;-webkit-transition:.24s;transition:.24s;position:absolute;top:0;left:0;width:20px;height:20px;border-width:2px;border-style:solid;border-radius:2px}md-select-menu[multiple] md-option.md-checkbox-enabled[selected] .md-icon{border-color:transparent}md-select-menu[multiple] md-option.md-checkbox-enabled[selected] .md-icon:after{box-sizing:border-box;-webkit-transform:rotate(45deg);transform:rotate(45deg);position:absolute;left:4.66667px;top:.22222px;display:table;width:6.66667px;height:13.33333px;border-width:2px;border-style:solid;border-top:0;border-left:0;content:""}md-select-menu[multiple] md-option.md-checkbox-enabled[disabled]{cursor:default}md-select-menu[multiple] md-option.md-checkbox-enabled.md-indeterminate .md-icon:after{box-sizing:border-box;position:absolute;top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);display:table;width:12px;height:2px;border-width:2px;border-style:solid;border-top:0;border-left:0;content:""}md-select-menu[multiple] md-option.md-checkbox-enabled .md-container{margin-left:10.66667px;margin-right:auto}[dir=rtl] md-select-menu[multiple] md-option.md-checkbox-enabled .md-container{margin-left:auto;margin-right:10.66667px}md-sidenav{box-sizing:border-box;position:absolute;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;z-index:60;width:320px;max-width:320px;bottom:0;overflow:auto;-webkit-overflow-scrolling:touch}md-sidenav ul{list-style:none}md-sidenav.md-closed{display:none}md-sidenav.md-closed-add,md-sidenav.md-closed-remove{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-transition:all .2s ease-in;transition:all .2s ease-in}md-sidenav.md-closed-add.md-closed-add-active,md-sidenav.md-closed-remove.md-closed-remove-active{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}md-sidenav.md-closed.md-locked-open-add,md-sidenav.md-locked-open,md-sidenav.md-locked-open-add,md-sidenav.md-locked-open-remove,md-sidenav.md-locked-open-remove.md-closed,md-sidenav.md-locked-open.md-closed,md-sidenav.md-locked-open.md-closed.md-sidenav-left,md-sidenav.md-locked-open.md-closed.md-sidenav-right{position:static;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-sidenav.md-closed.md-locked-open-add:not(.md-locked-open-add-active){width:0!important;min-width:0!important}md-sidenav.md-closed.md-locked-open-add-active,md-sidenav.md-closed.md-locked-open-add:not(.md-locked-open-add-active),md-sidenav.md-locked-open-remove-active{-webkit-transition:width .3s cubic-bezier(.55,0,.55,.2),min-width .3s cubic-bezier(.55,0,.55,.2);transition:width .3s cubic-bezier(.55,0,.55,.2),min-width .3s cubic-bezier(.55,0,.55,.2)}md-sidenav.md-locked-open-remove-active{width:0!important;min-width:0!important}.md-sidenav-backdrop.md-locked-open{display:none}.md-sidenav-left,md-sidenav{left:0;top:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.md-sidenav-left.md-closed,md-sidenav.md-closed{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0)}.md-sidenav-right{left:100%;top:0;-webkit-transform:translate(-100%,0);transform:translate(-100%,0)}.md-sidenav-right.md-closed{-webkit-transform:translate(0,0);transform:translate(0,0)}@media (min-width:600px){md-sidenav{max-width:400px}}@media (max-width:456px){md-sidenav{width:calc(100% - 56px);min-width:calc(100% - 56px);max-width:calc(100% - 56px)}}@media screen and (-ms-high-contrast:active){.md-sidenav-left,md-sidenav{border-right:1px solid #fff}.md-sidenav-right{border-left:1px solid #fff}}@-webkit-keyframes sliderFocusThumb{0%{-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.7);transform:scale(.7)}}@keyframes sliderFocusThumb{0%{-webkit-transform:scale(.7);transform:scale(.7)}30%{-webkit-transform:scale(1);transform:scale(1)}to{-webkit-transform:scale(.7);transform:scale(.7)}}@-webkit-keyframes sliderDiscreteFocusThumb{0%{-webkit-transform:scale(.7);transform:scale(.7)}50%{-webkit-transform:scale(.8);transform:scale(.8)}to{-webkit-transform:scale(0);transform:scale(0)}}@keyframes sliderDiscreteFocusThumb{0%{-webkit-transform:scale(.7);transform:scale(.7)}50%{-webkit-transform:scale(.8);transform:scale(.8)}to{-webkit-transform:scale(0);transform:scale(0)}}@-webkit-keyframes sliderDiscreteFocusRing{0%{-webkit-transform:scale(.7);transform:scale(.7);opacity:0}50%{-webkit-transform:scale(1);transform:scale(1);opacity:1}to{-webkit-transform:scale(0);transform:scale(0)}}@keyframes sliderDiscreteFocusRing{0%{-webkit-transform:scale(.7);transform:scale(.7);opacity:0}50%{-webkit-transform:scale(1);transform:scale(1);opacity:1}to{-webkit-transform:scale(0);transform:scale(0)}}md-slider{height:48px;min-width:128px;position:relative;margin-left:4px;margin-right:4px;padding:0;display:block;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-slider *,md-slider :after{box-sizing:border-box}md-slider .md-slider-wrapper{outline:none;width:100%;height:100%}md-slider .md-slider-content{position:relative}md-slider .md-track-container{width:100%;position:absolute;top:23px;height:2px}md-slider .md-track{position:absolute;left:0;right:0;height:100%}md-slider .md-track-fill{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-property:width,height;transition-property:width,height}md-slider .md-track-ticks{position:absolute;left:0;right:0;height:100%}md-slider .md-track-ticks canvas{width:100%;height:100%}md-slider .md-thumb-container{position:absolute;left:0;top:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-property:left,right,bottom;transition-property:left,right,bottom}[dir=rtl] md-slider .md-thumb-container{left:auto;right:0}md-slider .md-thumb{z-index:1;position:absolute;left:-10px;top:14px;width:20px;height:20px;border-radius:20px;-webkit-transform:scale(.7);transform:scale(.7);-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}[dir=rtl] md-slider .md-thumb{left:auto;right:-10px}md-slider .md-thumb:after{content:"";position:absolute;width:20px;height:20px;border-radius:20px;border-width:3px;border-style:solid;-webkit-transition:inherit;transition:inherit}md-slider .md-sign{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center;position:absolute;left:-14px;top:-17px;width:28px;height:28px;border-radius:28px;-webkit-transform:scale(.4) translate3d(0,67.5px,0);transform:scale(.4) translate3d(0,67.5px,0);-webkit-transition:all .3s cubic-bezier(.35,0,.25,1);transition:all .3s cubic-bezier(.35,0,.25,1)}md-slider .md-sign:after{position:absolute;content:"";left:0;border-radius:16px;top:19px;border-left:14px solid transparent;border-right:14px solid transparent;border-top-width:16px;border-top-style:solid;opacity:0;-webkit-transform:translate3d(0,-8px,0);transform:translate3d(0,-8px,0);-webkit-transition:all .2s cubic-bezier(.35,0,.25,1);transition:all .2s cubic-bezier(.35,0,.25,1)}[dir=rtl] md-slider .md-sign:after{left:auto;right:0}md-slider .md-sign .md-thumb-text{z-index:1;font-size:12px;font-weight:700}md-slider .md-focus-ring{position:absolute;left:-17px;top:7px;width:34px;height:34px;border-radius:34px;-webkit-transform:scale(.7);transform:scale(.7);opacity:0;-webkit-transition:all .35s cubic-bezier(.35,0,.25,1);transition:all .35s cubic-bezier(.35,0,.25,1)}[dir=rtl] md-slider .md-focus-ring{left:auto;right:-17px}md-slider .md-disabled-thumb{position:absolute;left:-14px;top:10px;width:28px;height:28px;border-radius:28px;-webkit-transform:scale(.5);transform:scale(.5);border-width:4px;border-style:solid;display:none}[dir=rtl] md-slider .md-disabled-thumb{left:auto;right:-14px}md-slider.md-min .md-sign{opacity:0}md-slider:focus{outline:none}md-slider.md-dragging .md-thumb-container,md-slider.md-dragging .md-track-fill{-webkit-transition:none;transition:none}md-slider:not([md-discrete]) .md-sign,md-slider:not([md-discrete]) .md-track-ticks{display:none}md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper .md-thumb:hover{-webkit-transform:scale(.8);transform:scale(.8)}md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper.md-focused .md-focus-ring{-webkit-transform:scale(1);transform:scale(1);opacity:1}md-slider:not([md-discrete]):not([disabled]) .md-slider-wrapper.md-focused .md-thumb{-webkit-animation:sliderFocusThumb .7s cubic-bezier(.35,0,.25,1);animation:sliderFocusThumb .7s cubic-bezier(.35,0,.25,1)}md-slider:not([md-discrete]):not([disabled]).md-active .md-slider-wrapper .md-thumb{-webkit-transform:scale(1);transform:scale(1)}md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-focus-ring{-webkit-transform:scale(0);transform:scale(0);-webkit-animation:sliderDiscreteFocusRing .5s cubic-bezier(.35,0,.25,1);animation:sliderDiscreteFocusRing .5s cubic-bezier(.35,0,.25,1)}md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-thumb{-webkit-animation:sliderDiscreteFocusThumb .5s cubic-bezier(.35,0,.25,1);animation:sliderDiscreteFocusThumb .5s cubic-bezier(.35,0,.25,1)}md-slider[md-discrete]:not([disabled]).md-active .md-thumb,md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-thumb{-webkit-transform:scale(0);transform:scale(0)}md-slider[md-discrete]:not([disabled]).md-active .md-sign,md-slider[md-discrete]:not([disabled]).md-active .md-sign:after,md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-sign,md-slider[md-discrete]:not([disabled]) .md-slider-wrapper.md-focused .md-sign:after{opacity:1;-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}md-slider[md-discrete][disabled][readonly] .md-thumb{-webkit-transform:scale(0);transform:scale(0)}md-slider[md-discrete][disabled][readonly] .md-sign,md-slider[md-discrete][disabled][readonly] .md-sign:after{opacity:1;-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}md-slider[disabled] .md-track-fill{display:none}md-slider[disabled] .md-track-ticks,md-slider[disabled]:not([readonly]) .md-sign{opacity:0}md-slider[disabled] .md-thumb{-webkit-transform:scale(.5);transform:scale(.5)}md-slider[disabled] .md-disabled-thumb{display:block}md-slider[md-vertical]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;min-height:128px;min-width:0}md-slider[md-vertical] .md-slider-wrapper{-webkit-box-flex:1;-webkit-flex:1;flex:1;padding-top:12px;padding-bottom:12px;width:48px;-webkit-align-self:center;align-self:center;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}md-slider[md-vertical] .md-track-container{height:100%;width:2px;top:0;left:calc(50% - 1px)}md-slider[md-vertical] .md-thumb-container{top:auto;margin-bottom:23px;left:calc(50% - 1px);bottom:0}md-slider[md-vertical] .md-thumb-container .md-thumb:after{left:1px}md-slider[md-vertical] .md-thumb-container .md-focus-ring{left:-16px}md-slider[md-vertical] .md-track-fill{bottom:0}md-slider[md-vertical][md-discrete] .md-sign{left:-40px;top:9.5px;-webkit-transform:scale(.4) translate3d(67.5px,0,0);transform:scale(.4) translate3d(67.5px,0,0)}md-slider[md-vertical][md-discrete] .md-sign:after{top:9.5px;left:19px;border-top:14px solid transparent;border-right:0;border-bottom:14px solid transparent;border-left-width:16px;border-left-style:solid;opacity:0;-webkit-transform:translate3d(0,-8px,0);transform:translate3d(0,-8px,0);-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out}md-slider[md-vertical][md-discrete] .md-sign .md-thumb-text{z-index:1;font-size:12px;font-weight:700}md-slider[md-vertical][md-discrete].md-active .md-sign:after,md-slider[md-vertical][md-discrete] .md-focused .md-sign:after,md-slider[md-vertical][md-discrete][disabled][readonly] .md-sign:after{top:0}md-slider[md-vertical][disabled][readonly] .md-thumb{-webkit-transform:scale(0);transform:scale(0)}md-slider[md-vertical][disabled][readonly] .md-sign,md-slider[md-vertical][disabled][readonly] .md-sign:after{opacity:1;-webkit-transform:translate3d(0,0,0) scale(1);transform:translate3d(0,0,0) scale(1)}md-slider[md-invert]:not([md-vertical]) .md-track-fill{left:auto;right:0}[dir=rtl] md-slider[md-invert]:not([md-vertical]) .md-track-fill{left:0;right:auto}md-slider[md-invert][md-vertical] .md-track-fill{bottom:auto;top:0}md-slider-container{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-slider-container>:first-child:not(md-slider),md-slider-container>:last-child:not(md-slider){min-width:25px;max-width:42px;height:25px;-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-property:color,max-width;transition-property:color,max-width}md-slider-container>:first-child:not(md-slider){margin-right:16px}[dir=rtl] md-slider-container>:first-child:not(md-slider){margin-right:auto;margin-left:16px}md-slider-container>:last-child:not(md-slider){margin-left:16px}[dir=rtl] md-slider-container>:last-child:not(md-slider){margin-left:auto;margin-right:16px}md-slider-container[md-vertical]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}md-slider-container[md-vertical]>:first-child:not(md-slider),md-slider-container[md-vertical]>:last-child:not(md-slider){margin-right:0;margin-left:0;text-align:center}md-slider-container md-input-container input[type=number]{text-align:center;padding-left:15px;height:50px;margin-top:-25px}[dir=rtl] md-slider-container md-input-container input[type=number]{padding-left:0;padding-right:15px}@media screen and (-ms-high-contrast:active){md-slider.md-default-theme .md-track{border-bottom:1px solid #fff}}.md-sticky-clone{z-index:2;top:0;left:0;right:0;position:absolute!important;-webkit-transform:translate3d(-9999px,-9999px,0);transform:translate3d(-9999px,-9999px,0)}.md-sticky-clone[sticky-state=active]{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}.md-sticky-clone[sticky-state=active]:not(.md-sticky-no-effect) .md-subheader-inner{-webkit-animation:subheaderStickyHoverIn .3s ease-out both;animation:subheaderStickyHoverIn .3s ease-out both}@-webkit-keyframes subheaderStickyHoverIn{0%{box-shadow:0 0 0 0 transparent}to{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}}@keyframes subheaderStickyHoverIn{0%{box-shadow:0 0 0 0 transparent}to{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}}@-webkit-keyframes subheaderStickyHoverOut{0%{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}to{box-shadow:0 0 0 0 transparent}}@keyframes subheaderStickyHoverOut{0%{box-shadow:0 2px 4px 0 rgba(0,0,0,.16)}to{box-shadow:0 0 0 0 transparent}}.md-subheader-wrapper:not(.md-sticky-no-effect){-webkit-transition:margin .2s ease-out;transition:margin .2s ease-out}.md-subheader-wrapper:not(.md-sticky-no-effect) .md-subheader{margin:0}.md-subheader-wrapper:not(.md-sticky-no-effect).md-sticky-clone{z-index:2}.md-subheader-wrapper:not(.md-sticky-no-effect)[sticky-state=active]{margin-top:-2px}.md-subheader-wrapper:not(.md-sticky-no-effect):not(.md-sticky-clone)[sticky-prev-state=active] .md-subheader-inner:after{-webkit-animation:subheaderStickyHoverOut .3s ease-out both;animation:subheaderStickyHoverOut .3s ease-out both}.md-subheader{display:block;font-size:14px;font-weight:500;line-height:1em;margin:0;position:relative}.md-subheader .md-subheader-inner{display:block;padding:16px}.md-subheader .md-subheader-content{display:block;z-index:1;position:relative}[md-swipe-left],[md-swipe-right]{touch-action:pan-y}[md-swipe-down],[md-swipe-up]{touch-action:pan-x}.md-inline-form md-switch{margin-top:18px;margin-bottom:19px}md-switch{margin:16px 0;white-space:nowrap;cursor:pointer;outline:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;height:30px;line-height:28px;-webkit-box-align:center;-webkit-align-items:center;align-items:center;display:-webkit-box;display:-webkit-flex;display:flex;margin-left:inherit;margin-right:16px}[dir=rtl] md-switch{margin-left:16px;margin-right:inherit}md-switch:last-of-type{margin-left:inherit;margin-right:0}[dir=rtl] md-switch:last-of-type{margin-left:0;margin-right:inherit}md-switch[disabled],md-switch[disabled] .md-container{cursor:default}md-switch .md-container{cursor:-webkit-grab;cursor:grab;width:36px;height:24px;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;margin-right:8px;float:left}[dir=rtl] md-switch .md-container,md-switch.md-inverted .md-container{margin-right:0;margin-left:8px}[dir=rtl] md-switch.md-inverted .md-container{margin-right:8px;margin-left:0}md-switch:not([disabled]) .md-dragging,md-switch:not([disabled]).md-dragging .md-container{cursor:-webkit-grabbing;cursor:grabbing}md-switch.md-focused:not([disabled]) .md-thumb:before{left:-8px;top:-8px;right:-8px;bottom:-8px}md-switch.md-focused:not([disabled]):not(.md-checked) .md-thumb:before{background-color:rgba(0,0,0,.12)}md-switch .md-label{border-color:transparent;border-width:0;float:left}md-switch .md-bar{left:1px;width:34px;top:5px;height:14px;border-radius:8px;position:absolute}md-switch .md-thumb-container{top:2px;left:0;width:16px;position:absolute;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);z-index:1}md-switch.md-checked .md-thumb-container{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0)}md-switch .md-thumb{margin:0;outline:none;height:20px;width:20px;box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12)}md-switch .md-thumb,md-switch .md-thumb:before{position:absolute;left:0;top:0;border-radius:50%}md-switch .md-thumb:before{background-color:transparent;content:"";display:block;height:auto;right:0;bottom:0;-webkit-transition:all .5s;transition:all .5s;width:auto}md-switch .md-thumb .md-ripple-container{position:absolute;display:block;width:auto;height:auto;left:-20px;top:-20px;right:-20px;bottom:-20px}md-switch:not(.md-dragging) .md-bar,md-switch:not(.md-dragging) .md-thumb,md-switch:not(.md-dragging) .md-thumb-container{-webkit-transition:all .08s linear;transition:all .08s linear;-webkit-transition-property:background-color,-webkit-transform;transition-property:background-color,-webkit-transform;transition-property:transform,background-color;transition-property:transform,background-color,-webkit-transform}md-switch:not(.md-dragging) .md-bar,md-switch:not(.md-dragging) .md-thumb{-webkit-transition-delay:.05s;transition-delay:.05s}@media screen and (-ms-high-contrast:active){md-switch.md-default-theme .md-bar{background-color:#666}md-switch.md-default-theme.md-checked .md-bar{background-color:#9e9e9e}md-switch.md-default-theme .md-thumb{background-color:#fff}}@-webkit-keyframes md-tab-content-hide{0%{opacity:1}50%{opacity:1}to{opacity:0}}@keyframes md-tab-content-hide{0%{opacity:1}50%{opacity:1}to{opacity:0}}md-tab-data{position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;opacity:0}md-tabs{display:block;margin:0;border-radius:2px;overflow:hidden;position:relative;-webkit-flex-shrink:0;flex-shrink:0}md-tabs:not(.md-no-tab-content):not(.md-dynamic-height){min-height:248px}md-tabs[md-align-tabs=bottom]{padding-bottom:48px}md-tabs[md-align-tabs=bottom] md-tabs-wrapper{position:absolute;bottom:0;left:0;right:0;height:48px;z-index:2}md-tabs[md-align-tabs=bottom] md-tabs-content-wrapper{top:0;bottom:48px}md-tabs.md-dynamic-height md-tabs-content-wrapper{min-height:0;position:relative;top:auto;left:auto;right:auto;bottom:auto;overflow:visible}md-tabs.md-dynamic-height md-tab-content.md-active{position:relative}md-tabs[md-border-bottom] md-tabs-wrapper{border-width:0 0 1px;border-style:solid}md-tabs[md-border-bottom]:not(.md-dynamic-height) md-tabs-content-wrapper{top:49px}md-tabs-wrapper{display:block;position:relative;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-tabs-wrapper md-next-button,md-tabs-wrapper md-prev-button{height:100%;width:32px;position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);line-height:1em;z-index:2;cursor:pointer;font-size:16px;background:transparent no-repeat 50%;-webkit-transition:all .5s cubic-bezier(.35,0,.25,1);transition:all .5s cubic-bezier(.35,0,.25,1)}md-tabs-wrapper md-next-button:focus,md-tabs-wrapper md-prev-button:focus{outline:none}md-tabs-wrapper md-next-button.md-disabled,md-tabs-wrapper md-prev-button.md-disabled{opacity:.25;cursor:default}md-tabs-wrapper md-next-button.ng-leave,md-tabs-wrapper md-prev-button.ng-leave{-webkit-transition:none;transition:none}md-tabs-wrapper md-next-button md-icon,md-tabs-wrapper md-prev-button md-icon{position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}[dir=rtl] md-tabs-wrapper md-next-button,[dir=rtl] md-tabs-wrapper md-prev-button{-webkit-transform:rotateY(180deg) translateY(-50%);transform:rotateY(180deg) translateY(-50%)}md-tabs-wrapper md-prev-button{left:0;background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE3LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPiA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPiA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPiA8ZyBpZD0iSGVhZGVyIj4gPGc+IDxyZWN0IHg9Ii02MTgiIHk9Ii0xMjA4IiBmaWxsPSJub25lIiB3aWR0aD0iMTQwMCIgaGVpZ2h0PSIzNjAwIi8+IDwvZz4gPC9nPiA8ZyBpZD0iTGFiZWwiPiA8L2c+IDxnIGlkPSJJY29uIj4gPGc+IDxwb2x5Z29uIHBvaW50cz0iMTUuNCw3LjQgMTQsNiA4LDEyIDE0LDE4IDE1LjQsMTYuNiAxMC44LDEyIAkJIiBzdHlsZT0iZmlsbDp3aGl0ZTsiLz4gPHJlY3QgZmlsbD0ibm9uZSIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0Ii8+IDwvZz4gPC9nPiA8ZyBpZD0iR3JpZCIgZGlzcGxheT0ibm9uZSI+IDxnIGRpc3BsYXk9ImlubGluZSI+IDwvZz4gPC9nPiA8L3N2Zz4NCg==")}[dir=rtl] md-tabs-wrapper md-prev-button{left:auto;right:0}md-tabs-wrapper md-next-button{right:0;background-image:url("data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4gPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDE3LjEuMCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPiA8IURPQ1RZUEUgc3ZnIFBVQkxJQyAiLS8vVzNDLy9EVEQgU1ZHIDEuMS8vRU4iICJodHRwOi8vd3d3LnczLm9yZy9HcmFwaGljcy9TVkcvMS4xL0RURC9zdmcxMS5kdGQiPiA8c3ZnIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSIyNHB4IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgZW5hYmxlLWJhY2tncm91bmQ9Im5ldyAwIDAgMjQgMjQiIHhtbDpzcGFjZT0icHJlc2VydmUiPiA8ZyBpZD0iSGVhZGVyIj4gPGc+IDxyZWN0IHg9Ii02MTgiIHk9Ii0xMzM2IiBmaWxsPSJub25lIiB3aWR0aD0iMTQwMCIgaGVpZ2h0PSIzNjAwIi8+IDwvZz4gPC9nPiA8ZyBpZD0iTGFiZWwiPiA8L2c+IDxnIGlkPSJJY29uIj4gPGc+IDxwb2x5Z29uIHBvaW50cz0iMTAsNiA4LjYsNy40IDEzLjIsMTIgOC42LDE2LjYgMTAsMTggMTYsMTIgCQkiIHN0eWxlPSJmaWxsOndoaXRlOyIvPiA8cmVjdCBmaWxsPSJub25lIiB3aWR0aD0iMjQiIGhlaWdodD0iMjQiLz4gPC9nPiA8L2c+IDxnIGlkPSJHcmlkIiBkaXNwbGF5PSJub25lIj4gPGcgZGlzcGxheT0iaW5saW5lIj4gPC9nPiA8L2c+IDwvc3ZnPg0K")}[dir=rtl] md-tabs-wrapper md-next-button{right:auto;left:0}md-tabs-wrapper md-next-button md-icon{-webkit-transform:translate3d(-50%,-50%,0) rotate(180deg);transform:translate3d(-50%,-50%,0) rotate(180deg)}md-tabs-wrapper.md-stretch-tabs md-pagination-wrapper{width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}md-tabs-wrapper.md-stretch-tabs md-pagination-wrapper md-tab-item{-webkit-box-flex:1;-webkit-flex-grow:1;flex-grow:1}md-tabs-canvas{position:relative;overflow:hidden;display:block;height:48px}md-tabs-canvas:after{content:"";display:table;clear:both}md-tabs-canvas .md-dummy-wrapper{position:absolute;top:0;left:0}[dir=rtl] md-tabs-canvas .md-dummy-wrapper{left:auto;right:0}md-tabs-canvas.md-paginated{margin:0 32px}md-tabs-canvas.md-center-tabs{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;text-align:center}md-tabs-canvas.md-center-tabs .md-tab{float:none;display:inline-block}md-pagination-wrapper{height:48px;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-transition:-webkit-transform .5s cubic-bezier(.35,0,.25,1);transition:-webkit-transform .5s cubic-bezier(.35,0,.25,1);transition:transform .5s cubic-bezier(.35,0,.25,1);transition:transform .5s cubic-bezier(.35,0,.25,1),-webkit-transform .5s cubic-bezier(.35,0,.25,1);position:absolute;left:0;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-pagination-wrapper:after{content:"";display:table;clear:both}[dir=rtl] md-pagination-wrapper{left:auto;right:0}md-pagination-wrapper.md-center-tabs{position:relative;-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}md-tabs-content-wrapper{display:block;top:48px;overflow:hidden}md-tab-content,md-tabs-content-wrapper{position:absolute;left:0;right:0;bottom:0}md-tab-content{display:-webkit-box;display:-webkit-flex;display:flex;top:0;-webkit-transition:-webkit-transform .5s cubic-bezier(.35,0,.25,1);transition:-webkit-transform .5s cubic-bezier(.35,0,.25,1);transition:transform .5s cubic-bezier(.35,0,.25,1);transition:transform .5s cubic-bezier(.35,0,.25,1),-webkit-transform .5s cubic-bezier(.35,0,.25,1);overflow:auto;-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-tab-content.md-no-scroll{bottom:auto;overflow:hidden}md-tab-content.md-no-transition,md-tab-content.ng-leave{-webkit-transition:none;transition:none}md-tab-content.md-left:not(.md-active){-webkit-transform:translateX(-100%);transform:translateX(-100%);-webkit-animation:1s md-tab-content-hide;animation:1s md-tab-content-hide;visibility:hidden}[dir=rtl] md-tab-content.md-left:not(.md-active){-webkit-transform:translateX(100%);transform:translateX(100%)}md-tab-content.md-left:not(.md-active) *{-webkit-transition:visibility 0s linear;transition:visibility 0s linear;-webkit-transition-delay:.5s;transition-delay:.5s;visibility:hidden}md-tab-content.md-right:not(.md-active){-webkit-transform:translateX(100%);transform:translateX(100%);-webkit-animation:1s md-tab-content-hide;animation:1s md-tab-content-hide;visibility:hidden}[dir=rtl] md-tab-content.md-right:not(.md-active){-webkit-transform:translateX(-100%);transform:translateX(-100%)}md-tab-content.md-right:not(.md-active) *{-webkit-transition:visibility 0s linear;transition:visibility 0s linear;-webkit-transition-delay:.5s;transition-delay:.5s;visibility:hidden}md-tab-content>div{-webkit-box-flex:1;-webkit-flex:1 0 100%;flex:1 0 100%;min-width:0}md-tab-content>div.ng-leave{-webkit-animation:1s md-tab-content-hide;animation:1s md-tab-content-hide}md-ink-bar{position:absolute;left:auto;right:auto;bottom:0;height:2px}md-ink-bar.md-left{-webkit-transition:left .125s cubic-bezier(.35,0,.25,1),right .25s cubic-bezier(.35,0,.25,1);transition:left .125s cubic-bezier(.35,0,.25,1),right .25s cubic-bezier(.35,0,.25,1)}md-ink-bar.md-right{-webkit-transition:left .25s cubic-bezier(.35,0,.25,1),right .125s cubic-bezier(.35,0,.25,1);transition:left .25s cubic-bezier(.35,0,.25,1),right .125s cubic-bezier(.35,0,.25,1)}md-tab{position:absolute;z-index:-1;left:-9999px}.md-tab{font-size:14px;text-align:center;line-height:24px;padding:12px 24px;-webkit-transition:background-color .35s cubic-bezier(.35,0,.25,1);transition:background-color .35s cubic-bezier(.35,0,.25,1);cursor:pointer;white-space:nowrap;position:relative;text-transform:uppercase;float:left;font-weight:500;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis}[dir=rtl] .md-tab{float:right}.md-tab.md-focused,.md-tab:focus{box-shadow:none;outline:none}.md-tab.md-active{cursor:default}.md-tab.md-disabled{pointer-events:none;touch-action:pan-y;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-user-drag:none;opacity:.5;cursor:default}.md-tab.ng-leave{-webkit-transition:none;transition:none}md-toolbar+md-dialog-content md-tabs,md-toolbar+md-tabs{border-top-left-radius:0;border-top-right-radius:0}.md-toast-text{padding:0 6px}md-toast{position:absolute;z-index:105;box-sizing:border-box;cursor:default;padding:8px;opacity:1}md-toast,md-toast .md-toast-content{overflow:hidden;-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}md-toast .md-toast-content{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;-webkit-box-align:center;-webkit-align-items:center;align-items:center;max-height:168px;max-width:100%;min-height:48px;padding:0 18px;box-shadow:0 2px 5px 0 rgba(0,0,0,.26);border-radius:2px;font-size:14px;-webkit-transform:translate3d(0,0,0) rotateZ(0deg);transform:translate3d(0,0,0) rotateZ(0deg);-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}md-toast .md-toast-content:before{content:"";min-height:48px;visibility:hidden;display:inline-block}[dir=rtl] md-toast .md-toast-content{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}md-toast .md-toast-content span{-webkit-box-flex:1;-webkit-flex:1 1 0%;flex:1 1 0%;box-sizing:border-box;min-width:0}md-toast.md-capsule,md-toast.md-capsule .md-toast-content{border-radius:24px}md-toast.ng-leave-active .md-toast-content{-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2)}md-toast.md-swipedown .md-toast-content,md-toast.md-swipeleft .md-toast-content,md-toast.md-swiperight .md-toast-content,md-toast.md-swipeup .md-toast-content{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1)}md-toast.ng-enter{opacity:0}md-toast.ng-enter .md-toast-content{-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}md-toast.ng-enter.md-top .md-toast-content{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}md-toast.ng-enter.ng-enter-active{opacity:1}md-toast.ng-enter.ng-enter-active .md-toast-content{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0)}md-toast.ng-leave.ng-leave-active .md-toast-content{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}md-toast.ng-leave.ng-leave-active.md-swipeup .md-toast-content{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}md-toast.ng-leave.ng-leave-active.md-swipedown .md-toast-content{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}md-toast.ng-leave.ng-leave-active.md-top .md-toast-content{-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}md-toast .md-action{line-height:19px;margin-left:24px;margin-right:0;cursor:pointer;text-transform:uppercase;float:right}md-toast .md-button{min-width:0;margin-right:0;margin-left:12px}[dir=rtl] md-toast .md-button{margin-right:12px;margin-left:0}@media (max-width:959px){md-toast{left:0;right:0;width:100%;max-width:100%;min-width:0;border-radius:0;bottom:0;padding:0}md-toast.ng-leave.ng-leave-active.md-swipeup .md-toast-content{-webkit-transform:translate3d(0,-50%,0);transform:translate3d(0,-50%,0)}md-toast.ng-leave.ng-leave-active.md-swipedown .md-toast-content{-webkit-transform:translate3d(0,50%,0);transform:translate3d(0,50%,0)}}@media (min-width:960px){md-toast{min-width:304px}md-toast.md-bottom{bottom:0}md-toast.md-left{left:0}md-toast.md-right{right:0}md-toast.md-top{top:0}md-toast._md-start{left:0}[dir=rtl] md-toast._md-start{left:auto;right:0}md-toast._md-end{right:0}[dir=rtl] md-toast._md-end{right:auto;left:0}md-toast.ng-leave.ng-leave-active.md-swipeleft .md-toast-content{-webkit-transform:translate3d(-50%,0,0);transform:translate3d(-50%,0,0)}md-toast.ng-leave.ng-leave-active.md-swiperight .md-toast-content{-webkit-transform:translate3d(50%,0,0);transform:translate3d(50%,0,0)}}@media (min-width:1920px){md-toast .md-toast-content{max-width:568px}}@media screen and (-ms-high-contrast:active){md-toast{border:1px solid #fff}}.md-toast-animating{overflow:hidden!important}md-toolbar{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column;position:relative;z-index:2;font-size:20px;min-height:64px;width:100%}md-toolbar._md-toolbar-transitions{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:cubic-bezier(.35,0,.25,1);transition-timing-function:cubic-bezier(.35,0,.25,1);-webkit-transition-property:background-color,fill,color;transition-property:background-color,fill,color}md-toolbar.md-whiteframe-z1-add,md-toolbar.md-whiteframe-z1-remove{-webkit-transition:box-shadow .5s linear;transition:box-shadow .5s linear}md-toolbar md-toolbar-filler{width:72px}md-toolbar *,md-toolbar :after,md-toolbar :before{box-sizing:border-box}md-toolbar.ng-animate{-webkit-transition:none;transition:none}md-toolbar.md-tall{height:128px;min-height:128px;max-height:128px}md-toolbar.md-medium-tall{height:88px;min-height:88px;max-height:88px}md-toolbar.md-medium-tall .md-toolbar-tools{height:48px;min-height:48px;max-height:48px}md-toolbar>.md-indent{margin-left:64px}[dir=rtl] md-toolbar>.md-indent{margin-left:auto;margin-right:64px}md-toolbar~md-content>md-list{padding:0}md-toolbar~md-content>md-list md-list-item:last-child md-divider{display:none}.md-toolbar-tools{font-size:20px;letter-spacing:.005em;box-sizing:border-box;font-weight:400;display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row;width:100%;height:64px;max-height:64px;padding:0 16px;margin:0}.md-toolbar-tools h1,.md-toolbar-tools h2,.md-toolbar-tools h3{font-size:inherit;font-weight:inherit;margin:inherit}.md-toolbar-tools a{color:inherit;text-decoration:none}.md-toolbar-tools .fill-height{display:-webkit-box;display:-webkit-flex;display:flex;-webkit-box-align:center;-webkit-align-items:center;align-items:center}.md-toolbar-tools md-checkbox{margin:inherit}.md-toolbar-tools .md-button{margin-top:0;margin-bottom:0}.md-toolbar-tools .md-button,.md-toolbar-tools .md-button.md-icon-button md-icon{-webkit-transition-duration:.5s;transition-duration:.5s;-webkit-transition-timing-function:cubic-bezier(.35,0,.25,1);transition-timing-function:cubic-bezier(.35,0,.25,1);-webkit-transition-property:background-color,fill,color;transition-property:background-color,fill,color}.md-toolbar-tools .md-button.md-icon-button md-icon.ng-animate,.md-toolbar-tools .md-button.ng-animate{-webkit-transition:none;transition:none}.md-toolbar-tools>.md-button:first-child{margin-left:-8px}[dir=rtl] .md-toolbar-tools>.md-button:first-child{margin-left:auto;margin-right:-8px}.md-toolbar-tools>.md-button:last-child{margin-right:-8px}[dir=rtl] .md-toolbar-tools>.md-button:last-child{margin-right:auto;margin-left:-8px}.md-toolbar-tools>md-menu:last-child{margin-right:-8px}[dir=rtl] .md-toolbar-tools>md-menu:last-child{margin-right:auto;margin-left:-8px}.md-toolbar-tools>md-menu:last-child>.md-button{margin-right:0}[dir=rtl] .md-toolbar-tools>md-menu:last-child>.md-button{margin-right:auto;margin-left:0}@media screen and (-ms-high-contrast:active){.md-toolbar-tools{border-bottom:1px solid #fff}}@media (min-width:0) and (max-width:959px) and (orientation:portrait){md-toolbar{min-height:56px}.md-toolbar-tools{height:56px;max-height:56px}}@media (min-width:0) and (max-width:959px) and (orientation:landscape){md-toolbar{min-height:48px}.md-toolbar-tools{height:48px;max-height:48px}}.md-tooltip{pointer-events:none;border-radius:4px;overflow:hidden;opacity:0;font-weight:500;font-size:14px;white-space:nowrap;text-overflow:ellipsis;height:32px;line-height:32px;padding-right:16px;padding-left:16px}.md-tooltip.md-origin-top{-webkit-transform-origin:center bottom;transform-origin:center bottom;margin-top:-24px}.md-tooltip.md-origin-right{-webkit-transform-origin:left center;transform-origin:left center;margin-left:24px}.md-tooltip.md-origin-bottom{-webkit-transform-origin:center top;transform-origin:center top;margin-top:24px}.md-tooltip.md-origin-left{-webkit-transform-origin:right center;transform-origin:right center;margin-left:-24px}@media (min-width:960px){.md-tooltip{font-size:10px;height:22px;line-height:22px;padding-right:8px;padding-left:8px}.md-tooltip.md-origin-top{margin-top:-14px}.md-tooltip.md-origin-right{margin-left:14px}.md-tooltip.md-origin-bottom{margin-top:14px}.md-tooltip.md-origin-left{margin-left:-14px}}.md-tooltip.md-show-add{-webkit-transform:scale(0);transform:scale(0)}.md-tooltip.md-show{-webkit-transition:all .4s cubic-bezier(.25,.8,.25,1);transition:all .4s cubic-bezier(.25,.8,.25,1);-webkit-transition-duration:.15s;transition-duration:.15s;-webkit-transform:scale(1);transform:scale(1);opacity:.9}.md-tooltip.md-hide{-webkit-transition:all .3s cubic-bezier(.55,0,.55,.2);transition:all .3s cubic-bezier(.55,0,.55,.2);-webkit-transition-duration:.15s;transition-duration:.15s;-webkit-transform:scale(0);transform:scale(0);opacity:0}.md-truncate{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.md-truncate.md-clip{text-overflow:clip}.md-truncate.flex{width:0}.md-virtual-repeat-container{box-sizing:border-box;display:block;margin:0;overflow:hidden;padding:0;position:relative}.md-virtual-repeat-container .md-virtual-repeat-scroller{bottom:0;box-sizing:border-box;left:0;margin:0;overflow-x:hidden;padding:0;position:absolute;right:0;top:0;-webkit-overflow-scrolling:touch}.md-virtual-repeat-container .md-virtual-repeat-sizer{box-sizing:border-box;height:1px;display:block;margin:0;padding:0;width:1px}.md-virtual-repeat-container .md-virtual-repeat-offsetter{box-sizing:border-box;left:0;margin:0;padding:0;position:absolute;right:0;top:0}.md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-scroller{overflow-x:auto;overflow-y:hidden}.md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-offsetter{bottom:16px;right:auto;white-space:nowrap}[dir=rtl] .md-virtual-repeat-container.md-orient-horizontal .md-virtual-repeat-offsetter{right:auto;left:auto}.md-whiteframe-1dp,.md-whiteframe-z1{box-shadow:0 1px 3px 0 rgba(0,0,0,.2),0 1px 1px 0 rgba(0,0,0,.14),0 2px 1px -1px rgba(0,0,0,.12)}.md-whiteframe-2dp{box-shadow:0 1px 5px 0 rgba(0,0,0,.2),0 2px 2px 0 rgba(0,0,0,.14),0 3px 1px -2px rgba(0,0,0,.12)}.md-whiteframe-3dp{box-shadow:0 1px 8px 0 rgba(0,0,0,.2),0 3px 4px 0 rgba(0,0,0,.14),0 3px 3px -2px rgba(0,0,0,.12)}.md-whiteframe-4dp,.md-whiteframe-z2{box-shadow:0 2px 4px -1px rgba(0,0,0,.2),0 4px 5px 0 rgba(0,0,0,.14),0 1px 10px 0 rgba(0,0,0,.12)}.md-whiteframe-5dp{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 5px 8px 0 rgba(0,0,0,.14),0 1px 14px 0 rgba(0,0,0,.12)}.md-whiteframe-6dp{box-shadow:0 3px 5px -1px rgba(0,0,0,.2),0 6px 10px 0 rgba(0,0,0,.14),0 1px 18px 0 rgba(0,0,0,.12)}.md-whiteframe-7dp,.md-whiteframe-z3{box-shadow:0 4px 5px -2px rgba(0,0,0,.2),0 7px 10px 1px rgba(0,0,0,.14),0 2px 16px 1px rgba(0,0,0,.12)}.md-whiteframe-8dp{box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12)}.md-whiteframe-9dp{box-shadow:0 5px 6px -3px rgba(0,0,0,.2),0 9px 12px 1px rgba(0,0,0,.14),0 3px 16px 2px rgba(0,0,0,.12)}.md-whiteframe-10dp,.md-whiteframe-z4{box-shadow:0 6px 6px -3px rgba(0,0,0,.2),0 10px 14px 1px rgba(0,0,0,.14),0 4px 18px 3px rgba(0,0,0,.12)}.md-whiteframe-11dp{box-shadow:0 6px 7px -4px rgba(0,0,0,.2),0 11px 15px 1px rgba(0,0,0,.14),0 4px 20px 3px rgba(0,0,0,.12)}.md-whiteframe-12dp{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 12px 17px 2px rgba(0,0,0,.14),0 5px 22px 4px rgba(0,0,0,.12)}.md-whiteframe-13dp,.md-whiteframe-z5{box-shadow:0 7px 8px -4px rgba(0,0,0,.2),0 13px 19px 2px rgba(0,0,0,.14),0 5px 24px 4px rgba(0,0,0,.12)}.md-whiteframe-14dp{box-shadow:0 7px 9px -4px rgba(0,0,0,.2),0 14px 21px 2px rgba(0,0,0,.14),0 5px 26px 4px rgba(0,0,0,.12)}.md-whiteframe-15dp{box-shadow:0 8px 9px -5px rgba(0,0,0,.2),0 15px 22px 2px rgba(0,0,0,.14),0 6px 28px 5px rgba(0,0,0,.12)}.md-whiteframe-16dp{box-shadow:0 8px 10px -5px rgba(0,0,0,.2),0 16px 24px 2px rgba(0,0,0,.14),0 6px 30px 5px rgba(0,0,0,.12)}.md-whiteframe-17dp{box-shadow:0 8px 11px -5px rgba(0,0,0,.2),0 17px 26px 2px rgba(0,0,0,.14),0 6px 32px 5px rgba(0,0,0,.12)}.md-whiteframe-18dp{box-shadow:0 9px 11px -5px rgba(0,0,0,.2),0 18px 28px 2px rgba(0,0,0,.14),0 7px 34px 6px rgba(0,0,0,.12)}.md-whiteframe-19dp{box-shadow:0 9px 12px -6px rgba(0,0,0,.2),0 19px 29px 2px rgba(0,0,0,.14),0 7px 36px 6px rgba(0,0,0,.12)}.md-whiteframe-20dp{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 20px 31px 3px rgba(0,0,0,.14),0 8px 38px 7px rgba(0,0,0,.12)}.md-whiteframe-21dp{box-shadow:0 10px 13px -6px rgba(0,0,0,.2),0 21px 33px 3px rgba(0,0,0,.14),0 8px 40px 7px rgba(0,0,0,.12)}.md-whiteframe-22dp{box-shadow:0 10px 14px -6px rgba(0,0,0,.2),0 22px 35px 3px rgba(0,0,0,.14),0 8px 42px 7px rgba(0,0,0,.12)}.md-whiteframe-23dp{box-shadow:0 11px 14px -7px rgba(0,0,0,.2),0 23px 36px 3px rgba(0,0,0,.14),0 9px 44px 8px rgba(0,0,0,.12)}.md-whiteframe-24dp{box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12)}@media screen and (-ms-high-contrast:active){md-whiteframe{border:1px solid #fff}}@media print{[md-whiteframe],md-whiteframe{background-color:#fff}}.ng-cloak,.x-ng-cloak,[data-ng-cloak],[ng-cloak],[ng\:cloak],[x-ng-cloak]{display:none!important}@-moz-document url-prefix(){.layout-fill{margin:0;width:100%;min-height:100%;height:100%}}.flex-order{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-0,.offset-0{margin-left:0}[dir=rtl] .flex-offset-0,[dir=rtl] .offset-0{margin-left:auto;margin-right:0}.flex-offset-5,.offset-5{margin-left:5%}[dir=rtl] .flex-offset-5,[dir=rtl] .offset-5{margin-left:auto;margin-right:5%}.flex-offset-10,.offset-10{margin-left:10%}[dir=rtl] .flex-offset-10,[dir=rtl] .offset-10{margin-left:auto;margin-right:10%}.flex-offset-15,.offset-15{margin-left:15%}[dir=rtl] .flex-offset-15,[dir=rtl] .offset-15{margin-left:auto;margin-right:15%}.flex-offset-20,.offset-20{margin-left:20%}[dir=rtl] .flex-offset-20,[dir=rtl] .offset-20{margin-left:auto;margin-right:20%}.flex-offset-25,.offset-25{margin-left:25%}[dir=rtl] .flex-offset-25,[dir=rtl] .offset-25{margin-left:auto;margin-right:25%}.flex-offset-30,.offset-30{margin-left:30%}[dir=rtl] .flex-offset-30,[dir=rtl] .offset-30{margin-left:auto;margin-right:30%}.flex-offset-35,.offset-35{margin-left:35%}[dir=rtl] .flex-offset-35,[dir=rtl] .offset-35{margin-left:auto;margin-right:35%}.flex-offset-40,.offset-40{margin-left:40%}[dir=rtl] .flex-offset-40,[dir=rtl] .offset-40{margin-left:auto;margin-right:40%}.flex-offset-45,.offset-45{margin-left:45%}[dir=rtl] .flex-offset-45,[dir=rtl] .offset-45{margin-left:auto;margin-right:45%}.flex-offset-50,.offset-50{margin-left:50%}[dir=rtl] .flex-offset-50,[dir=rtl] .offset-50{margin-left:auto;margin-right:50%}.flex-offset-55,.offset-55{margin-left:55%}[dir=rtl] .flex-offset-55,[dir=rtl] .offset-55{margin-left:auto;margin-right:55%}.flex-offset-60,.offset-60{margin-left:60%}[dir=rtl] .flex-offset-60,[dir=rtl] .offset-60{margin-left:auto;margin-right:60%}.flex-offset-65,.offset-65{margin-left:65%}[dir=rtl] .flex-offset-65,[dir=rtl] .offset-65{margin-left:auto;margin-right:65%}.flex-offset-70,.offset-70{margin-left:70%}[dir=rtl] .flex-offset-70,[dir=rtl] .offset-70{margin-left:auto;margin-right:70%}.flex-offset-75,.offset-75{margin-left:75%}[dir=rtl] .flex-offset-75,[dir=rtl] .offset-75{margin-left:auto;margin-right:75%}.flex-offset-80,.offset-80{margin-left:80%}[dir=rtl] .flex-offset-80,[dir=rtl] .offset-80{margin-left:auto;margin-right:80%}.flex-offset-85,.offset-85{margin-left:85%}[dir=rtl] .flex-offset-85,[dir=rtl] .offset-85{margin-left:auto;margin-right:85%}.flex-offset-90,.offset-90{margin-left:90%}[dir=rtl] .flex-offset-90,[dir=rtl] .offset-90{margin-left:auto;margin-right:90%}.flex-offset-95,.offset-95{margin-left:95%}[dir=rtl] .flex-offset-95,[dir=rtl] .offset-95{margin-left:auto;margin-right:95%}.flex-offset-33,.offset-33{margin-left:33.33333%}.flex-offset-66,.offset-66{margin-left:66.66667%}[dir=rtl] .flex-offset-66,[dir=rtl] .offset-66{margin-left:auto;margin-right:66.66667%}.layout-align,.layout-align-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align,.layout-align-start,.layout-align-start-center,.layout-align-start-end,.layout-align-start-start,.layout-align-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-center,.layout-align-center-center,.layout-align-center-end,.layout-align-center-start,.layout-align-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-end,.layout-align-end-center,.layout-align-end-end,.layout-align-end-start,.layout-align-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-space-around,.layout-align-space-around-center,.layout-align-space-around-end,.layout-align-space-around-start,.layout-align-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-space-between,.layout-align-space-between-center,.layout-align-space-between-end,.layout-align-space-between-start,.layout-align-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-center-start,.layout-align-end-start,.layout-align-space-around-start,.layout-align-space-between-start,.layout-align-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-center-center,.layout-align-end-center,.layout-align-space-around-center,.layout-align-space-between-center,.layout-align-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-center-center>*,.layout-align-end-center>*,.layout-align-space-around-center>*,.layout-align-space-between-center>*,.layout-align-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-center-end,.layout-align-end-end,.layout-align-space-around-end,.layout-align-space-between-end,.layout-align-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-center-stretch,.layout-align-end-stretch,.layout-align-space-around-stretch,.layout-align-space-between-stretch,.layout-align-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex{-webkit-flex:1;flex:1}.flex,.flex-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-0,.layout-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-0{min-width:0}.layout-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-5,.layout-row>.flex-5{max-width:5%;max-height:100%}.flex-5,.layout-column>.flex-5,.layout-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-5{max-width:100%;max-height:5%}.flex-10,.layout-row>.flex-10{max-width:10%;max-height:100%}.flex-10,.layout-column>.flex-10,.layout-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-10{max-width:100%;max-height:10%}.flex-15,.layout-row>.flex-15{max-width:15%;max-height:100%}.flex-15,.layout-column>.flex-15,.layout-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-15{max-width:100%;max-height:15%}.flex-20,.layout-row>.flex-20{max-width:20%;max-height:100%}.flex-20,.layout-column>.flex-20,.layout-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-20{max-width:100%;max-height:20%}.flex-25,.layout-row>.flex-25{max-width:25%;max-height:100%}.flex-25,.layout-column>.flex-25,.layout-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-25{max-width:100%;max-height:25%}.flex-30,.layout-row>.flex-30{max-width:30%;max-height:100%}.flex-30,.layout-column>.flex-30,.layout-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-30{max-width:100%;max-height:30%}.flex-35,.layout-row>.flex-35{max-width:35%;max-height:100%}.flex-35,.layout-column>.flex-35,.layout-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-35{max-width:100%;max-height:35%}.flex-40,.layout-row>.flex-40{max-width:40%;max-height:100%}.flex-40,.layout-column>.flex-40,.layout-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-40{max-width:100%;max-height:40%}.flex-45,.layout-row>.flex-45{max-width:45%;max-height:100%}.flex-45,.layout-column>.flex-45,.layout-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-45{max-width:100%;max-height:45%}.flex-50,.layout-row>.flex-50{max-width:50%;max-height:100%}.flex-50,.layout-column>.flex-50,.layout-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-50{max-width:100%;max-height:50%}.flex-55,.layout-row>.flex-55{max-width:55%;max-height:100%}.flex-55,.layout-column>.flex-55,.layout-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-55{max-width:100%;max-height:55%}.flex-60,.layout-row>.flex-60{max-width:60%;max-height:100%}.flex-60,.layout-column>.flex-60,.layout-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-60{max-width:100%;max-height:60%}.flex-65,.layout-row>.flex-65{max-width:65%;max-height:100%}.flex-65,.layout-column>.flex-65,.layout-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-65{max-width:100%;max-height:65%}.flex-70,.layout-row>.flex-70{max-width:70%;max-height:100%}.flex-70,.layout-column>.flex-70,.layout-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-70{max-width:100%;max-height:70%}.flex-75,.layout-row>.flex-75{max-width:75%;max-height:100%}.flex-75,.layout-column>.flex-75,.layout-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-75{max-width:100%;max-height:75%}.flex-80,.layout-row>.flex-80{max-width:80%;max-height:100%}.flex-80,.layout-column>.flex-80,.layout-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-80{max-width:100%;max-height:80%}.flex-85,.layout-row>.flex-85{max-width:85%;max-height:100%}.flex-85,.layout-column>.flex-85,.layout-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-85{max-width:100%;max-height:85%}.flex-90,.layout-row>.flex-90{max-width:90%;max-height:100%}.flex-90,.layout-column>.flex-90,.layout-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-90{max-width:100%;max-height:90%}.flex-95,.layout-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-column>.flex-95{max-height:95%}.flex-100,.layout-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-100{max-height:100%}.layout-column>.flex-100,.layout-row>.flex-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%}.layout-row>.flex-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%}.layout-column>.flex-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%}.layout-column>.flex-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%}.layout-row>.flex-33{max-width:33.33%}.layout-row>.flex-33,.layout-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-66{max-width:66.66%}.layout-row>.flex{min-width:0}.layout-column>.flex-33{max-height:33.33%}.layout-column>.flex-33,.layout-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-column>.flex-66{max-height:66.66%}.layout-column>.flex{min-height:0}.layout,.layout-column,.layout-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-column{-webkit-box-orient:vertical;-webkit-flex-direction:column;flex-direction:column}.layout-column,.layout-row{-webkit-box-direction:normal}.layout-row{-webkit-box-orient:horizontal;-webkit-flex-direction:row;flex-direction:row}.layout-padding-sm>*,.layout-padding>.flex-sm{padding:4px}.layout-padding,.layout-padding-gt-sm,.layout-padding-gt-sm>*,.layout-padding-md,.layout-padding-md>*,.layout-padding>*,.layout-padding>.flex,.layout-padding>.flex-gt-sm,.layout-padding>.flex-md{padding:8px}.layout-padding-gt-lg>*,.layout-padding-gt-md>*,.layout-padding-lg>*,.layout-padding>.flex-gt-lg,.layout-padding>.flex-gt-md,.layout-padding>.flex-lg{padding:16px}.layout-margin-sm>*,.layout-margin>.flex-sm{margin:4px}.layout-margin,.layout-margin-gt-sm,.layout-margin-gt-sm>*,.layout-margin-md,.layout-margin-md>*,.layout-margin>*,.layout-margin>.flex,.layout-margin>.flex-gt-sm,.layout-margin>.flex-md{margin:8px}.layout-margin-gt-lg>*,.layout-margin-gt-md>*,.layout-margin-lg>*,.layout-margin>.flex-gt-lg,.layout-margin>.flex-gt-md,.layout-margin>.flex-lg{margin:16px}.layout-wrap{-webkit-flex-wrap:wrap;flex-wrap:wrap}.layout-nowrap{-webkit-flex-wrap:nowrap;flex-wrap:nowrap}.layout-fill{margin:0;width:100%;min-height:100%;height:100%}@media (max-width:599px){.hide-xs:not(.show-xs):not(.show),.hide:not(.show-xs):not(.show){display:none}.flex-order-xs--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-xs--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-xs--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-xs--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-xs--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-xs--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-xs--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-xs--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-xs--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-xs--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-xs--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-xs--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-xs--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-xs--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-xs--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-xs--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-xs--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-xs--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-xs--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-xs--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-xs-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-xs-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-xs-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-xs-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-xs-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-xs-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-xs-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-xs-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-xs-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-xs-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-xs-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-xs-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-xs-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-xs-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-xs-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-xs-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-xs-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-xs-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-xs-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-xs-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-xs-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-xs-0,.offset-xs-0{margin-left:0}[dir=rtl] .flex-offset-xs-0,[dir=rtl] .offset-xs-0{margin-left:auto;margin-right:0}.flex-offset-xs-5,.offset-xs-5{margin-left:5%}[dir=rtl] .flex-offset-xs-5,[dir=rtl] .offset-xs-5{margin-left:auto;margin-right:5%}.flex-offset-xs-10,.offset-xs-10{margin-left:10%}[dir=rtl] .flex-offset-xs-10,[dir=rtl] .offset-xs-10{margin-left:auto;margin-right:10%}.flex-offset-xs-15,.offset-xs-15{margin-left:15%}[dir=rtl] .flex-offset-xs-15,[dir=rtl] .offset-xs-15{margin-left:auto;margin-right:15%}.flex-offset-xs-20,.offset-xs-20{margin-left:20%}[dir=rtl] .flex-offset-xs-20,[dir=rtl] .offset-xs-20{margin-left:auto;margin-right:20%}.flex-offset-xs-25,.offset-xs-25{margin-left:25%}[dir=rtl] .flex-offset-xs-25,[dir=rtl] .offset-xs-25{margin-left:auto;margin-right:25%}.flex-offset-xs-30,.offset-xs-30{margin-left:30%}[dir=rtl] .flex-offset-xs-30,[dir=rtl] .offset-xs-30{margin-left:auto;margin-right:30%}.flex-offset-xs-35,.offset-xs-35{margin-left:35%}[dir=rtl] .flex-offset-xs-35,[dir=rtl] .offset-xs-35{margin-left:auto;margin-right:35%}.flex-offset-xs-40,.offset-xs-40{margin-left:40%}[dir=rtl] .flex-offset-xs-40,[dir=rtl] .offset-xs-40{margin-left:auto;margin-right:40%}.flex-offset-xs-45,.offset-xs-45{margin-left:45%}[dir=rtl] .flex-offset-xs-45,[dir=rtl] .offset-xs-45{margin-left:auto;margin-right:45%}.flex-offset-xs-50,.offset-xs-50{margin-left:50%}[dir=rtl] .flex-offset-xs-50,[dir=rtl] .offset-xs-50{margin-left:auto;margin-right:50%}.flex-offset-xs-55,.offset-xs-55{margin-left:55%}[dir=rtl] .flex-offset-xs-55,[dir=rtl] .offset-xs-55{margin-left:auto;margin-right:55%}.flex-offset-xs-60,.offset-xs-60{margin-left:60%}[dir=rtl] .flex-offset-xs-60,[dir=rtl] .offset-xs-60{margin-left:auto;margin-right:60%}.flex-offset-xs-65,.offset-xs-65{margin-left:65%}[dir=rtl] .flex-offset-xs-65,[dir=rtl] .offset-xs-65{margin-left:auto;margin-right:65%}.flex-offset-xs-70,.offset-xs-70{margin-left:70%}[dir=rtl] .flex-offset-xs-70,[dir=rtl] .offset-xs-70{margin-left:auto;margin-right:70%}.flex-offset-xs-75,.offset-xs-75{margin-left:75%}[dir=rtl] .flex-offset-xs-75,[dir=rtl] .offset-xs-75{margin-left:auto;margin-right:75%}.flex-offset-xs-80,.offset-xs-80{margin-left:80%}[dir=rtl] .flex-offset-xs-80,[dir=rtl] .offset-xs-80{margin-left:auto;margin-right:80%}.flex-offset-xs-85,.offset-xs-85{margin-left:85%}[dir=rtl] .flex-offset-xs-85,[dir=rtl] .offset-xs-85{margin-left:auto;margin-right:85%}.flex-offset-xs-90,.offset-xs-90{margin-left:90%}[dir=rtl] .flex-offset-xs-90,[dir=rtl] .offset-xs-90{margin-left:auto;margin-right:90%}.flex-offset-xs-95,.offset-xs-95{margin-left:95%}[dir=rtl] .flex-offset-xs-95,[dir=rtl] .offset-xs-95{margin-left:auto;margin-right:95%}.flex-offset-xs-33,.offset-xs-33{margin-left:33.33333%}.flex-offset-xs-66,.offset-xs-66{margin-left:66.66667%}[dir=rtl] .flex-offset-xs-66,[dir=rtl] .offset-xs-66{margin-left:auto;margin-right:66.66667%}.layout-align-xs,.layout-align-xs-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align-xs,.layout-align-xs-start,.layout-align-xs-start-center,.layout-align-xs-start-end,.layout-align-xs-start-start,.layout-align-xs-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-xs-center,.layout-align-xs-center-center,.layout-align-xs-center-end,.layout-align-xs-center-start,.layout-align-xs-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-xs-end,.layout-align-xs-end-center,.layout-align-xs-end-end,.layout-align-xs-end-start,.layout-align-xs-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-xs-space-around,.layout-align-xs-space-around-center,.layout-align-xs-space-around-end,.layout-align-xs-space-around-start,.layout-align-xs-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-xs-space-between,.layout-align-xs-space-between-center,.layout-align-xs-space-between-end,.layout-align-xs-space-between-start,.layout-align-xs-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-xs-center-start,.layout-align-xs-end-start,.layout-align-xs-space-around-start,.layout-align-xs-space-between-start,.layout-align-xs-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-xs-center-center,.layout-align-xs-end-center,.layout-align-xs-space-around-center,.layout-align-xs-space-between-center,.layout-align-xs-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-xs-center-center>*,.layout-align-xs-end-center>*,.layout-align-xs-space-around-center>*,.layout-align-xs-space-between-center>*,.layout-align-xs-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-xs-center-end,.layout-align-xs-end-end,.layout-align-xs-space-around-end,.layout-align-xs-space-between-end,.layout-align-xs-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-xs-center-stretch,.layout-align-xs-end-stretch,.layout-align-xs-space-around-stretch,.layout-align-xs-space-between-stretch,.layout-align-xs-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-xs{-webkit-flex:1;flex:1}.flex-xs,.flex-xs-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-xs-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-xs-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-xs-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-xs-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-xs-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-xs-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-xs-0,.layout-row>.flex-xs-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-xs-0{min-width:0}.layout-column>.flex-xs-0{max-width:100%;max-height:0%}.layout-column>.flex-xs-0,.layout-xs-row>.flex-xs-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-row>.flex-xs-0{max-width:0;max-height:100%;min-width:0}.layout-xs-column>.flex-xs-0{max-width:100%;max-height:0%;min-height:0}.layout-xs-column>.flex-xs-0,.layout-xs-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-row>.flex-0{max-width:0;max-height:100%;min-width:0}.layout-xs-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-xs-5,.layout-row>.flex-xs-5{max-width:5%;max-height:100%}.flex-xs-5,.layout-column>.flex-xs-5,.layout-row>.flex-xs-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-5{max-width:100%;max-height:5%}.layout-xs-row>.flex-xs-5{max-width:5%;max-height:100%}.layout-xs-column>.flex-xs-5,.layout-xs-row>.flex-xs-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-5{max-width:100%;max-height:5%}.layout-xs-row>.flex-5{max-width:5%;max-height:100%}.layout-xs-column>.flex-5,.layout-xs-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-5{max-width:100%;max-height:5%}.flex-xs-10,.layout-row>.flex-xs-10{max-width:10%;max-height:100%}.flex-xs-10,.layout-column>.flex-xs-10,.layout-row>.flex-xs-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-10{max-width:100%;max-height:10%}.layout-xs-row>.flex-xs-10{max-width:10%;max-height:100%}.layout-xs-column>.flex-xs-10,.layout-xs-row>.flex-xs-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-10{max-width:100%;max-height:10%}.layout-xs-row>.flex-10{max-width:10%;max-height:100%}.layout-xs-column>.flex-10,.layout-xs-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-10{max-width:100%;max-height:10%}.flex-xs-15,.layout-row>.flex-xs-15{max-width:15%;max-height:100%}.flex-xs-15,.layout-column>.flex-xs-15,.layout-row>.flex-xs-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-15{max-width:100%;max-height:15%}.layout-xs-row>.flex-xs-15{max-width:15%;max-height:100%}.layout-xs-column>.flex-xs-15,.layout-xs-row>.flex-xs-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-15{max-width:100%;max-height:15%}.layout-xs-row>.flex-15{max-width:15%;max-height:100%}.layout-xs-column>.flex-15,.layout-xs-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-15{max-width:100%;max-height:15%}.flex-xs-20,.layout-row>.flex-xs-20{max-width:20%;max-height:100%}.flex-xs-20,.layout-column>.flex-xs-20,.layout-row>.flex-xs-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-20{max-width:100%;max-height:20%}.layout-xs-row>.flex-xs-20{max-width:20%;max-height:100%}.layout-xs-column>.flex-xs-20,.layout-xs-row>.flex-xs-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-20{max-width:100%;max-height:20%}.layout-xs-row>.flex-20{max-width:20%;max-height:100%}.layout-xs-column>.flex-20,.layout-xs-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-20{max-width:100%;max-height:20%}.flex-xs-25,.layout-row>.flex-xs-25{max-width:25%;max-height:100%}.flex-xs-25,.layout-column>.flex-xs-25,.layout-row>.flex-xs-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-25{max-width:100%;max-height:25%}.layout-xs-row>.flex-xs-25{max-width:25%;max-height:100%}.layout-xs-column>.flex-xs-25,.layout-xs-row>.flex-xs-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-25{max-width:100%;max-height:25%}.layout-xs-row>.flex-25{max-width:25%;max-height:100%}.layout-xs-column>.flex-25,.layout-xs-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-25{max-width:100%;max-height:25%}.flex-xs-30,.layout-row>.flex-xs-30{max-width:30%;max-height:100%}.flex-xs-30,.layout-column>.flex-xs-30,.layout-row>.flex-xs-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-30{max-width:100%;max-height:30%}.layout-xs-row>.flex-xs-30{max-width:30%;max-height:100%}.layout-xs-column>.flex-xs-30,.layout-xs-row>.flex-xs-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-30{max-width:100%;max-height:30%}.layout-xs-row>.flex-30{max-width:30%;max-height:100%}.layout-xs-column>.flex-30,.layout-xs-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-30{max-width:100%;max-height:30%}.flex-xs-35,.layout-row>.flex-xs-35{max-width:35%;max-height:100%}.flex-xs-35,.layout-column>.flex-xs-35,.layout-row>.flex-xs-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-35{max-width:100%;max-height:35%}.layout-xs-row>.flex-xs-35{max-width:35%;max-height:100%}.layout-xs-column>.flex-xs-35,.layout-xs-row>.flex-xs-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-35{max-width:100%;max-height:35%}.layout-xs-row>.flex-35{max-width:35%;max-height:100%}.layout-xs-column>.flex-35,.layout-xs-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-35{max-width:100%;max-height:35%}.flex-xs-40,.layout-row>.flex-xs-40{max-width:40%;max-height:100%}.flex-xs-40,.layout-column>.flex-xs-40,.layout-row>.flex-xs-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-40{max-width:100%;max-height:40%}.layout-xs-row>.flex-xs-40{max-width:40%;max-height:100%}.layout-xs-column>.flex-xs-40,.layout-xs-row>.flex-xs-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-40{max-width:100%;max-height:40%}.layout-xs-row>.flex-40{max-width:40%;max-height:100%}.layout-xs-column>.flex-40,.layout-xs-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-40{max-width:100%;max-height:40%}.flex-xs-45,.layout-row>.flex-xs-45{max-width:45%;max-height:100%}.flex-xs-45,.layout-column>.flex-xs-45,.layout-row>.flex-xs-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-45{max-width:100%;max-height:45%}.layout-xs-row>.flex-xs-45{max-width:45%;max-height:100%}.layout-xs-column>.flex-xs-45,.layout-xs-row>.flex-xs-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-45{max-width:100%;max-height:45%}.layout-xs-row>.flex-45{max-width:45%;max-height:100%}.layout-xs-column>.flex-45,.layout-xs-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-45{max-width:100%;max-height:45%}.flex-xs-50,.layout-row>.flex-xs-50{max-width:50%;max-height:100%}.flex-xs-50,.layout-column>.flex-xs-50,.layout-row>.flex-xs-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-50{max-width:100%;max-height:50%}.layout-xs-row>.flex-xs-50{max-width:50%;max-height:100%}.layout-xs-column>.flex-xs-50,.layout-xs-row>.flex-xs-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-50{max-width:100%;max-height:50%}.layout-xs-row>.flex-50{max-width:50%;max-height:100%}.layout-xs-column>.flex-50,.layout-xs-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-50{max-width:100%;max-height:50%}.flex-xs-55,.layout-row>.flex-xs-55{max-width:55%;max-height:100%}.flex-xs-55,.layout-column>.flex-xs-55,.layout-row>.flex-xs-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-55{max-width:100%;max-height:55%}.layout-xs-row>.flex-xs-55{max-width:55%;max-height:100%}.layout-xs-column>.flex-xs-55,.layout-xs-row>.flex-xs-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-55{max-width:100%;max-height:55%}.layout-xs-row>.flex-55{max-width:55%;max-height:100%}.layout-xs-column>.flex-55,.layout-xs-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-55{max-width:100%;max-height:55%}.flex-xs-60,.layout-row>.flex-xs-60{max-width:60%;max-height:100%}.flex-xs-60,.layout-column>.flex-xs-60,.layout-row>.flex-xs-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-60{max-width:100%;max-height:60%}.layout-xs-row>.flex-xs-60{max-width:60%;max-height:100%}.layout-xs-column>.flex-xs-60,.layout-xs-row>.flex-xs-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-60{max-width:100%;max-height:60%}.layout-xs-row>.flex-60{max-width:60%;max-height:100%}.layout-xs-column>.flex-60,.layout-xs-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-60{max-width:100%;max-height:60%}.flex-xs-65,.layout-row>.flex-xs-65{max-width:65%;max-height:100%}.flex-xs-65,.layout-column>.flex-xs-65,.layout-row>.flex-xs-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-65{max-width:100%;max-height:65%}.layout-xs-row>.flex-xs-65{max-width:65%;max-height:100%}.layout-xs-column>.flex-xs-65,.layout-xs-row>.flex-xs-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-65{max-width:100%;max-height:65%}.layout-xs-row>.flex-65{max-width:65%;max-height:100%}.layout-xs-column>.flex-65,.layout-xs-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-65{max-width:100%;max-height:65%}.flex-xs-70,.layout-row>.flex-xs-70{max-width:70%;max-height:100%}.flex-xs-70,.layout-column>.flex-xs-70,.layout-row>.flex-xs-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-70{max-width:100%;max-height:70%}.layout-xs-row>.flex-xs-70{max-width:70%;max-height:100%}.layout-xs-column>.flex-xs-70,.layout-xs-row>.flex-xs-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-70{max-width:100%;max-height:70%}.layout-xs-row>.flex-70{max-width:70%;max-height:100%}.layout-xs-column>.flex-70,.layout-xs-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-70{max-width:100%;max-height:70%}.flex-xs-75,.layout-row>.flex-xs-75{max-width:75%;max-height:100%}.flex-xs-75,.layout-column>.flex-xs-75,.layout-row>.flex-xs-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-75{max-width:100%;max-height:75%}.layout-xs-row>.flex-xs-75{max-width:75%;max-height:100%}.layout-xs-column>.flex-xs-75,.layout-xs-row>.flex-xs-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-75{max-width:100%;max-height:75%}.layout-xs-row>.flex-75{max-width:75%;max-height:100%}.layout-xs-column>.flex-75,.layout-xs-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-75{max-width:100%;max-height:75%}.flex-xs-80,.layout-row>.flex-xs-80{max-width:80%;max-height:100%}.flex-xs-80,.layout-column>.flex-xs-80,.layout-row>.flex-xs-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-80{max-width:100%;max-height:80%}.layout-xs-row>.flex-xs-80{max-width:80%;max-height:100%}.layout-xs-column>.flex-xs-80,.layout-xs-row>.flex-xs-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-80{max-width:100%;max-height:80%}.layout-xs-row>.flex-80{max-width:80%;max-height:100%}.layout-xs-column>.flex-80,.layout-xs-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-80{max-width:100%;max-height:80%}.flex-xs-85,.layout-row>.flex-xs-85{max-width:85%;max-height:100%}.flex-xs-85,.layout-column>.flex-xs-85,.layout-row>.flex-xs-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-85{max-width:100%;max-height:85%}.layout-xs-row>.flex-xs-85{max-width:85%;max-height:100%}.layout-xs-column>.flex-xs-85,.layout-xs-row>.flex-xs-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-85{max-width:100%;max-height:85%}.layout-xs-row>.flex-85{max-width:85%;max-height:100%}.layout-xs-column>.flex-85,.layout-xs-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-85{max-width:100%;max-height:85%}.flex-xs-90,.layout-row>.flex-xs-90{max-width:90%;max-height:100%}.flex-xs-90,.layout-column>.flex-xs-90,.layout-row>.flex-xs-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-90{max-width:100%;max-height:90%}.layout-xs-row>.flex-xs-90{max-width:90%;max-height:100%}.layout-xs-column>.flex-xs-90,.layout-xs-row>.flex-xs-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-90{max-width:100%;max-height:90%}.layout-xs-row>.flex-90{max-width:90%;max-height:100%}.layout-xs-column>.flex-90,.layout-xs-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-90{max-width:100%;max-height:90%}.flex-xs-95,.layout-row>.flex-xs-95{max-width:95%;max-height:100%}.flex-xs-95,.layout-column>.flex-xs-95,.layout-row>.flex-xs-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xs-95{max-width:100%;max-height:95%}.layout-xs-row>.flex-xs-95{max-width:95%;max-height:100%}.layout-xs-column>.flex-xs-95,.layout-xs-row>.flex-xs-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xs-column>.flex-xs-95{max-width:100%;max-height:95%}.layout-xs-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-xs-column>.flex-95{max-height:95%}.flex-xs-100,.layout-xs-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-xs-100{max-height:100%}.layout-column>.flex-xs-100,.layout-row>.flex-xs-100,.layout-xs-column>.flex-100,.layout-xs-column>.flex-xs-100,.layout-xs-row>.flex-100,.layout-xs-row>.flex-xs-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-xs-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-xs-33,.layout-row>.flex-xs-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-xs-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-xs-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-height:33.33%}.layout-column>.flex-xs-33,.layout-column>.flex-xs-66{-webkit-box-flex:1;max-width:100%;box-sizing:border-box}.layout-column>.flex-xs-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-height:66.66%}.layout-xs-row>.flex-xs-33{max-width:33.33%}.layout-xs-row>.flex-xs-33,.layout-xs-row>.flex-xs-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-xs-row>.flex-xs-66{max-width:66.66%}.layout-xs-column>.flex-xs-33{max-height:33.33%}.layout-xs-column>.flex-xs-33,.layout-xs-column>.flex-xs-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-xs-column>.flex-xs-66{max-height:66.66%}.layout-xs-row>.flex-33{max-width:33.33%}.layout-xs-row>.flex-33,.layout-xs-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-xs-row>.flex-66{max-width:66.66%}.layout-xs-row>.flex{min-width:0}.layout-xs-column>.flex-33{max-height:33.33%}.layout-xs-column>.flex-33,.layout-xs-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-xs-column>.flex-66{max-height:66.66%}.layout-xs-column>.flex{min-height:0}.layout-xs,.layout-xs-column,.layout-xs-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-xs-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-xs-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:600px){.flex-order-gt-xs--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-gt-xs--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-gt-xs--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-gt-xs--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-gt-xs--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-gt-xs--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-gt-xs--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-gt-xs--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-gt-xs--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-gt-xs--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-gt-xs--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-gt-xs--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-gt-xs--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-gt-xs--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-gt-xs--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-gt-xs--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-gt-xs--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-gt-xs--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-gt-xs--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-gt-xs--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-gt-xs-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-gt-xs-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-gt-xs-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-gt-xs-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-gt-xs-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-gt-xs-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-gt-xs-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-gt-xs-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-gt-xs-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-gt-xs-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-gt-xs-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-gt-xs-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-gt-xs-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-gt-xs-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-gt-xs-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-gt-xs-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-gt-xs-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-gt-xs-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-gt-xs-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-gt-xs-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-gt-xs-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-gt-xs-0,.offset-gt-xs-0{margin-left:0}[dir=rtl] .flex-offset-gt-xs-0,[dir=rtl] .offset-gt-xs-0{margin-left:auto;margin-right:0}.flex-offset-gt-xs-5,.offset-gt-xs-5{margin-left:5%}[dir=rtl] .flex-offset-gt-xs-5,[dir=rtl] .offset-gt-xs-5{margin-left:auto;margin-right:5%}.flex-offset-gt-xs-10,.offset-gt-xs-10{margin-left:10%}[dir=rtl] .flex-offset-gt-xs-10,[dir=rtl] .offset-gt-xs-10{margin-left:auto;margin-right:10%}.flex-offset-gt-xs-15,.offset-gt-xs-15{margin-left:15%}[dir=rtl] .flex-offset-gt-xs-15,[dir=rtl] .offset-gt-xs-15{margin-left:auto;margin-right:15%}.flex-offset-gt-xs-20,.offset-gt-xs-20{margin-left:20%}[dir=rtl] .flex-offset-gt-xs-20,[dir=rtl] .offset-gt-xs-20{margin-left:auto;margin-right:20%}.flex-offset-gt-xs-25,.offset-gt-xs-25{margin-left:25%}[dir=rtl] .flex-offset-gt-xs-25,[dir=rtl] .offset-gt-xs-25{margin-left:auto;margin-right:25%}.flex-offset-gt-xs-30,.offset-gt-xs-30{margin-left:30%}[dir=rtl] .flex-offset-gt-xs-30,[dir=rtl] .offset-gt-xs-30{margin-left:auto;margin-right:30%}.flex-offset-gt-xs-35,.offset-gt-xs-35{margin-left:35%}[dir=rtl] .flex-offset-gt-xs-35,[dir=rtl] .offset-gt-xs-35{margin-left:auto;margin-right:35%}.flex-offset-gt-xs-40,.offset-gt-xs-40{margin-left:40%}[dir=rtl] .flex-offset-gt-xs-40,[dir=rtl] .offset-gt-xs-40{margin-left:auto;margin-right:40%}.flex-offset-gt-xs-45,.offset-gt-xs-45{margin-left:45%}[dir=rtl] .flex-offset-gt-xs-45,[dir=rtl] .offset-gt-xs-45{margin-left:auto;margin-right:45%}.flex-offset-gt-xs-50,.offset-gt-xs-50{margin-left:50%}[dir=rtl] .flex-offset-gt-xs-50,[dir=rtl] .offset-gt-xs-50{margin-left:auto;margin-right:50%}.flex-offset-gt-xs-55,.offset-gt-xs-55{margin-left:55%}[dir=rtl] .flex-offset-gt-xs-55,[dir=rtl] .offset-gt-xs-55{margin-left:auto;margin-right:55%}.flex-offset-gt-xs-60,.offset-gt-xs-60{margin-left:60%}[dir=rtl] .flex-offset-gt-xs-60,[dir=rtl] .offset-gt-xs-60{margin-left:auto;margin-right:60%}.flex-offset-gt-xs-65,.offset-gt-xs-65{margin-left:65%}[dir=rtl] .flex-offset-gt-xs-65,[dir=rtl] .offset-gt-xs-65{margin-left:auto;margin-right:65%}.flex-offset-gt-xs-70,.offset-gt-xs-70{margin-left:70%}[dir=rtl] .flex-offset-gt-xs-70,[dir=rtl] .offset-gt-xs-70{margin-left:auto;margin-right:70%}.flex-offset-gt-xs-75,.offset-gt-xs-75{margin-left:75%}[dir=rtl] .flex-offset-gt-xs-75,[dir=rtl] .offset-gt-xs-75{margin-left:auto;margin-right:75%}.flex-offset-gt-xs-80,.offset-gt-xs-80{margin-left:80%}[dir=rtl] .flex-offset-gt-xs-80,[dir=rtl] .offset-gt-xs-80{margin-left:auto;margin-right:80%}.flex-offset-gt-xs-85,.offset-gt-xs-85{margin-left:85%}[dir=rtl] .flex-offset-gt-xs-85,[dir=rtl] .offset-gt-xs-85{margin-left:auto;margin-right:85%}.flex-offset-gt-xs-90,.offset-gt-xs-90{margin-left:90%}[dir=rtl] .flex-offset-gt-xs-90,[dir=rtl] .offset-gt-xs-90{margin-left:auto;margin-right:90%}.flex-offset-gt-xs-95,.offset-gt-xs-95{margin-left:95%}[dir=rtl] .flex-offset-gt-xs-95,[dir=rtl] .offset-gt-xs-95{margin-left:auto;margin-right:95%}.flex-offset-gt-xs-33,.offset-gt-xs-33{margin-left:33.33333%}.flex-offset-gt-xs-66,.offset-gt-xs-66{margin-left:66.66667%}[dir=rtl] .flex-offset-gt-xs-66,[dir=rtl] .offset-gt-xs-66{margin-left:auto;margin-right:66.66667%}.layout-align-gt-xs,.layout-align-gt-xs-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align-gt-xs,.layout-align-gt-xs-start,.layout-align-gt-xs-start-center,.layout-align-gt-xs-start-end,.layout-align-gt-xs-start-start,.layout-align-gt-xs-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-gt-xs-center,.layout-align-gt-xs-center-center,.layout-align-gt-xs-center-end,.layout-align-gt-xs-center-start,.layout-align-gt-xs-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-gt-xs-end,.layout-align-gt-xs-end-center,.layout-align-gt-xs-end-end,.layout-align-gt-xs-end-start,.layout-align-gt-xs-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-gt-xs-space-around,.layout-align-gt-xs-space-around-center,.layout-align-gt-xs-space-around-end,.layout-align-gt-xs-space-around-start,.layout-align-gt-xs-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-gt-xs-space-between,.layout-align-gt-xs-space-between-center,.layout-align-gt-xs-space-between-end,.layout-align-gt-xs-space-between-start,.layout-align-gt-xs-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-gt-xs-center-start,.layout-align-gt-xs-end-start,.layout-align-gt-xs-space-around-start,.layout-align-gt-xs-space-between-start,.layout-align-gt-xs-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-gt-xs-center-center,.layout-align-gt-xs-end-center,.layout-align-gt-xs-space-around-center,.layout-align-gt-xs-space-between-center,.layout-align-gt-xs-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-gt-xs-center-center>*,.layout-align-gt-xs-end-center>*,.layout-align-gt-xs-space-around-center>*,.layout-align-gt-xs-space-between-center>*,.layout-align-gt-xs-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-gt-xs-center-end,.layout-align-gt-xs-end-end,.layout-align-gt-xs-space-around-end,.layout-align-gt-xs-space-between-end,.layout-align-gt-xs-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-gt-xs-center-stretch,.layout-align-gt-xs-end-stretch,.layout-align-gt-xs-space-around-stretch,.layout-align-gt-xs-space-between-stretch,.layout-align-gt-xs-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-gt-xs{-webkit-flex:1;flex:1}.flex-gt-xs,.flex-gt-xs-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-gt-xs-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-gt-xs-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-xs-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-gt-xs-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-gt-xs-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-gt-xs-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-xs-0,.layout-row>.flex-gt-xs-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-xs-0{min-width:0}.layout-column>.flex-gt-xs-0{max-width:100%;max-height:0%}.layout-column>.flex-gt-xs-0,.layout-gt-xs-row>.flex-gt-xs-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-0{max-width:0;max-height:100%;min-width:0}.layout-gt-xs-column>.flex-gt-xs-0{max-width:100%;max-height:0%;min-height:0}.layout-gt-xs-column>.flex-gt-xs-0,.layout-gt-xs-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-row>.flex-0{max-width:0;max-height:100%;min-width:0}.layout-gt-xs-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-gt-xs-5,.layout-row>.flex-gt-xs-5{max-width:5%;max-height:100%}.flex-gt-xs-5,.layout-column>.flex-gt-xs-5,.layout-row>.flex-gt-xs-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-5{max-width:100%;max-height:5%}.layout-gt-xs-row>.flex-gt-xs-5{max-width:5%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-5,.layout-gt-xs-row>.flex-gt-xs-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-5{max-width:100%;max-height:5%}.layout-gt-xs-row>.flex-5{max-width:5%;max-height:100%}.layout-gt-xs-column>.flex-5,.layout-gt-xs-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-5{max-width:100%;max-height:5%}.flex-gt-xs-10,.layout-row>.flex-gt-xs-10{max-width:10%;max-height:100%}.flex-gt-xs-10,.layout-column>.flex-gt-xs-10,.layout-row>.flex-gt-xs-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-10{max-width:100%;max-height:10%}.layout-gt-xs-row>.flex-gt-xs-10{max-width:10%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-10,.layout-gt-xs-row>.flex-gt-xs-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-10{max-width:100%;max-height:10%}.layout-gt-xs-row>.flex-10{max-width:10%;max-height:100%}.layout-gt-xs-column>.flex-10,.layout-gt-xs-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-10{max-width:100%;max-height:10%}.flex-gt-xs-15,.layout-row>.flex-gt-xs-15{max-width:15%;max-height:100%}.flex-gt-xs-15,.layout-column>.flex-gt-xs-15,.layout-row>.flex-gt-xs-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-15{max-width:100%;max-height:15%}.layout-gt-xs-row>.flex-gt-xs-15{max-width:15%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-15,.layout-gt-xs-row>.flex-gt-xs-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-15{max-width:100%;max-height:15%}.layout-gt-xs-row>.flex-15{max-width:15%;max-height:100%}.layout-gt-xs-column>.flex-15,.layout-gt-xs-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-15{max-width:100%;max-height:15%}.flex-gt-xs-20,.layout-row>.flex-gt-xs-20{max-width:20%;max-height:100%}.flex-gt-xs-20,.layout-column>.flex-gt-xs-20,.layout-row>.flex-gt-xs-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-20{max-width:100%;max-height:20%}.layout-gt-xs-row>.flex-gt-xs-20{max-width:20%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-20,.layout-gt-xs-row>.flex-gt-xs-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-20{max-width:100%;max-height:20%}.layout-gt-xs-row>.flex-20{max-width:20%;max-height:100%}.layout-gt-xs-column>.flex-20,.layout-gt-xs-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-20{max-width:100%;max-height:20%}.flex-gt-xs-25,.layout-row>.flex-gt-xs-25{max-width:25%;max-height:100%}.flex-gt-xs-25,.layout-column>.flex-gt-xs-25,.layout-row>.flex-gt-xs-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-25{max-width:100%;max-height:25%}.layout-gt-xs-row>.flex-gt-xs-25{max-width:25%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-25,.layout-gt-xs-row>.flex-gt-xs-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-25{max-width:100%;max-height:25%}.layout-gt-xs-row>.flex-25{max-width:25%;max-height:100%}.layout-gt-xs-column>.flex-25,.layout-gt-xs-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-25{max-width:100%;max-height:25%}.flex-gt-xs-30,.layout-row>.flex-gt-xs-30{max-width:30%;max-height:100%}.flex-gt-xs-30,.layout-column>.flex-gt-xs-30,.layout-row>.flex-gt-xs-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-30{max-width:100%;max-height:30%}.layout-gt-xs-row>.flex-gt-xs-30{max-width:30%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-30,.layout-gt-xs-row>.flex-gt-xs-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-30{max-width:100%;max-height:30%}.layout-gt-xs-row>.flex-30{max-width:30%;max-height:100%}.layout-gt-xs-column>.flex-30,.layout-gt-xs-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-30{max-width:100%;max-height:30%}.flex-gt-xs-35,.layout-row>.flex-gt-xs-35{max-width:35%;max-height:100%}.flex-gt-xs-35,.layout-column>.flex-gt-xs-35,.layout-row>.flex-gt-xs-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-35{max-width:100%;max-height:35%}.layout-gt-xs-row>.flex-gt-xs-35{max-width:35%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-35,.layout-gt-xs-row>.flex-gt-xs-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-35{max-width:100%;max-height:35%}.layout-gt-xs-row>.flex-35{max-width:35%;max-height:100%}.layout-gt-xs-column>.flex-35,.layout-gt-xs-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-35{max-width:100%;max-height:35%}.flex-gt-xs-40,.layout-row>.flex-gt-xs-40{max-width:40%;max-height:100%}.flex-gt-xs-40,.layout-column>.flex-gt-xs-40,.layout-row>.flex-gt-xs-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-40{max-width:100%;max-height:40%}.layout-gt-xs-row>.flex-gt-xs-40{max-width:40%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-40,.layout-gt-xs-row>.flex-gt-xs-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-40{max-width:100%;max-height:40%}.layout-gt-xs-row>.flex-40{max-width:40%;max-height:100%}.layout-gt-xs-column>.flex-40,.layout-gt-xs-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-40{max-width:100%;max-height:40%}.flex-gt-xs-45,.layout-row>.flex-gt-xs-45{max-width:45%;max-height:100%}.flex-gt-xs-45,.layout-column>.flex-gt-xs-45,.layout-row>.flex-gt-xs-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-45{max-width:100%;max-height:45%}.layout-gt-xs-row>.flex-gt-xs-45{max-width:45%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-45,.layout-gt-xs-row>.flex-gt-xs-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-45{max-width:100%;max-height:45%}.layout-gt-xs-row>.flex-45{max-width:45%;max-height:100%}.layout-gt-xs-column>.flex-45,.layout-gt-xs-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-45{max-width:100%;max-height:45%}.flex-gt-xs-50,.layout-row>.flex-gt-xs-50{max-width:50%;max-height:100%}.flex-gt-xs-50,.layout-column>.flex-gt-xs-50,.layout-row>.flex-gt-xs-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-50{max-width:100%;max-height:50%}.layout-gt-xs-row>.flex-gt-xs-50{max-width:50%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-50,.layout-gt-xs-row>.flex-gt-xs-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-50{max-width:100%;max-height:50%}.layout-gt-xs-row>.flex-50{max-width:50%;max-height:100%}.layout-gt-xs-column>.flex-50,.layout-gt-xs-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-50{max-width:100%;max-height:50%}.flex-gt-xs-55,.layout-row>.flex-gt-xs-55{max-width:55%;max-height:100%}.flex-gt-xs-55,.layout-column>.flex-gt-xs-55,.layout-row>.flex-gt-xs-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-55{max-width:100%;max-height:55%}.layout-gt-xs-row>.flex-gt-xs-55{max-width:55%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-55,.layout-gt-xs-row>.flex-gt-xs-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-55{max-width:100%;max-height:55%}.layout-gt-xs-row>.flex-55{max-width:55%;max-height:100%}.layout-gt-xs-column>.flex-55,.layout-gt-xs-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-55{max-width:100%;max-height:55%}.flex-gt-xs-60,.layout-row>.flex-gt-xs-60{max-width:60%;max-height:100%}.flex-gt-xs-60,.layout-column>.flex-gt-xs-60,.layout-row>.flex-gt-xs-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-60{max-width:100%;max-height:60%}.layout-gt-xs-row>.flex-gt-xs-60{max-width:60%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-60,.layout-gt-xs-row>.flex-gt-xs-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-60{max-width:100%;max-height:60%}.layout-gt-xs-row>.flex-60{max-width:60%;max-height:100%}.layout-gt-xs-column>.flex-60,.layout-gt-xs-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-60{max-width:100%;max-height:60%}.flex-gt-xs-65,.layout-row>.flex-gt-xs-65{max-width:65%;max-height:100%}.flex-gt-xs-65,.layout-column>.flex-gt-xs-65,.layout-row>.flex-gt-xs-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-65{max-width:100%;max-height:65%}.layout-gt-xs-row>.flex-gt-xs-65{max-width:65%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-65,.layout-gt-xs-row>.flex-gt-xs-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-65{max-width:100%;max-height:65%}.layout-gt-xs-row>.flex-65{max-width:65%;max-height:100%}.layout-gt-xs-column>.flex-65,.layout-gt-xs-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-65{max-width:100%;max-height:65%}.flex-gt-xs-70,.layout-row>.flex-gt-xs-70{max-width:70%;max-height:100%}.flex-gt-xs-70,.layout-column>.flex-gt-xs-70,.layout-row>.flex-gt-xs-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-70{max-width:100%;max-height:70%}.layout-gt-xs-row>.flex-gt-xs-70{max-width:70%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-70,.layout-gt-xs-row>.flex-gt-xs-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-70{max-width:100%;max-height:70%}.layout-gt-xs-row>.flex-70{max-width:70%;max-height:100%}.layout-gt-xs-column>.flex-70,.layout-gt-xs-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-70{max-width:100%;max-height:70%}.flex-gt-xs-75,.layout-row>.flex-gt-xs-75{max-width:75%;max-height:100%}.flex-gt-xs-75,.layout-column>.flex-gt-xs-75,.layout-row>.flex-gt-xs-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-75{max-width:100%;max-height:75%}.layout-gt-xs-row>.flex-gt-xs-75{max-width:75%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-75,.layout-gt-xs-row>.flex-gt-xs-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-75{max-width:100%;max-height:75%}.layout-gt-xs-row>.flex-75{max-width:75%;max-height:100%}.layout-gt-xs-column>.flex-75,.layout-gt-xs-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-75{max-width:100%;max-height:75%}.flex-gt-xs-80,.layout-row>.flex-gt-xs-80{max-width:80%;max-height:100%}.flex-gt-xs-80,.layout-column>.flex-gt-xs-80,.layout-row>.flex-gt-xs-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-80{max-width:100%;max-height:80%}.layout-gt-xs-row>.flex-gt-xs-80{max-width:80%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-80,.layout-gt-xs-row>.flex-gt-xs-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-80{max-width:100%;max-height:80%}.layout-gt-xs-row>.flex-80{max-width:80%;max-height:100%}.layout-gt-xs-column>.flex-80,.layout-gt-xs-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-80{max-width:100%;max-height:80%}.flex-gt-xs-85,.layout-row>.flex-gt-xs-85{max-width:85%;max-height:100%}.flex-gt-xs-85,.layout-column>.flex-gt-xs-85,.layout-row>.flex-gt-xs-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-85{max-width:100%;max-height:85%}.layout-gt-xs-row>.flex-gt-xs-85{max-width:85%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-85,.layout-gt-xs-row>.flex-gt-xs-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-85{max-width:100%;max-height:85%}.layout-gt-xs-row>.flex-85{max-width:85%;max-height:100%}.layout-gt-xs-column>.flex-85,.layout-gt-xs-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-85{max-width:100%;max-height:85%}.flex-gt-xs-90,.layout-row>.flex-gt-xs-90{max-width:90%;max-height:100%}.flex-gt-xs-90,.layout-column>.flex-gt-xs-90,.layout-row>.flex-gt-xs-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-90{max-width:100%;max-height:90%}.layout-gt-xs-row>.flex-gt-xs-90{max-width:90%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-90,.layout-gt-xs-row>.flex-gt-xs-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-90{max-width:100%;max-height:90%}.layout-gt-xs-row>.flex-90{max-width:90%;max-height:100%}.layout-gt-xs-column>.flex-90,.layout-gt-xs-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-90{max-width:100%;max-height:90%}.flex-gt-xs-95,.layout-row>.flex-gt-xs-95{max-width:95%;max-height:100%}.flex-gt-xs-95,.layout-column>.flex-gt-xs-95,.layout-row>.flex-gt-xs-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-xs-95{max-width:100%;max-height:95%}.layout-gt-xs-row>.flex-gt-xs-95{max-width:95%;max-height:100%}.layout-gt-xs-column>.flex-gt-xs-95,.layout-gt-xs-row>.flex-gt-xs-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-95{max-width:100%;max-height:95%}.layout-gt-xs-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-95{max-height:95%}.flex-gt-xs-100,.layout-gt-xs-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-gt-xs-100{max-height:100%}.layout-column>.flex-gt-xs-100,.layout-gt-xs-column>.flex-100,.layout-gt-xs-column>.flex-gt-xs-100,.layout-gt-xs-row>.flex-100,.layout-gt-xs-row>.flex-gt-xs-100,.layout-row>.flex-gt-xs-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-xs-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-gt-xs-33,.layout-row>.flex-gt-xs-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-xs-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-gt-xs-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-gt-xs-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-33{max-width:33.33%}.layout-gt-xs-row>.flex-gt-xs-33,.layout-gt-xs-row>.flex-gt-xs-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-gt-xs-row>.flex-gt-xs-66{max-width:66.66%}.layout-gt-xs-column>.flex-gt-xs-33{max-height:33.33%}.layout-gt-xs-column>.flex-gt-xs-33,.layout-gt-xs-column>.flex-gt-xs-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-gt-xs-66{max-height:66.66%}.layout-gt-xs-row>.flex-33{max-width:33.33%}.layout-gt-xs-row>.flex-33,.layout-gt-xs-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-gt-xs-row>.flex-66{max-width:66.66%}.layout-gt-xs-row>.flex{min-width:0}.layout-gt-xs-column>.flex-33{max-height:33.33%}.layout-gt-xs-column>.flex-33,.layout-gt-xs-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-gt-xs-column>.flex-66{max-height:66.66%}.layout-gt-xs-column>.flex{min-height:0}.layout-gt-xs,.layout-gt-xs-column,.layout-gt-xs-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-gt-xs-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-gt-xs-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:600px) and (max-width:959px){.hide-gt-xs:not(.show-gt-xs):not(.show-sm):not(.show),.hide-sm:not(.show-gt-xs):not(.show-sm):not(.show),.hide:not(.show-gt-xs):not(.show-sm):not(.show){display:none}.flex-order-sm--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-sm--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-sm--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-sm--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-sm--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-sm--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-sm--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-sm--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-sm--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-sm--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-sm--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-sm--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-sm--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-sm--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-sm--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-sm--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-sm--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-sm--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-sm--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-sm--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-sm-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-sm-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-sm-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-sm-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-sm-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-sm-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-sm-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-sm-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-sm-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-sm-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-sm-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-sm-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-sm-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-sm-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-sm-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-sm-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-sm-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-sm-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-sm-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-sm-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-sm-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-sm-0,.offset-sm-0{margin-left:0}[dir=rtl] .flex-offset-sm-0,[dir=rtl] .offset-sm-0{margin-left:auto;margin-right:0}.flex-offset-sm-5,.offset-sm-5{margin-left:5%}[dir=rtl] .flex-offset-sm-5,[dir=rtl] .offset-sm-5{margin-left:auto;margin-right:5%}.flex-offset-sm-10,.offset-sm-10{margin-left:10%}[dir=rtl] .flex-offset-sm-10,[dir=rtl] .offset-sm-10{margin-left:auto;margin-right:10%}.flex-offset-sm-15,.offset-sm-15{margin-left:15%}[dir=rtl] .flex-offset-sm-15,[dir=rtl] .offset-sm-15{margin-left:auto;margin-right:15%}.flex-offset-sm-20,.offset-sm-20{margin-left:20%}[dir=rtl] .flex-offset-sm-20,[dir=rtl] .offset-sm-20{margin-left:auto;margin-right:20%}.flex-offset-sm-25,.offset-sm-25{margin-left:25%}[dir=rtl] .flex-offset-sm-25,[dir=rtl] .offset-sm-25{margin-left:auto;margin-right:25%}.flex-offset-sm-30,.offset-sm-30{margin-left:30%}[dir=rtl] .flex-offset-sm-30,[dir=rtl] .offset-sm-30{margin-left:auto;margin-right:30%}.flex-offset-sm-35,.offset-sm-35{margin-left:35%}[dir=rtl] .flex-offset-sm-35,[dir=rtl] .offset-sm-35{margin-left:auto;margin-right:35%}.flex-offset-sm-40,.offset-sm-40{margin-left:40%}[dir=rtl] .flex-offset-sm-40,[dir=rtl] .offset-sm-40{margin-left:auto;margin-right:40%}.flex-offset-sm-45,.offset-sm-45{margin-left:45%}[dir=rtl] .flex-offset-sm-45,[dir=rtl] .offset-sm-45{margin-left:auto;margin-right:45%}.flex-offset-sm-50,.offset-sm-50{margin-left:50%}[dir=rtl] .flex-offset-sm-50,[dir=rtl] .offset-sm-50{margin-left:auto;margin-right:50%}.flex-offset-sm-55,.offset-sm-55{margin-left:55%}[dir=rtl] .flex-offset-sm-55,[dir=rtl] .offset-sm-55{margin-left:auto;margin-right:55%}.flex-offset-sm-60,.offset-sm-60{margin-left:60%}[dir=rtl] .flex-offset-sm-60,[dir=rtl] .offset-sm-60{margin-left:auto;margin-right:60%}.flex-offset-sm-65,.offset-sm-65{margin-left:65%}[dir=rtl] .flex-offset-sm-65,[dir=rtl] .offset-sm-65{margin-left:auto;margin-right:65%}.flex-offset-sm-70,.offset-sm-70{margin-left:70%}[dir=rtl] .flex-offset-sm-70,[dir=rtl] .offset-sm-70{margin-left:auto;margin-right:70%}.flex-offset-sm-75,.offset-sm-75{margin-left:75%}[dir=rtl] .flex-offset-sm-75,[dir=rtl] .offset-sm-75{margin-left:auto;margin-right:75%}.flex-offset-sm-80,.offset-sm-80{margin-left:80%}[dir=rtl] .flex-offset-sm-80,[dir=rtl] .offset-sm-80{margin-left:auto;margin-right:80%}.flex-offset-sm-85,.offset-sm-85{margin-left:85%}[dir=rtl] .flex-offset-sm-85,[dir=rtl] .offset-sm-85{margin-left:auto;margin-right:85%}.flex-offset-sm-90,.offset-sm-90{margin-left:90%}[dir=rtl] .flex-offset-sm-90,[dir=rtl] .offset-sm-90{margin-left:auto;margin-right:90%}.flex-offset-sm-95,.offset-sm-95{margin-left:95%}[dir=rtl] .flex-offset-sm-95,[dir=rtl] .offset-sm-95{margin-left:auto;margin-right:95%}.flex-offset-sm-33,.offset-sm-33{margin-left:33.33333%}.flex-offset-sm-66,.offset-sm-66{margin-left:66.66667%}[dir=rtl] .flex-offset-sm-66,[dir=rtl] .offset-sm-66{margin-left:auto;margin-right:66.66667%}.layout-align-sm,.layout-align-sm-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align-sm,.layout-align-sm-start,.layout-align-sm-start-center,.layout-align-sm-start-end,.layout-align-sm-start-start,.layout-align-sm-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-sm-center,.layout-align-sm-center-center,.layout-align-sm-center-end,.layout-align-sm-center-start,.layout-align-sm-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-sm-end,.layout-align-sm-end-center,.layout-align-sm-end-end,.layout-align-sm-end-start,.layout-align-sm-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-sm-space-around,.layout-align-sm-space-around-center,.layout-align-sm-space-around-end,.layout-align-sm-space-around-start,.layout-align-sm-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-sm-space-between,.layout-align-sm-space-between-center,.layout-align-sm-space-between-end,.layout-align-sm-space-between-start,.layout-align-sm-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-sm-center-start,.layout-align-sm-end-start,.layout-align-sm-space-around-start,.layout-align-sm-space-between-start,.layout-align-sm-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-sm-center-center,.layout-align-sm-end-center,.layout-align-sm-space-around-center,.layout-align-sm-space-between-center,.layout-align-sm-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-sm-center-center>*,.layout-align-sm-end-center>*,.layout-align-sm-space-around-center>*,.layout-align-sm-space-between-center>*,.layout-align-sm-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-sm-center-end,.layout-align-sm-end-end,.layout-align-sm-space-around-end,.layout-align-sm-space-between-end,.layout-align-sm-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-sm-center-stretch,.layout-align-sm-end-stretch,.layout-align-sm-space-around-stretch,.layout-align-sm-space-between-stretch,.layout-align-sm-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-sm{-webkit-flex:1;flex:1}.flex-sm,.flex-sm-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-sm-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-sm-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-sm-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-sm-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-sm-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-sm-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-sm-0,.layout-row>.flex-sm-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-sm-0{min-width:0}.layout-column>.flex-sm-0{max-width:100%;max-height:0%}.layout-column>.flex-sm-0,.layout-sm-row>.flex-sm-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-row>.flex-sm-0{max-width:0;max-height:100%;min-width:0}.layout-sm-column>.flex-sm-0{max-width:100%;max-height:0%;min-height:0}.layout-sm-column>.flex-sm-0,.layout-sm-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-row>.flex-0{max-width:0;max-height:100%;min-width:0}.layout-sm-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-sm-5,.layout-row>.flex-sm-5{max-width:5%;max-height:100%}.flex-sm-5,.layout-column>.flex-sm-5,.layout-row>.flex-sm-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-5{max-width:100%;max-height:5%}.layout-sm-row>.flex-sm-5{max-width:5%;max-height:100%}.layout-sm-column>.flex-sm-5,.layout-sm-row>.flex-sm-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-5{max-width:100%;max-height:5%}.layout-sm-row>.flex-5{max-width:5%;max-height:100%}.layout-sm-column>.flex-5,.layout-sm-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-5{max-width:100%;max-height:5%}.flex-sm-10,.layout-row>.flex-sm-10{max-width:10%;max-height:100%}.flex-sm-10,.layout-column>.flex-sm-10,.layout-row>.flex-sm-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-10{max-width:100%;max-height:10%}.layout-sm-row>.flex-sm-10{max-width:10%;max-height:100%}.layout-sm-column>.flex-sm-10,.layout-sm-row>.flex-sm-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-10{max-width:100%;max-height:10%}.layout-sm-row>.flex-10{max-width:10%;max-height:100%}.layout-sm-column>.flex-10,.layout-sm-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-10{max-width:100%;max-height:10%}.flex-sm-15,.layout-row>.flex-sm-15{max-width:15%;max-height:100%}.flex-sm-15,.layout-column>.flex-sm-15,.layout-row>.flex-sm-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-15{max-width:100%;max-height:15%}.layout-sm-row>.flex-sm-15{max-width:15%;max-height:100%}.layout-sm-column>.flex-sm-15,.layout-sm-row>.flex-sm-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-15{max-width:100%;max-height:15%}.layout-sm-row>.flex-15{max-width:15%;max-height:100%}.layout-sm-column>.flex-15,.layout-sm-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-15{max-width:100%;max-height:15%}.flex-sm-20,.layout-row>.flex-sm-20{max-width:20%;max-height:100%}.flex-sm-20,.layout-column>.flex-sm-20,.layout-row>.flex-sm-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-20{max-width:100%;max-height:20%}.layout-sm-row>.flex-sm-20{max-width:20%;max-height:100%}.layout-sm-column>.flex-sm-20,.layout-sm-row>.flex-sm-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-20{max-width:100%;max-height:20%}.layout-sm-row>.flex-20{max-width:20%;max-height:100%}.layout-sm-column>.flex-20,.layout-sm-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-20{max-width:100%;max-height:20%}.flex-sm-25,.layout-row>.flex-sm-25{max-width:25%;max-height:100%}.flex-sm-25,.layout-column>.flex-sm-25,.layout-row>.flex-sm-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-25{max-width:100%;max-height:25%}.layout-sm-row>.flex-sm-25{max-width:25%;max-height:100%}.layout-sm-column>.flex-sm-25,.layout-sm-row>.flex-sm-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-25{max-width:100%;max-height:25%}.layout-sm-row>.flex-25{max-width:25%;max-height:100%}.layout-sm-column>.flex-25,.layout-sm-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-25{max-width:100%;max-height:25%}.flex-sm-30,.layout-row>.flex-sm-30{max-width:30%;max-height:100%}.flex-sm-30,.layout-column>.flex-sm-30,.layout-row>.flex-sm-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-30{max-width:100%;max-height:30%}.layout-sm-row>.flex-sm-30{max-width:30%;max-height:100%}.layout-sm-column>.flex-sm-30,.layout-sm-row>.flex-sm-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-30{max-width:100%;max-height:30%}.layout-sm-row>.flex-30{max-width:30%;max-height:100%}.layout-sm-column>.flex-30,.layout-sm-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-30{max-width:100%;max-height:30%}.flex-sm-35,.layout-row>.flex-sm-35{max-width:35%;max-height:100%}.flex-sm-35,.layout-column>.flex-sm-35,.layout-row>.flex-sm-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-35{max-width:100%;max-height:35%}.layout-sm-row>.flex-sm-35{max-width:35%;max-height:100%}.layout-sm-column>.flex-sm-35,.layout-sm-row>.flex-sm-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-35{max-width:100%;max-height:35%}.layout-sm-row>.flex-35{max-width:35%;max-height:100%}.layout-sm-column>.flex-35,.layout-sm-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-35{max-width:100%;max-height:35%}.flex-sm-40,.layout-row>.flex-sm-40{max-width:40%;max-height:100%}.flex-sm-40,.layout-column>.flex-sm-40,.layout-row>.flex-sm-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-40{max-width:100%;max-height:40%}.layout-sm-row>.flex-sm-40{max-width:40%;max-height:100%}.layout-sm-column>.flex-sm-40,.layout-sm-row>.flex-sm-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-40{max-width:100%;max-height:40%}.layout-sm-row>.flex-40{max-width:40%;max-height:100%}.layout-sm-column>.flex-40,.layout-sm-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-40{max-width:100%;max-height:40%}.flex-sm-45,.layout-row>.flex-sm-45{max-width:45%;max-height:100%}.flex-sm-45,.layout-column>.flex-sm-45,.layout-row>.flex-sm-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-45{max-width:100%;max-height:45%}.layout-sm-row>.flex-sm-45{max-width:45%;max-height:100%}.layout-sm-column>.flex-sm-45,.layout-sm-row>.flex-sm-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-45{max-width:100%;max-height:45%}.layout-sm-row>.flex-45{max-width:45%;max-height:100%}.layout-sm-column>.flex-45,.layout-sm-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-45{max-width:100%;max-height:45%}.flex-sm-50,.layout-row>.flex-sm-50{max-width:50%;max-height:100%}.flex-sm-50,.layout-column>.flex-sm-50,.layout-row>.flex-sm-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-50{max-width:100%;max-height:50%}.layout-sm-row>.flex-sm-50{max-width:50%;max-height:100%}.layout-sm-column>.flex-sm-50,.layout-sm-row>.flex-sm-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-50{max-width:100%;max-height:50%}.layout-sm-row>.flex-50{max-width:50%;max-height:100%}.layout-sm-column>.flex-50,.layout-sm-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-50{max-width:100%;max-height:50%}.flex-sm-55,.layout-row>.flex-sm-55{max-width:55%;max-height:100%}.flex-sm-55,.layout-column>.flex-sm-55,.layout-row>.flex-sm-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-55{max-width:100%;max-height:55%}.layout-sm-row>.flex-sm-55{max-width:55%;max-height:100%}.layout-sm-column>.flex-sm-55,.layout-sm-row>.flex-sm-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-55{max-width:100%;max-height:55%}.layout-sm-row>.flex-55{max-width:55%;max-height:100%}.layout-sm-column>.flex-55,.layout-sm-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-55{max-width:100%;max-height:55%}.flex-sm-60,.layout-row>.flex-sm-60{max-width:60%;max-height:100%}.flex-sm-60,.layout-column>.flex-sm-60,.layout-row>.flex-sm-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-60{max-width:100%;max-height:60%}.layout-sm-row>.flex-sm-60{max-width:60%;max-height:100%}.layout-sm-column>.flex-sm-60,.layout-sm-row>.flex-sm-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-60{max-width:100%;max-height:60%}.layout-sm-row>.flex-60{max-width:60%;max-height:100%}.layout-sm-column>.flex-60,.layout-sm-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-60{max-width:100%;max-height:60%}.flex-sm-65,.layout-row>.flex-sm-65{max-width:65%;max-height:100%}.flex-sm-65,.layout-column>.flex-sm-65,.layout-row>.flex-sm-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-65{max-width:100%;max-height:65%}.layout-sm-row>.flex-sm-65{max-width:65%;max-height:100%}.layout-sm-column>.flex-sm-65,.layout-sm-row>.flex-sm-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-65{max-width:100%;max-height:65%}.layout-sm-row>.flex-65{max-width:65%;max-height:100%}.layout-sm-column>.flex-65,.layout-sm-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-65{max-width:100%;max-height:65%}.flex-sm-70,.layout-row>.flex-sm-70{max-width:70%;max-height:100%}.flex-sm-70,.layout-column>.flex-sm-70,.layout-row>.flex-sm-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-70{max-width:100%;max-height:70%}.layout-sm-row>.flex-sm-70{max-width:70%;max-height:100%}.layout-sm-column>.flex-sm-70,.layout-sm-row>.flex-sm-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-70{max-width:100%;max-height:70%}.layout-sm-row>.flex-70{max-width:70%;max-height:100%}.layout-sm-column>.flex-70,.layout-sm-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-70{max-width:100%;max-height:70%}.flex-sm-75,.layout-row>.flex-sm-75{max-width:75%;max-height:100%}.flex-sm-75,.layout-column>.flex-sm-75,.layout-row>.flex-sm-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-75{max-width:100%;max-height:75%}.layout-sm-row>.flex-sm-75{max-width:75%;max-height:100%}.layout-sm-column>.flex-sm-75,.layout-sm-row>.flex-sm-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-75{max-width:100%;max-height:75%}.layout-sm-row>.flex-75{max-width:75%;max-height:100%}.layout-sm-column>.flex-75,.layout-sm-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-75{max-width:100%;max-height:75%}.flex-sm-80,.layout-row>.flex-sm-80{max-width:80%;max-height:100%}.flex-sm-80,.layout-column>.flex-sm-80,.layout-row>.flex-sm-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-80{max-width:100%;max-height:80%}.layout-sm-row>.flex-sm-80{max-width:80%;max-height:100%}.layout-sm-column>.flex-sm-80,.layout-sm-row>.flex-sm-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-80{max-width:100%;max-height:80%}.layout-sm-row>.flex-80{max-width:80%;max-height:100%}.layout-sm-column>.flex-80,.layout-sm-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-80{max-width:100%;max-height:80%}.flex-sm-85,.layout-row>.flex-sm-85{max-width:85%;max-height:100%}.flex-sm-85,.layout-column>.flex-sm-85,.layout-row>.flex-sm-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-85{max-width:100%;max-height:85%}.layout-sm-row>.flex-sm-85{max-width:85%;max-height:100%}.layout-sm-column>.flex-sm-85,.layout-sm-row>.flex-sm-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-85{max-width:100%;max-height:85%}.layout-sm-row>.flex-85{max-width:85%;max-height:100%}.layout-sm-column>.flex-85,.layout-sm-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-85{max-width:100%;max-height:85%}.flex-sm-90,.layout-row>.flex-sm-90{max-width:90%;max-height:100%}.flex-sm-90,.layout-column>.flex-sm-90,.layout-row>.flex-sm-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-90{max-width:100%;max-height:90%}.layout-sm-row>.flex-sm-90{max-width:90%;max-height:100%}.layout-sm-column>.flex-sm-90,.layout-sm-row>.flex-sm-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-90{max-width:100%;max-height:90%}.layout-sm-row>.flex-90{max-width:90%;max-height:100%}.layout-sm-column>.flex-90,.layout-sm-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-90{max-width:100%;max-height:90%}.flex-sm-95,.layout-row>.flex-sm-95{max-width:95%;max-height:100%}.flex-sm-95,.layout-column>.flex-sm-95,.layout-row>.flex-sm-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-sm-95{max-width:100%;max-height:95%}.layout-sm-row>.flex-sm-95{max-width:95%;max-height:100%}.layout-sm-column>.flex-sm-95,.layout-sm-row>.flex-sm-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-sm-column>.flex-sm-95{max-width:100%;max-height:95%}.layout-sm-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-sm-column>.flex-95{max-height:95%}.flex-sm-100,.layout-sm-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-sm-100{max-height:100%}.layout-column>.flex-sm-100,.layout-row>.flex-sm-100,.layout-sm-column>.flex-100,.layout-sm-column>.flex-sm-100,.layout-sm-row>.flex-100,.layout-sm-row>.flex-sm-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-sm-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-sm-33,.layout-row>.flex-sm-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-sm-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-sm-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-height:33.33%}.layout-column>.flex-sm-33,.layout-column>.flex-sm-66{-webkit-box-flex:1;max-width:100%;box-sizing:border-box}.layout-column>.flex-sm-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-height:66.66%}.layout-sm-row>.flex-sm-33{max-width:33.33%}.layout-sm-row>.flex-sm-33,.layout-sm-row>.flex-sm-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-sm-row>.flex-sm-66{max-width:66.66%}.layout-sm-column>.flex-sm-33{max-height:33.33%}.layout-sm-column>.flex-sm-33,.layout-sm-column>.flex-sm-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-sm-column>.flex-sm-66{max-height:66.66%}.layout-sm-row>.flex-33{max-width:33.33%}.layout-sm-row>.flex-33,.layout-sm-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-sm-row>.flex-66{max-width:66.66%}.layout-sm-row>.flex{min-width:0}.layout-sm-column>.flex-33{max-height:33.33%}.layout-sm-column>.flex-33,.layout-sm-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-sm-column>.flex-66{max-height:66.66%}.layout-sm-column>.flex{min-height:0}.layout-sm,.layout-sm-column,.layout-sm-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-sm-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-sm-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:960px){.flex-order-gt-sm--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-gt-sm--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-gt-sm--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-gt-sm--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-gt-sm--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-gt-sm--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-gt-sm--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-gt-sm--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-gt-sm--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-gt-sm--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-gt-sm--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-gt-sm--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-gt-sm--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-gt-sm--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-gt-sm--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-gt-sm--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-gt-sm--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-gt-sm--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-gt-sm--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-gt-sm--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-gt-sm-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-gt-sm-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-gt-sm-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-gt-sm-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-gt-sm-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-gt-sm-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-gt-sm-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-gt-sm-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-gt-sm-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-gt-sm-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-gt-sm-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-gt-sm-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-gt-sm-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-gt-sm-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-gt-sm-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-gt-sm-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-gt-sm-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-gt-sm-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-gt-sm-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-gt-sm-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-gt-sm-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-gt-sm-0,.offset-gt-sm-0{margin-left:0}[dir=rtl] .flex-offset-gt-sm-0,[dir=rtl] .offset-gt-sm-0{margin-left:auto;margin-right:0}.flex-offset-gt-sm-5,.offset-gt-sm-5{margin-left:5%}[dir=rtl] .flex-offset-gt-sm-5,[dir=rtl] .offset-gt-sm-5{margin-left:auto;margin-right:5%}.flex-offset-gt-sm-10,.offset-gt-sm-10{margin-left:10%}[dir=rtl] .flex-offset-gt-sm-10,[dir=rtl] .offset-gt-sm-10{margin-left:auto;margin-right:10%}.flex-offset-gt-sm-15,.offset-gt-sm-15{margin-left:15%}[dir=rtl] .flex-offset-gt-sm-15,[dir=rtl] .offset-gt-sm-15{margin-left:auto;margin-right:15%}.flex-offset-gt-sm-20,.offset-gt-sm-20{margin-left:20%}[dir=rtl] .flex-offset-gt-sm-20,[dir=rtl] .offset-gt-sm-20{margin-left:auto;margin-right:20%}.flex-offset-gt-sm-25,.offset-gt-sm-25{margin-left:25%}[dir=rtl] .flex-offset-gt-sm-25,[dir=rtl] .offset-gt-sm-25{margin-left:auto;margin-right:25%}.flex-offset-gt-sm-30,.offset-gt-sm-30{margin-left:30%}[dir=rtl] .flex-offset-gt-sm-30,[dir=rtl] .offset-gt-sm-30{margin-left:auto;margin-right:30%}.flex-offset-gt-sm-35,.offset-gt-sm-35{margin-left:35%}[dir=rtl] .flex-offset-gt-sm-35,[dir=rtl] .offset-gt-sm-35{margin-left:auto;margin-right:35%}.flex-offset-gt-sm-40,.offset-gt-sm-40{margin-left:40%}[dir=rtl] .flex-offset-gt-sm-40,[dir=rtl] .offset-gt-sm-40{margin-left:auto;margin-right:40%}.flex-offset-gt-sm-45,.offset-gt-sm-45{margin-left:45%}[dir=rtl] .flex-offset-gt-sm-45,[dir=rtl] .offset-gt-sm-45{margin-left:auto;margin-right:45%}.flex-offset-gt-sm-50,.offset-gt-sm-50{margin-left:50%}[dir=rtl] .flex-offset-gt-sm-50,[dir=rtl] .offset-gt-sm-50{margin-left:auto;margin-right:50%}.flex-offset-gt-sm-55,.offset-gt-sm-55{margin-left:55%}[dir=rtl] .flex-offset-gt-sm-55,[dir=rtl] .offset-gt-sm-55{margin-left:auto;margin-right:55%}.flex-offset-gt-sm-60,.offset-gt-sm-60{margin-left:60%}[dir=rtl] .flex-offset-gt-sm-60,[dir=rtl] .offset-gt-sm-60{margin-left:auto;margin-right:60%}.flex-offset-gt-sm-65,.offset-gt-sm-65{margin-left:65%}[dir=rtl] .flex-offset-gt-sm-65,[dir=rtl] .offset-gt-sm-65{margin-left:auto;margin-right:65%}.flex-offset-gt-sm-70,.offset-gt-sm-70{margin-left:70%}[dir=rtl] .flex-offset-gt-sm-70,[dir=rtl] .offset-gt-sm-70{margin-left:auto;margin-right:70%}.flex-offset-gt-sm-75,.offset-gt-sm-75{margin-left:75%}[dir=rtl] .flex-offset-gt-sm-75,[dir=rtl] .offset-gt-sm-75{margin-left:auto;margin-right:75%}.flex-offset-gt-sm-80,.offset-gt-sm-80{margin-left:80%}[dir=rtl] .flex-offset-gt-sm-80,[dir=rtl] .offset-gt-sm-80{margin-left:auto;margin-right:80%}.flex-offset-gt-sm-85,.offset-gt-sm-85{margin-left:85%}[dir=rtl] .flex-offset-gt-sm-85,[dir=rtl] .offset-gt-sm-85{margin-left:auto;margin-right:85%}.flex-offset-gt-sm-90,.offset-gt-sm-90{margin-left:90%}[dir=rtl] .flex-offset-gt-sm-90,[dir=rtl] .offset-gt-sm-90{margin-left:auto;margin-right:90%}.flex-offset-gt-sm-95,.offset-gt-sm-95{margin-left:95%}[dir=rtl] .flex-offset-gt-sm-95,[dir=rtl] .offset-gt-sm-95{margin-left:auto;margin-right:95%}.flex-offset-gt-sm-33,.offset-gt-sm-33{margin-left:33.33333%}.flex-offset-gt-sm-66,.offset-gt-sm-66{margin-left:66.66667%}[dir=rtl] .flex-offset-gt-sm-66,[dir=rtl] .offset-gt-sm-66{margin-left:auto;margin-right:66.66667%}.layout-align-gt-sm,.layout-align-gt-sm-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align-gt-sm,.layout-align-gt-sm-start,.layout-align-gt-sm-start-center,.layout-align-gt-sm-start-end,.layout-align-gt-sm-start-start,.layout-align-gt-sm-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-gt-sm-center,.layout-align-gt-sm-center-center,.layout-align-gt-sm-center-end,.layout-align-gt-sm-center-start,.layout-align-gt-sm-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-gt-sm-end,.layout-align-gt-sm-end-center,.layout-align-gt-sm-end-end,.layout-align-gt-sm-end-start,.layout-align-gt-sm-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-gt-sm-space-around,.layout-align-gt-sm-space-around-center,.layout-align-gt-sm-space-around-end,.layout-align-gt-sm-space-around-start,.layout-align-gt-sm-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-gt-sm-space-between,.layout-align-gt-sm-space-between-center,.layout-align-gt-sm-space-between-end,.layout-align-gt-sm-space-between-start,.layout-align-gt-sm-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-gt-sm-center-start,.layout-align-gt-sm-end-start,.layout-align-gt-sm-space-around-start,.layout-align-gt-sm-space-between-start,.layout-align-gt-sm-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-gt-sm-center-center,.layout-align-gt-sm-end-center,.layout-align-gt-sm-space-around-center,.layout-align-gt-sm-space-between-center,.layout-align-gt-sm-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-gt-sm-center-center>*,.layout-align-gt-sm-end-center>*,.layout-align-gt-sm-space-around-center>*,.layout-align-gt-sm-space-between-center>*,.layout-align-gt-sm-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-gt-sm-center-end,.layout-align-gt-sm-end-end,.layout-align-gt-sm-space-around-end,.layout-align-gt-sm-space-between-end,.layout-align-gt-sm-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-gt-sm-center-stretch,.layout-align-gt-sm-end-stretch,.layout-align-gt-sm-space-around-stretch,.layout-align-gt-sm-space-between-stretch,.layout-align-gt-sm-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-gt-sm{-webkit-flex:1;flex:1}.flex-gt-sm,.flex-gt-sm-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-gt-sm-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-gt-sm-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-sm-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-gt-sm-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-gt-sm-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-gt-sm-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-sm-0,.layout-row>.flex-gt-sm-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-sm-0{min-width:0}.layout-column>.flex-gt-sm-0{max-width:100%;max-height:0%}.layout-column>.flex-gt-sm-0,.layout-gt-sm-row>.flex-gt-sm-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-0{max-width:0;max-height:100%;min-width:0}.layout-gt-sm-column>.flex-gt-sm-0{max-width:100%;max-height:0%;min-height:0}.layout-gt-sm-column>.flex-gt-sm-0,.layout-gt-sm-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-row>.flex-0{max-width:0;max-height:100%;min-width:0}.layout-gt-sm-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-gt-sm-5,.layout-row>.flex-gt-sm-5{max-width:5%;max-height:100%}.flex-gt-sm-5,.layout-column>.flex-gt-sm-5,.layout-row>.flex-gt-sm-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-5{max-width:100%;max-height:5%}.layout-gt-sm-row>.flex-gt-sm-5{max-width:5%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-5,.layout-gt-sm-row>.flex-gt-sm-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-5{max-width:100%;max-height:5%}.layout-gt-sm-row>.flex-5{max-width:5%;max-height:100%}.layout-gt-sm-column>.flex-5,.layout-gt-sm-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-5{max-width:100%;max-height:5%}.flex-gt-sm-10,.layout-row>.flex-gt-sm-10{max-width:10%;max-height:100%}.flex-gt-sm-10,.layout-column>.flex-gt-sm-10,.layout-row>.flex-gt-sm-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-10{max-width:100%;max-height:10%}.layout-gt-sm-row>.flex-gt-sm-10{max-width:10%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-10,.layout-gt-sm-row>.flex-gt-sm-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-10{max-width:100%;max-height:10%}.layout-gt-sm-row>.flex-10{max-width:10%;max-height:100%}.layout-gt-sm-column>.flex-10,.layout-gt-sm-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-10{max-width:100%;max-height:10%}.flex-gt-sm-15,.layout-row>.flex-gt-sm-15{max-width:15%;max-height:100%}.flex-gt-sm-15,.layout-column>.flex-gt-sm-15,.layout-row>.flex-gt-sm-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-15{max-width:100%;max-height:15%}.layout-gt-sm-row>.flex-gt-sm-15{max-width:15%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-15,.layout-gt-sm-row>.flex-gt-sm-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-15{max-width:100%;max-height:15%}.layout-gt-sm-row>.flex-15{max-width:15%;max-height:100%}.layout-gt-sm-column>.flex-15,.layout-gt-sm-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-15{max-width:100%;max-height:15%}.flex-gt-sm-20,.layout-row>.flex-gt-sm-20{max-width:20%;max-height:100%}.flex-gt-sm-20,.layout-column>.flex-gt-sm-20,.layout-row>.flex-gt-sm-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-20{max-width:100%;max-height:20%}.layout-gt-sm-row>.flex-gt-sm-20{max-width:20%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-20,.layout-gt-sm-row>.flex-gt-sm-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-20{max-width:100%;max-height:20%}.layout-gt-sm-row>.flex-20{max-width:20%;max-height:100%}.layout-gt-sm-column>.flex-20,.layout-gt-sm-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-20{max-width:100%;max-height:20%}.flex-gt-sm-25,.layout-row>.flex-gt-sm-25{max-width:25%;max-height:100%}.flex-gt-sm-25,.layout-column>.flex-gt-sm-25,.layout-row>.flex-gt-sm-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-25{max-width:100%;max-height:25%}.layout-gt-sm-row>.flex-gt-sm-25{max-width:25%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-25,.layout-gt-sm-row>.flex-gt-sm-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-25{max-width:100%;max-height:25%}.layout-gt-sm-row>.flex-25{max-width:25%;max-height:100%}.layout-gt-sm-column>.flex-25,.layout-gt-sm-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-25{max-width:100%;max-height:25%}.flex-gt-sm-30,.layout-row>.flex-gt-sm-30{max-width:30%;max-height:100%}.flex-gt-sm-30,.layout-column>.flex-gt-sm-30,.layout-row>.flex-gt-sm-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-30{max-width:100%;max-height:30%}.layout-gt-sm-row>.flex-gt-sm-30{max-width:30%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-30,.layout-gt-sm-row>.flex-gt-sm-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-30{max-width:100%;max-height:30%}.layout-gt-sm-row>.flex-30{max-width:30%;max-height:100%}.layout-gt-sm-column>.flex-30,.layout-gt-sm-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-30{max-width:100%;max-height:30%}.flex-gt-sm-35,.layout-row>.flex-gt-sm-35{max-width:35%;max-height:100%}.flex-gt-sm-35,.layout-column>.flex-gt-sm-35,.layout-row>.flex-gt-sm-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-35{max-width:100%;max-height:35%}.layout-gt-sm-row>.flex-gt-sm-35{max-width:35%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-35,.layout-gt-sm-row>.flex-gt-sm-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-35{max-width:100%;max-height:35%}.layout-gt-sm-row>.flex-35{max-width:35%;max-height:100%}.layout-gt-sm-column>.flex-35,.layout-gt-sm-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-35{max-width:100%;max-height:35%}.flex-gt-sm-40,.layout-row>.flex-gt-sm-40{max-width:40%;max-height:100%}.flex-gt-sm-40,.layout-column>.flex-gt-sm-40,.layout-row>.flex-gt-sm-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-40{max-width:100%;max-height:40%}.layout-gt-sm-row>.flex-gt-sm-40{max-width:40%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-40,.layout-gt-sm-row>.flex-gt-sm-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-40{max-width:100%;max-height:40%}.layout-gt-sm-row>.flex-40{max-width:40%;max-height:100%}.layout-gt-sm-column>.flex-40,.layout-gt-sm-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-40{max-width:100%;max-height:40%}.flex-gt-sm-45,.layout-row>.flex-gt-sm-45{max-width:45%;max-height:100%}.flex-gt-sm-45,.layout-column>.flex-gt-sm-45,.layout-row>.flex-gt-sm-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-45{max-width:100%;max-height:45%}.layout-gt-sm-row>.flex-gt-sm-45{max-width:45%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-45,.layout-gt-sm-row>.flex-gt-sm-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-45{max-width:100%;max-height:45%}.layout-gt-sm-row>.flex-45{max-width:45%;max-height:100%}.layout-gt-sm-column>.flex-45,.layout-gt-sm-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-45{max-width:100%;max-height:45%}.flex-gt-sm-50,.layout-row>.flex-gt-sm-50{max-width:50%;max-height:100%}.flex-gt-sm-50,.layout-column>.flex-gt-sm-50,.layout-row>.flex-gt-sm-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-50{max-width:100%;max-height:50%}.layout-gt-sm-row>.flex-gt-sm-50{max-width:50%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-50,.layout-gt-sm-row>.flex-gt-sm-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-50{max-width:100%;max-height:50%}.layout-gt-sm-row>.flex-50{max-width:50%;max-height:100%}.layout-gt-sm-column>.flex-50,.layout-gt-sm-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-50{max-width:100%;max-height:50%}.flex-gt-sm-55,.layout-row>.flex-gt-sm-55{max-width:55%;max-height:100%}.flex-gt-sm-55,.layout-column>.flex-gt-sm-55,.layout-row>.flex-gt-sm-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-55{max-width:100%;max-height:55%}.layout-gt-sm-row>.flex-gt-sm-55{max-width:55%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-55,.layout-gt-sm-row>.flex-gt-sm-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-55{max-width:100%;max-height:55%}.layout-gt-sm-row>.flex-55{max-width:55%;max-height:100%}.layout-gt-sm-column>.flex-55,.layout-gt-sm-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-55{max-width:100%;max-height:55%}.flex-gt-sm-60,.layout-row>.flex-gt-sm-60{max-width:60%;max-height:100%}.flex-gt-sm-60,.layout-column>.flex-gt-sm-60,.layout-row>.flex-gt-sm-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-60{max-width:100%;max-height:60%}.layout-gt-sm-row>.flex-gt-sm-60{max-width:60%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-60,.layout-gt-sm-row>.flex-gt-sm-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-60{max-width:100%;max-height:60%}.layout-gt-sm-row>.flex-60{max-width:60%;max-height:100%}.layout-gt-sm-column>.flex-60,.layout-gt-sm-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-60{max-width:100%;max-height:60%}.flex-gt-sm-65,.layout-row>.flex-gt-sm-65{max-width:65%;max-height:100%}.flex-gt-sm-65,.layout-column>.flex-gt-sm-65,.layout-row>.flex-gt-sm-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-65{max-width:100%;max-height:65%}.layout-gt-sm-row>.flex-gt-sm-65{max-width:65%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-65,.layout-gt-sm-row>.flex-gt-sm-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-65{max-width:100%;max-height:65%}.layout-gt-sm-row>.flex-65{max-width:65%;max-height:100%}.layout-gt-sm-column>.flex-65,.layout-gt-sm-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-65{max-width:100%;max-height:65%}.flex-gt-sm-70,.layout-row>.flex-gt-sm-70{max-width:70%;max-height:100%}.flex-gt-sm-70,.layout-column>.flex-gt-sm-70,.layout-row>.flex-gt-sm-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-70{max-width:100%;max-height:70%}.layout-gt-sm-row>.flex-gt-sm-70{max-width:70%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-70,.layout-gt-sm-row>.flex-gt-sm-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-70{max-width:100%;max-height:70%}.layout-gt-sm-row>.flex-70{max-width:70%;max-height:100%}.layout-gt-sm-column>.flex-70,.layout-gt-sm-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-70{max-width:100%;max-height:70%}.flex-gt-sm-75,.layout-row>.flex-gt-sm-75{max-width:75%;max-height:100%}.flex-gt-sm-75,.layout-column>.flex-gt-sm-75,.layout-row>.flex-gt-sm-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-75{max-width:100%;max-height:75%}.layout-gt-sm-row>.flex-gt-sm-75{max-width:75%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-75,.layout-gt-sm-row>.flex-gt-sm-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-75{max-width:100%;max-height:75%}.layout-gt-sm-row>.flex-75{max-width:75%;max-height:100%}.layout-gt-sm-column>.flex-75,.layout-gt-sm-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-75{max-width:100%;max-height:75%}.flex-gt-sm-80,.layout-row>.flex-gt-sm-80{max-width:80%;max-height:100%}.flex-gt-sm-80,.layout-column>.flex-gt-sm-80,.layout-row>.flex-gt-sm-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-80{max-width:100%;max-height:80%}.layout-gt-sm-row>.flex-gt-sm-80{max-width:80%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-80,.layout-gt-sm-row>.flex-gt-sm-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-80{max-width:100%;max-height:80%}.layout-gt-sm-row>.flex-80{max-width:80%;max-height:100%}.layout-gt-sm-column>.flex-80,.layout-gt-sm-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-80{max-width:100%;max-height:80%}.flex-gt-sm-85,.layout-row>.flex-gt-sm-85{max-width:85%;max-height:100%}.flex-gt-sm-85,.layout-column>.flex-gt-sm-85,.layout-row>.flex-gt-sm-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-85{max-width:100%;max-height:85%}.layout-gt-sm-row>.flex-gt-sm-85{max-width:85%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-85,.layout-gt-sm-row>.flex-gt-sm-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-85{max-width:100%;max-height:85%}.layout-gt-sm-row>.flex-85{max-width:85%;max-height:100%}.layout-gt-sm-column>.flex-85,.layout-gt-sm-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-85{max-width:100%;max-height:85%}.flex-gt-sm-90,.layout-row>.flex-gt-sm-90{max-width:90%;max-height:100%}.flex-gt-sm-90,.layout-column>.flex-gt-sm-90,.layout-row>.flex-gt-sm-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-90{max-width:100%;max-height:90%}.layout-gt-sm-row>.flex-gt-sm-90{max-width:90%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-90,.layout-gt-sm-row>.flex-gt-sm-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-90{max-width:100%;max-height:90%}.layout-gt-sm-row>.flex-90{max-width:90%;max-height:100%}.layout-gt-sm-column>.flex-90,.layout-gt-sm-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-90{max-width:100%;max-height:90%}.flex-gt-sm-95,.layout-row>.flex-gt-sm-95{max-width:95%;max-height:100%}.flex-gt-sm-95,.layout-column>.flex-gt-sm-95,.layout-row>.flex-gt-sm-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-sm-95{max-width:100%;max-height:95%}.layout-gt-sm-row>.flex-gt-sm-95{max-width:95%;max-height:100%}.layout-gt-sm-column>.flex-gt-sm-95,.layout-gt-sm-row>.flex-gt-sm-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-95{max-width:100%;max-height:95%}.layout-gt-sm-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-95{max-height:95%}.flex-gt-sm-100,.layout-gt-sm-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-gt-sm-100{max-height:100%}.layout-column>.flex-gt-sm-100,.layout-gt-sm-column>.flex-100,.layout-gt-sm-column>.flex-gt-sm-100,.layout-gt-sm-row>.flex-100,.layout-gt-sm-row>.flex-gt-sm-100,.layout-row>.flex-gt-sm-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-sm-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-gt-sm-33,.layout-row>.flex-gt-sm-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-sm-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-gt-sm-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-gt-sm-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-33{max-width:33.33%}.layout-gt-sm-row>.flex-gt-sm-33,.layout-gt-sm-row>.flex-gt-sm-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-gt-sm-row>.flex-gt-sm-66{max-width:66.66%}.layout-gt-sm-column>.flex-gt-sm-33{max-height:33.33%}.layout-gt-sm-column>.flex-gt-sm-33,.layout-gt-sm-column>.flex-gt-sm-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-gt-sm-66{max-height:66.66%}.layout-gt-sm-row>.flex-33{max-width:33.33%}.layout-gt-sm-row>.flex-33,.layout-gt-sm-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-gt-sm-row>.flex-66{max-width:66.66%}.layout-gt-sm-row>.flex{min-width:0}.layout-gt-sm-column>.flex-33{max-height:33.33%}.layout-gt-sm-column>.flex-33,.layout-gt-sm-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-gt-sm-column>.flex-66{max-height:66.66%}.layout-gt-sm-column>.flex{min-height:0}.layout-gt-sm,.layout-gt-sm-column,.layout-gt-sm-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-gt-sm-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-gt-sm-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:960px) and (max-width:1279px){.hide-gt-sm:not(.show-gt-xs):not(.show-gt-sm):not(.show-md):not(.show),.hide-gt-xs:not(.show-gt-xs):not(.show-gt-sm):not(.show-md):not(.show),.hide-md:not(.show-md):not(.show-gt-sm):not(.show-gt-xs):not(.show),.hide:not(.show-gt-xs):not(.show-gt-sm):not(.show-md):not(.show){display:none}.flex-order-md--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-md--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-md--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-md--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-md--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-md--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-md--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-md--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-md--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-md--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-md--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-md--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-md--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-md--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-md--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-md--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-md--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-md--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-md--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-md--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-md-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-md-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-md-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-md-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-md-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-md-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-md-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-md-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-md-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-md-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-md-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-md-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-md-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-md-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-md-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-md-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-md-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-md-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-md-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-md-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-md-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-md-0,.offset-md-0{margin-left:0}[dir=rtl] .flex-offset-md-0,[dir=rtl] .offset-md-0{margin-left:auto;margin-right:0}.flex-offset-md-5,.offset-md-5{margin-left:5%}[dir=rtl] .flex-offset-md-5,[dir=rtl] .offset-md-5{margin-left:auto;margin-right:5%}.flex-offset-md-10,.offset-md-10{margin-left:10%}[dir=rtl] .flex-offset-md-10,[dir=rtl] .offset-md-10{margin-left:auto;margin-right:10%}.flex-offset-md-15,.offset-md-15{margin-left:15%}[dir=rtl] .flex-offset-md-15,[dir=rtl] .offset-md-15{margin-left:auto;margin-right:15%}.flex-offset-md-20,.offset-md-20{margin-left:20%}[dir=rtl] .flex-offset-md-20,[dir=rtl] .offset-md-20{margin-left:auto;margin-right:20%}.flex-offset-md-25,.offset-md-25{margin-left:25%}[dir=rtl] .flex-offset-md-25,[dir=rtl] .offset-md-25{margin-left:auto;margin-right:25%}.flex-offset-md-30,.offset-md-30{margin-left:30%}[dir=rtl] .flex-offset-md-30,[dir=rtl] .offset-md-30{margin-left:auto;margin-right:30%}.flex-offset-md-35,.offset-md-35{margin-left:35%}[dir=rtl] .flex-offset-md-35,[dir=rtl] .offset-md-35{margin-left:auto;margin-right:35%}.flex-offset-md-40,.offset-md-40{margin-left:40%}[dir=rtl] .flex-offset-md-40,[dir=rtl] .offset-md-40{margin-left:auto;margin-right:40%}.flex-offset-md-45,.offset-md-45{margin-left:45%}[dir=rtl] .flex-offset-md-45,[dir=rtl] .offset-md-45{margin-left:auto;margin-right:45%}.flex-offset-md-50,.offset-md-50{margin-left:50%}[dir=rtl] .flex-offset-md-50,[dir=rtl] .offset-md-50{margin-left:auto;margin-right:50%}.flex-offset-md-55,.offset-md-55{margin-left:55%}[dir=rtl] .flex-offset-md-55,[dir=rtl] .offset-md-55{margin-left:auto;margin-right:55%}.flex-offset-md-60,.offset-md-60{margin-left:60%}[dir=rtl] .flex-offset-md-60,[dir=rtl] .offset-md-60{margin-left:auto;margin-right:60%}.flex-offset-md-65,.offset-md-65{margin-left:65%}[dir=rtl] .flex-offset-md-65,[dir=rtl] .offset-md-65{margin-left:auto;margin-right:65%}.flex-offset-md-70,.offset-md-70{margin-left:70%}[dir=rtl] .flex-offset-md-70,[dir=rtl] .offset-md-70{margin-left:auto;margin-right:70%}.flex-offset-md-75,.offset-md-75{margin-left:75%}[dir=rtl] .flex-offset-md-75,[dir=rtl] .offset-md-75{margin-left:auto;margin-right:75%}.flex-offset-md-80,.offset-md-80{margin-left:80%}[dir=rtl] .flex-offset-md-80,[dir=rtl] .offset-md-80{margin-left:auto;margin-right:80%}.flex-offset-md-85,.offset-md-85{margin-left:85%}[dir=rtl] .flex-offset-md-85,[dir=rtl] .offset-md-85{margin-left:auto;margin-right:85%}.flex-offset-md-90,.offset-md-90{margin-left:90%}[dir=rtl] .flex-offset-md-90,[dir=rtl] .offset-md-90{margin-left:auto;margin-right:90%}.flex-offset-md-95,.offset-md-95{margin-left:95%}[dir=rtl] .flex-offset-md-95,[dir=rtl] .offset-md-95{margin-left:auto;margin-right:95%}.flex-offset-md-33,.offset-md-33{margin-left:33.33333%}.flex-offset-md-66,.offset-md-66{margin-left:66.66667%}[dir=rtl] .flex-offset-md-66,[dir=rtl] .offset-md-66{margin-left:auto;margin-right:66.66667%}.layout-align-md,.layout-align-md-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align-md,.layout-align-md-start,.layout-align-md-start-center,.layout-align-md-start-end,.layout-align-md-start-start,.layout-align-md-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-md-center,.layout-align-md-center-center,.layout-align-md-center-end,.layout-align-md-center-start,.layout-align-md-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-md-end,.layout-align-md-end-center,.layout-align-md-end-end,.layout-align-md-end-start,.layout-align-md-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-md-space-around,.layout-align-md-space-around-center,.layout-align-md-space-around-end,.layout-align-md-space-around-start,.layout-align-md-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-md-space-between,.layout-align-md-space-between-center,.layout-align-md-space-between-end,.layout-align-md-space-between-start,.layout-align-md-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-md-center-start,.layout-align-md-end-start,.layout-align-md-space-around-start,.layout-align-md-space-between-start,.layout-align-md-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-md-center-center,.layout-align-md-end-center,.layout-align-md-space-around-center,.layout-align-md-space-between-center,.layout-align-md-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-md-center-center>*,.layout-align-md-end-center>*,.layout-align-md-space-around-center>*,.layout-align-md-space-between-center>*,.layout-align-md-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-md-center-end,.layout-align-md-end-end,.layout-align-md-space-around-end,.layout-align-md-space-between-end,.layout-align-md-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-md-center-stretch,.layout-align-md-end-stretch,.layout-align-md-space-around-stretch,.layout-align-md-space-between-stretch,.layout-align-md-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-md{-webkit-flex:1;flex:1}.flex-md,.flex-md-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-md-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-md-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-md-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-md-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-md-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-md-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-md-0,.layout-row>.flex-md-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-md-0{min-width:0}.layout-column>.flex-md-0{max-width:100%;max-height:0%}.layout-column>.flex-md-0,.layout-md-row>.flex-md-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-row>.flex-md-0{max-width:0;max-height:100%;min-width:0}.layout-md-column>.flex-md-0{max-width:100%;max-height:0%;min-height:0}.layout-md-column>.flex-md-0,.layout-md-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-row>.flex-0{max-width:0;max-height:100%;min-width:0}.layout-md-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-md-5,.layout-row>.flex-md-5{max-width:5%;max-height:100%}.flex-md-5,.layout-column>.flex-md-5,.layout-row>.flex-md-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-5{max-width:100%;max-height:5%}.layout-md-row>.flex-md-5{max-width:5%;max-height:100%}.layout-md-column>.flex-md-5,.layout-md-row>.flex-md-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-5{max-width:100%;max-height:5%}.layout-md-row>.flex-5{max-width:5%;max-height:100%}.layout-md-column>.flex-5,.layout-md-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-5{max-width:100%;max-height:5%}.flex-md-10,.layout-row>.flex-md-10{max-width:10%;max-height:100%}.flex-md-10,.layout-column>.flex-md-10,.layout-row>.flex-md-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-10{max-width:100%;max-height:10%}.layout-md-row>.flex-md-10{max-width:10%;max-height:100%}.layout-md-column>.flex-md-10,.layout-md-row>.flex-md-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-10{max-width:100%;max-height:10%}.layout-md-row>.flex-10{max-width:10%;max-height:100%}.layout-md-column>.flex-10,.layout-md-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-10{max-width:100%;max-height:10%}.flex-md-15,.layout-row>.flex-md-15{max-width:15%;max-height:100%}.flex-md-15,.layout-column>.flex-md-15,.layout-row>.flex-md-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-15{max-width:100%;max-height:15%}.layout-md-row>.flex-md-15{max-width:15%;max-height:100%}.layout-md-column>.flex-md-15,.layout-md-row>.flex-md-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-15{max-width:100%;max-height:15%}.layout-md-row>.flex-15{max-width:15%;max-height:100%}.layout-md-column>.flex-15,.layout-md-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-15{max-width:100%;max-height:15%}.flex-md-20,.layout-row>.flex-md-20{max-width:20%;max-height:100%}.flex-md-20,.layout-column>.flex-md-20,.layout-row>.flex-md-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-20{max-width:100%;max-height:20%}.layout-md-row>.flex-md-20{max-width:20%;max-height:100%}.layout-md-column>.flex-md-20,.layout-md-row>.flex-md-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-20{max-width:100%;max-height:20%}.layout-md-row>.flex-20{max-width:20%;max-height:100%}.layout-md-column>.flex-20,.layout-md-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-20{max-width:100%;max-height:20%}.flex-md-25,.layout-row>.flex-md-25{max-width:25%;max-height:100%}.flex-md-25,.layout-column>.flex-md-25,.layout-row>.flex-md-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-25{max-width:100%;max-height:25%}.layout-md-row>.flex-md-25{max-width:25%;max-height:100%}.layout-md-column>.flex-md-25,.layout-md-row>.flex-md-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-25{max-width:100%;max-height:25%}.layout-md-row>.flex-25{max-width:25%;max-height:100%}.layout-md-column>.flex-25,.layout-md-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-25{max-width:100%;max-height:25%}.flex-md-30,.layout-row>.flex-md-30{max-width:30%;max-height:100%}.flex-md-30,.layout-column>.flex-md-30,.layout-row>.flex-md-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-30{max-width:100%;max-height:30%}.layout-md-row>.flex-md-30{max-width:30%;max-height:100%}.layout-md-column>.flex-md-30,.layout-md-row>.flex-md-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-30{max-width:100%;max-height:30%}.layout-md-row>.flex-30{max-width:30%;max-height:100%}.layout-md-column>.flex-30,.layout-md-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-30{max-width:100%;max-height:30%}.flex-md-35,.layout-row>.flex-md-35{max-width:35%;max-height:100%}.flex-md-35,.layout-column>.flex-md-35,.layout-row>.flex-md-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-35{max-width:100%;max-height:35%}.layout-md-row>.flex-md-35{max-width:35%;max-height:100%}.layout-md-column>.flex-md-35,.layout-md-row>.flex-md-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-35{max-width:100%;max-height:35%}.layout-md-row>.flex-35{max-width:35%;max-height:100%}.layout-md-column>.flex-35,.layout-md-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-35{max-width:100%;max-height:35%}.flex-md-40,.layout-row>.flex-md-40{max-width:40%;max-height:100%}.flex-md-40,.layout-column>.flex-md-40,.layout-row>.flex-md-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-40{max-width:100%;max-height:40%}.layout-md-row>.flex-md-40{max-width:40%;max-height:100%}.layout-md-column>.flex-md-40,.layout-md-row>.flex-md-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-40{max-width:100%;max-height:40%}.layout-md-row>.flex-40{max-width:40%;max-height:100%}.layout-md-column>.flex-40,.layout-md-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-40{max-width:100%;max-height:40%}.flex-md-45,.layout-row>.flex-md-45{max-width:45%;max-height:100%}.flex-md-45,.layout-column>.flex-md-45,.layout-row>.flex-md-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-45{max-width:100%;max-height:45%}.layout-md-row>.flex-md-45{max-width:45%;max-height:100%}.layout-md-column>.flex-md-45,.layout-md-row>.flex-md-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-45{max-width:100%;max-height:45%}.layout-md-row>.flex-45{max-width:45%;max-height:100%}.layout-md-column>.flex-45,.layout-md-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-45{max-width:100%;max-height:45%}.flex-md-50,.layout-row>.flex-md-50{max-width:50%;max-height:100%}.flex-md-50,.layout-column>.flex-md-50,.layout-row>.flex-md-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-50{max-width:100%;max-height:50%}.layout-md-row>.flex-md-50{max-width:50%;max-height:100%}.layout-md-column>.flex-md-50,.layout-md-row>.flex-md-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-50{max-width:100%;max-height:50%}.layout-md-row>.flex-50{max-width:50%;max-height:100%}.layout-md-column>.flex-50,.layout-md-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-50{max-width:100%;max-height:50%}.flex-md-55,.layout-row>.flex-md-55{max-width:55%;max-height:100%}.flex-md-55,.layout-column>.flex-md-55,.layout-row>.flex-md-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-55{max-width:100%;max-height:55%}.layout-md-row>.flex-md-55{max-width:55%;max-height:100%}.layout-md-column>.flex-md-55,.layout-md-row>.flex-md-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-55{max-width:100%;max-height:55%}.layout-md-row>.flex-55{max-width:55%;max-height:100%}.layout-md-column>.flex-55,.layout-md-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-55{max-width:100%;max-height:55%}.flex-md-60,.layout-row>.flex-md-60{max-width:60%;max-height:100%}.flex-md-60,.layout-column>.flex-md-60,.layout-row>.flex-md-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-60{max-width:100%;max-height:60%}.layout-md-row>.flex-md-60{max-width:60%;max-height:100%}.layout-md-column>.flex-md-60,.layout-md-row>.flex-md-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-60{max-width:100%;max-height:60%}.layout-md-row>.flex-60{max-width:60%;max-height:100%}.layout-md-column>.flex-60,.layout-md-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-60{max-width:100%;max-height:60%}.flex-md-65,.layout-row>.flex-md-65{max-width:65%;max-height:100%}.flex-md-65,.layout-column>.flex-md-65,.layout-row>.flex-md-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-65{max-width:100%;max-height:65%}.layout-md-row>.flex-md-65{max-width:65%;max-height:100%}.layout-md-column>.flex-md-65,.layout-md-row>.flex-md-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-65{max-width:100%;max-height:65%}.layout-md-row>.flex-65{max-width:65%;max-height:100%}.layout-md-column>.flex-65,.layout-md-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-65{max-width:100%;max-height:65%}.flex-md-70,.layout-row>.flex-md-70{max-width:70%;max-height:100%}.flex-md-70,.layout-column>.flex-md-70,.layout-row>.flex-md-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-70{max-width:100%;max-height:70%}.layout-md-row>.flex-md-70{max-width:70%;max-height:100%}.layout-md-column>.flex-md-70,.layout-md-row>.flex-md-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-70{max-width:100%;max-height:70%}.layout-md-row>.flex-70{max-width:70%;max-height:100%}.layout-md-column>.flex-70,.layout-md-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-70{max-width:100%;max-height:70%}.flex-md-75,.layout-row>.flex-md-75{max-width:75%;max-height:100%}.flex-md-75,.layout-column>.flex-md-75,.layout-row>.flex-md-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-75{max-width:100%;max-height:75%}.layout-md-row>.flex-md-75{max-width:75%;max-height:100%}.layout-md-column>.flex-md-75,.layout-md-row>.flex-md-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-75{max-width:100%;max-height:75%}.layout-md-row>.flex-75{max-width:75%;max-height:100%}.layout-md-column>.flex-75,.layout-md-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-75{max-width:100%;max-height:75%}.flex-md-80,.layout-row>.flex-md-80{max-width:80%;max-height:100%}.flex-md-80,.layout-column>.flex-md-80,.layout-row>.flex-md-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-80{max-width:100%;max-height:80%}.layout-md-row>.flex-md-80{max-width:80%;max-height:100%}.layout-md-column>.flex-md-80,.layout-md-row>.flex-md-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-80{max-width:100%;max-height:80%}.layout-md-row>.flex-80{max-width:80%;max-height:100%}.layout-md-column>.flex-80,.layout-md-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-80{max-width:100%;max-height:80%}.flex-md-85,.layout-row>.flex-md-85{max-width:85%;max-height:100%}.flex-md-85,.layout-column>.flex-md-85,.layout-row>.flex-md-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-85{max-width:100%;max-height:85%}.layout-md-row>.flex-md-85{max-width:85%;max-height:100%}.layout-md-column>.flex-md-85,.layout-md-row>.flex-md-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-85{max-width:100%;max-height:85%}.layout-md-row>.flex-85{max-width:85%;max-height:100%}.layout-md-column>.flex-85,.layout-md-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-85{max-width:100%;max-height:85%}.flex-md-90,.layout-row>.flex-md-90{max-width:90%;max-height:100%}.flex-md-90,.layout-column>.flex-md-90,.layout-row>.flex-md-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-90{max-width:100%;max-height:90%}.layout-md-row>.flex-md-90{max-width:90%;max-height:100%}.layout-md-column>.flex-md-90,.layout-md-row>.flex-md-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-90{max-width:100%;max-height:90%}.layout-md-row>.flex-90{max-width:90%;max-height:100%}.layout-md-column>.flex-90,.layout-md-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-90{max-width:100%;max-height:90%}.flex-md-95,.layout-row>.flex-md-95{max-width:95%;max-height:100%}.flex-md-95,.layout-column>.flex-md-95,.layout-row>.flex-md-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-md-95{max-width:100%;max-height:95%}.layout-md-row>.flex-md-95{max-width:95%;max-height:100%}.layout-md-column>.flex-md-95,.layout-md-row>.flex-md-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-md-column>.flex-md-95{max-width:100%;max-height:95%}.layout-md-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-md-column>.flex-95{max-height:95%}.flex-md-100,.layout-md-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-md-100{max-height:100%}.layout-column>.flex-md-100,.layout-md-column>.flex-100,.layout-md-column>.flex-md-100,.layout-md-row>.flex-100,.layout-md-row>.flex-md-100,.layout-row>.flex-md-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-md-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-md-33,.layout-row>.flex-md-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-md-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-md-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-height:33.33%}.layout-column>.flex-md-33,.layout-column>.flex-md-66{-webkit-box-flex:1;max-width:100%;box-sizing:border-box}.layout-column>.flex-md-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-height:66.66%}.layout-md-row>.flex-md-33{max-width:33.33%}.layout-md-row>.flex-md-33,.layout-md-row>.flex-md-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-md-row>.flex-md-66{max-width:66.66%}.layout-md-column>.flex-md-33{max-height:33.33%}.layout-md-column>.flex-md-33,.layout-md-column>.flex-md-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-md-column>.flex-md-66{max-height:66.66%}.layout-md-row>.flex-33{max-width:33.33%}.layout-md-row>.flex-33,.layout-md-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-md-row>.flex-66{max-width:66.66%}.layout-md-row>.flex{min-width:0}.layout-md-column>.flex-33{max-height:33.33%}.layout-md-column>.flex-33,.layout-md-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-md-column>.flex-66{max-height:66.66%}.layout-md-column>.flex{min-height:0}.layout-md,.layout-md-column,.layout-md-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-md-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-md-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:1280px){.flex-order-gt-md--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-gt-md--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-gt-md--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-gt-md--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-gt-md--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-gt-md--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-gt-md--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-gt-md--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-gt-md--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-gt-md--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-gt-md--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-gt-md--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-gt-md--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-gt-md--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-gt-md--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-gt-md--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-gt-md--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-gt-md--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-gt-md--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-gt-md--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-gt-md-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-gt-md-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-gt-md-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-gt-md-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-gt-md-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-gt-md-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-gt-md-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-gt-md-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-gt-md-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-gt-md-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-gt-md-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-gt-md-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-gt-md-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-gt-md-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-gt-md-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-gt-md-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-gt-md-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-gt-md-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-gt-md-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-gt-md-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-gt-md-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-gt-md-0,.offset-gt-md-0{margin-left:0}[dir=rtl] .flex-offset-gt-md-0,[dir=rtl] .offset-gt-md-0{margin-left:auto;margin-right:0}.flex-offset-gt-md-5,.offset-gt-md-5{margin-left:5%}[dir=rtl] .flex-offset-gt-md-5,[dir=rtl] .offset-gt-md-5{margin-left:auto;margin-right:5%}.flex-offset-gt-md-10,.offset-gt-md-10{margin-left:10%}[dir=rtl] .flex-offset-gt-md-10,[dir=rtl] .offset-gt-md-10{margin-left:auto;margin-right:10%}.flex-offset-gt-md-15,.offset-gt-md-15{margin-left:15%}[dir=rtl] .flex-offset-gt-md-15,[dir=rtl] .offset-gt-md-15{margin-left:auto;margin-right:15%}.flex-offset-gt-md-20,.offset-gt-md-20{margin-left:20%}[dir=rtl] .flex-offset-gt-md-20,[dir=rtl] .offset-gt-md-20{margin-left:auto;margin-right:20%}.flex-offset-gt-md-25,.offset-gt-md-25{margin-left:25%}[dir=rtl] .flex-offset-gt-md-25,[dir=rtl] .offset-gt-md-25{margin-left:auto;margin-right:25%}.flex-offset-gt-md-30,.offset-gt-md-30{margin-left:30%}[dir=rtl] .flex-offset-gt-md-30,[dir=rtl] .offset-gt-md-30{margin-left:auto;margin-right:30%}.flex-offset-gt-md-35,.offset-gt-md-35{margin-left:35%}[dir=rtl] .flex-offset-gt-md-35,[dir=rtl] .offset-gt-md-35{margin-left:auto;margin-right:35%}.flex-offset-gt-md-40,.offset-gt-md-40{margin-left:40%}[dir=rtl] .flex-offset-gt-md-40,[dir=rtl] .offset-gt-md-40{margin-left:auto;margin-right:40%}.flex-offset-gt-md-45,.offset-gt-md-45{margin-left:45%}[dir=rtl] .flex-offset-gt-md-45,[dir=rtl] .offset-gt-md-45{margin-left:auto;margin-right:45%}.flex-offset-gt-md-50,.offset-gt-md-50{margin-left:50%}[dir=rtl] .flex-offset-gt-md-50,[dir=rtl] .offset-gt-md-50{margin-left:auto;margin-right:50%}.flex-offset-gt-md-55,.offset-gt-md-55{margin-left:55%}[dir=rtl] .flex-offset-gt-md-55,[dir=rtl] .offset-gt-md-55{margin-left:auto;margin-right:55%}.flex-offset-gt-md-60,.offset-gt-md-60{margin-left:60%}[dir=rtl] .flex-offset-gt-md-60,[dir=rtl] .offset-gt-md-60{margin-left:auto;margin-right:60%}.flex-offset-gt-md-65,.offset-gt-md-65{margin-left:65%}[dir=rtl] .flex-offset-gt-md-65,[dir=rtl] .offset-gt-md-65{margin-left:auto;margin-right:65%}.flex-offset-gt-md-70,.offset-gt-md-70{margin-left:70%}[dir=rtl] .flex-offset-gt-md-70,[dir=rtl] .offset-gt-md-70{margin-left:auto;margin-right:70%}.flex-offset-gt-md-75,.offset-gt-md-75{margin-left:75%}[dir=rtl] .flex-offset-gt-md-75,[dir=rtl] .offset-gt-md-75{margin-left:auto;margin-right:75%}.flex-offset-gt-md-80,.offset-gt-md-80{margin-left:80%}[dir=rtl] .flex-offset-gt-md-80,[dir=rtl] .offset-gt-md-80{margin-left:auto;margin-right:80%}.flex-offset-gt-md-85,.offset-gt-md-85{margin-left:85%}[dir=rtl] .flex-offset-gt-md-85,[dir=rtl] .offset-gt-md-85{margin-left:auto;margin-right:85%}.flex-offset-gt-md-90,.offset-gt-md-90{margin-left:90%}[dir=rtl] .flex-offset-gt-md-90,[dir=rtl] .offset-gt-md-90{margin-left:auto;margin-right:90%}.flex-offset-gt-md-95,.offset-gt-md-95{margin-left:95%}[dir=rtl] .flex-offset-gt-md-95,[dir=rtl] .offset-gt-md-95{margin-left:auto;margin-right:95%}.flex-offset-gt-md-33,.offset-gt-md-33{margin-left:33.33333%}.flex-offset-gt-md-66,.offset-gt-md-66{margin-left:66.66667%}[dir=rtl] .flex-offset-gt-md-66,[dir=rtl] .offset-gt-md-66{margin-left:auto;margin-right:66.66667%}.layout-align-gt-md,.layout-align-gt-md-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align-gt-md,.layout-align-gt-md-start,.layout-align-gt-md-start-center,.layout-align-gt-md-start-end,.layout-align-gt-md-start-start,.layout-align-gt-md-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-gt-md-center,.layout-align-gt-md-center-center,.layout-align-gt-md-center-end,.layout-align-gt-md-center-start,.layout-align-gt-md-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-gt-md-end,.layout-align-gt-md-end-center,.layout-align-gt-md-end-end,.layout-align-gt-md-end-start,.layout-align-gt-md-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-gt-md-space-around,.layout-align-gt-md-space-around-center,.layout-align-gt-md-space-around-end,.layout-align-gt-md-space-around-start,.layout-align-gt-md-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-gt-md-space-between,.layout-align-gt-md-space-between-center,.layout-align-gt-md-space-between-end,.layout-align-gt-md-space-between-start,.layout-align-gt-md-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-gt-md-center-start,.layout-align-gt-md-end-start,.layout-align-gt-md-space-around-start,.layout-align-gt-md-space-between-start,.layout-align-gt-md-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-gt-md-center-center,.layout-align-gt-md-end-center,.layout-align-gt-md-space-around-center,.layout-align-gt-md-space-between-center,.layout-align-gt-md-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-gt-md-center-center>*,.layout-align-gt-md-end-center>*,.layout-align-gt-md-space-around-center>*,.layout-align-gt-md-space-between-center>*,.layout-align-gt-md-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-gt-md-center-end,.layout-align-gt-md-end-end,.layout-align-gt-md-space-around-end,.layout-align-gt-md-space-between-end,.layout-align-gt-md-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-gt-md-center-stretch,.layout-align-gt-md-end-stretch,.layout-align-gt-md-space-around-stretch,.layout-align-gt-md-space-between-stretch,.layout-align-gt-md-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-gt-md{-webkit-flex:1;flex:1}.flex-gt-md,.flex-gt-md-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-gt-md-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-gt-md-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-md-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-gt-md-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-gt-md-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-gt-md-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-md-0,.layout-row>.flex-gt-md-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-md-0{min-width:0}.layout-column>.flex-gt-md-0{max-width:100%;max-height:0%}.layout-column>.flex-gt-md-0,.layout-gt-md-row>.flex-gt-md-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-0{max-width:0;max-height:100%;min-width:0}.layout-gt-md-column>.flex-gt-md-0{max-width:100%;max-height:0%;min-height:0}.layout-gt-md-column>.flex-gt-md-0,.layout-gt-md-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-row>.flex-0{max-width:0;max-height:100%;min-width:0}.layout-gt-md-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-gt-md-5,.layout-row>.flex-gt-md-5{max-width:5%;max-height:100%}.flex-gt-md-5,.layout-column>.flex-gt-md-5,.layout-row>.flex-gt-md-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-5{max-width:100%;max-height:5%}.layout-gt-md-row>.flex-gt-md-5{max-width:5%;max-height:100%}.layout-gt-md-column>.flex-gt-md-5,.layout-gt-md-row>.flex-gt-md-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-5{max-width:100%;max-height:5%}.layout-gt-md-row>.flex-5{max-width:5%;max-height:100%}.layout-gt-md-column>.flex-5,.layout-gt-md-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-5{max-width:100%;max-height:5%}.flex-gt-md-10,.layout-row>.flex-gt-md-10{max-width:10%;max-height:100%}.flex-gt-md-10,.layout-column>.flex-gt-md-10,.layout-row>.flex-gt-md-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-10{max-width:100%;max-height:10%}.layout-gt-md-row>.flex-gt-md-10{max-width:10%;max-height:100%}.layout-gt-md-column>.flex-gt-md-10,.layout-gt-md-row>.flex-gt-md-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-10{max-width:100%;max-height:10%}.layout-gt-md-row>.flex-10{max-width:10%;max-height:100%}.layout-gt-md-column>.flex-10,.layout-gt-md-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-10{max-width:100%;max-height:10%}.flex-gt-md-15,.layout-row>.flex-gt-md-15{max-width:15%;max-height:100%}.flex-gt-md-15,.layout-column>.flex-gt-md-15,.layout-row>.flex-gt-md-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-15{max-width:100%;max-height:15%}.layout-gt-md-row>.flex-gt-md-15{max-width:15%;max-height:100%}.layout-gt-md-column>.flex-gt-md-15,.layout-gt-md-row>.flex-gt-md-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-15{max-width:100%;max-height:15%}.layout-gt-md-row>.flex-15{max-width:15%;max-height:100%}.layout-gt-md-column>.flex-15,.layout-gt-md-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-15{max-width:100%;max-height:15%}.flex-gt-md-20,.layout-row>.flex-gt-md-20{max-width:20%;max-height:100%}.flex-gt-md-20,.layout-column>.flex-gt-md-20,.layout-row>.flex-gt-md-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-20{max-width:100%;max-height:20%}.layout-gt-md-row>.flex-gt-md-20{max-width:20%;max-height:100%}.layout-gt-md-column>.flex-gt-md-20,.layout-gt-md-row>.flex-gt-md-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-20{max-width:100%;max-height:20%}.layout-gt-md-row>.flex-20{max-width:20%;max-height:100%}.layout-gt-md-column>.flex-20,.layout-gt-md-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-20{max-width:100%;max-height:20%}.flex-gt-md-25,.layout-row>.flex-gt-md-25{max-width:25%;max-height:100%}.flex-gt-md-25,.layout-column>.flex-gt-md-25,.layout-row>.flex-gt-md-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-25{max-width:100%;max-height:25%}.layout-gt-md-row>.flex-gt-md-25{max-width:25%;max-height:100%}.layout-gt-md-column>.flex-gt-md-25,.layout-gt-md-row>.flex-gt-md-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-25{max-width:100%;max-height:25%}.layout-gt-md-row>.flex-25{max-width:25%;max-height:100%}.layout-gt-md-column>.flex-25,.layout-gt-md-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-25{max-width:100%;max-height:25%}.flex-gt-md-30,.layout-row>.flex-gt-md-30{max-width:30%;max-height:100%}.flex-gt-md-30,.layout-column>.flex-gt-md-30,.layout-row>.flex-gt-md-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-30{max-width:100%;max-height:30%}.layout-gt-md-row>.flex-gt-md-30{max-width:30%;max-height:100%}.layout-gt-md-column>.flex-gt-md-30,.layout-gt-md-row>.flex-gt-md-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-30{max-width:100%;max-height:30%}.layout-gt-md-row>.flex-30{max-width:30%;max-height:100%}.layout-gt-md-column>.flex-30,.layout-gt-md-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-30{max-width:100%;max-height:30%}.flex-gt-md-35,.layout-row>.flex-gt-md-35{max-width:35%;max-height:100%}.flex-gt-md-35,.layout-column>.flex-gt-md-35,.layout-row>.flex-gt-md-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-35{max-width:100%;max-height:35%}.layout-gt-md-row>.flex-gt-md-35{max-width:35%;max-height:100%}.layout-gt-md-column>.flex-gt-md-35,.layout-gt-md-row>.flex-gt-md-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-35{max-width:100%;max-height:35%}.layout-gt-md-row>.flex-35{max-width:35%;max-height:100%}.layout-gt-md-column>.flex-35,.layout-gt-md-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-35{max-width:100%;max-height:35%}.flex-gt-md-40,.layout-row>.flex-gt-md-40{max-width:40%;max-height:100%}.flex-gt-md-40,.layout-column>.flex-gt-md-40,.layout-row>.flex-gt-md-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-40{max-width:100%;max-height:40%}.layout-gt-md-row>.flex-gt-md-40{max-width:40%;max-height:100%}.layout-gt-md-column>.flex-gt-md-40,.layout-gt-md-row>.flex-gt-md-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-40{max-width:100%;max-height:40%}.layout-gt-md-row>.flex-40{max-width:40%;max-height:100%}.layout-gt-md-column>.flex-40,.layout-gt-md-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-40{max-width:100%;max-height:40%}.flex-gt-md-45,.layout-row>.flex-gt-md-45{max-width:45%;max-height:100%}.flex-gt-md-45,.layout-column>.flex-gt-md-45,.layout-row>.flex-gt-md-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-45{max-width:100%;max-height:45%}.layout-gt-md-row>.flex-gt-md-45{max-width:45%;max-height:100%}.layout-gt-md-column>.flex-gt-md-45,.layout-gt-md-row>.flex-gt-md-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-45{max-width:100%;max-height:45%}.layout-gt-md-row>.flex-45{max-width:45%;max-height:100%}.layout-gt-md-column>.flex-45,.layout-gt-md-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-45{max-width:100%;max-height:45%}.flex-gt-md-50,.layout-row>.flex-gt-md-50{max-width:50%;max-height:100%}.flex-gt-md-50,.layout-column>.flex-gt-md-50,.layout-row>.flex-gt-md-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-50{max-width:100%;max-height:50%}.layout-gt-md-row>.flex-gt-md-50{max-width:50%;max-height:100%}.layout-gt-md-column>.flex-gt-md-50,.layout-gt-md-row>.flex-gt-md-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-50{max-width:100%;max-height:50%}.layout-gt-md-row>.flex-50{max-width:50%;max-height:100%}.layout-gt-md-column>.flex-50,.layout-gt-md-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-50{max-width:100%;max-height:50%}.flex-gt-md-55,.layout-row>.flex-gt-md-55{max-width:55%;max-height:100%}.flex-gt-md-55,.layout-column>.flex-gt-md-55,.layout-row>.flex-gt-md-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-55{max-width:100%;max-height:55%}.layout-gt-md-row>.flex-gt-md-55{max-width:55%;max-height:100%}.layout-gt-md-column>.flex-gt-md-55,.layout-gt-md-row>.flex-gt-md-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-55{max-width:100%;max-height:55%}.layout-gt-md-row>.flex-55{max-width:55%;max-height:100%}.layout-gt-md-column>.flex-55,.layout-gt-md-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-55{max-width:100%;max-height:55%}.flex-gt-md-60,.layout-row>.flex-gt-md-60{max-width:60%;max-height:100%}.flex-gt-md-60,.layout-column>.flex-gt-md-60,.layout-row>.flex-gt-md-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-60{max-width:100%;max-height:60%}.layout-gt-md-row>.flex-gt-md-60{max-width:60%;max-height:100%}.layout-gt-md-column>.flex-gt-md-60,.layout-gt-md-row>.flex-gt-md-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-60{max-width:100%;max-height:60%}.layout-gt-md-row>.flex-60{max-width:60%;max-height:100%}.layout-gt-md-column>.flex-60,.layout-gt-md-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-60{max-width:100%;max-height:60%}.flex-gt-md-65,.layout-row>.flex-gt-md-65{max-width:65%;max-height:100%}.flex-gt-md-65,.layout-column>.flex-gt-md-65,.layout-row>.flex-gt-md-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-65{max-width:100%;max-height:65%}.layout-gt-md-row>.flex-gt-md-65{max-width:65%;max-height:100%}.layout-gt-md-column>.flex-gt-md-65,.layout-gt-md-row>.flex-gt-md-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-65{max-width:100%;max-height:65%}.layout-gt-md-row>.flex-65{max-width:65%;max-height:100%}.layout-gt-md-column>.flex-65,.layout-gt-md-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-65{max-width:100%;max-height:65%}.flex-gt-md-70,.layout-row>.flex-gt-md-70{max-width:70%;max-height:100%}.flex-gt-md-70,.layout-column>.flex-gt-md-70,.layout-row>.flex-gt-md-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-70{max-width:100%;max-height:70%}.layout-gt-md-row>.flex-gt-md-70{max-width:70%;max-height:100%}.layout-gt-md-column>.flex-gt-md-70,.layout-gt-md-row>.flex-gt-md-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-70{max-width:100%;max-height:70%}.layout-gt-md-row>.flex-70{max-width:70%;max-height:100%}.layout-gt-md-column>.flex-70,.layout-gt-md-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-70{max-width:100%;max-height:70%}.flex-gt-md-75,.layout-row>.flex-gt-md-75{max-width:75%;max-height:100%}.flex-gt-md-75,.layout-column>.flex-gt-md-75,.layout-row>.flex-gt-md-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-75{max-width:100%;max-height:75%}.layout-gt-md-row>.flex-gt-md-75{max-width:75%;max-height:100%}.layout-gt-md-column>.flex-gt-md-75,.layout-gt-md-row>.flex-gt-md-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-75{max-width:100%;max-height:75%}.layout-gt-md-row>.flex-75{max-width:75%;max-height:100%}.layout-gt-md-column>.flex-75,.layout-gt-md-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-75{max-width:100%;max-height:75%}.flex-gt-md-80,.layout-row>.flex-gt-md-80{max-width:80%;max-height:100%}.flex-gt-md-80,.layout-column>.flex-gt-md-80,.layout-row>.flex-gt-md-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-80{max-width:100%;max-height:80%}.layout-gt-md-row>.flex-gt-md-80{max-width:80%;max-height:100%}.layout-gt-md-column>.flex-gt-md-80,.layout-gt-md-row>.flex-gt-md-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-80{max-width:100%;max-height:80%}.layout-gt-md-row>.flex-80{max-width:80%;max-height:100%}.layout-gt-md-column>.flex-80,.layout-gt-md-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-80{max-width:100%;max-height:80%}.flex-gt-md-85,.layout-row>.flex-gt-md-85{max-width:85%;max-height:100%}.flex-gt-md-85,.layout-column>.flex-gt-md-85,.layout-row>.flex-gt-md-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-85{max-width:100%;max-height:85%}.layout-gt-md-row>.flex-gt-md-85{max-width:85%;max-height:100%}.layout-gt-md-column>.flex-gt-md-85,.layout-gt-md-row>.flex-gt-md-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-85{max-width:100%;max-height:85%}.layout-gt-md-row>.flex-85{max-width:85%;max-height:100%}.layout-gt-md-column>.flex-85,.layout-gt-md-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-85{max-width:100%;max-height:85%}.flex-gt-md-90,.layout-row>.flex-gt-md-90{max-width:90%;max-height:100%}.flex-gt-md-90,.layout-column>.flex-gt-md-90,.layout-row>.flex-gt-md-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-90{max-width:100%;max-height:90%}.layout-gt-md-row>.flex-gt-md-90{max-width:90%;max-height:100%}.layout-gt-md-column>.flex-gt-md-90,.layout-gt-md-row>.flex-gt-md-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-90{max-width:100%;max-height:90%}.layout-gt-md-row>.flex-90{max-width:90%;max-height:100%}.layout-gt-md-column>.flex-90,.layout-gt-md-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-90{max-width:100%;max-height:90%}.flex-gt-md-95,.layout-row>.flex-gt-md-95{max-width:95%;max-height:100%}.flex-gt-md-95,.layout-column>.flex-gt-md-95,.layout-row>.flex-gt-md-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-md-95{max-width:100%;max-height:95%}.layout-gt-md-row>.flex-gt-md-95{max-width:95%;max-height:100%}.layout-gt-md-column>.flex-gt-md-95,.layout-gt-md-row>.flex-gt-md-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-95{max-width:100%;max-height:95%}.layout-gt-md-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-gt-md-column>.flex-95{max-height:95%}.flex-gt-md-100,.layout-gt-md-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-gt-md-100{max-height:100%}.layout-column>.flex-gt-md-100,.layout-gt-md-column>.flex-100,.layout-gt-md-column>.flex-gt-md-100,.layout-gt-md-row>.flex-100,.layout-gt-md-row>.flex-gt-md-100,.layout-row>.flex-gt-md-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-md-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-gt-md-33,.layout-row>.flex-gt-md-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-md-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-gt-md-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-gt-md-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-33{max-width:33.33%}.layout-gt-md-row>.flex-gt-md-33,.layout-gt-md-row>.flex-gt-md-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-gt-md-row>.flex-gt-md-66{max-width:66.66%}.layout-gt-md-column>.flex-gt-md-33{max-height:33.33%}.layout-gt-md-column>.flex-gt-md-33,.layout-gt-md-column>.flex-gt-md-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-gt-md-column>.flex-gt-md-66{max-height:66.66%}.layout-gt-md-row>.flex-33{max-width:33.33%}.layout-gt-md-row>.flex-33,.layout-gt-md-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-gt-md-row>.flex-66{max-width:66.66%}.layout-gt-md-row>.flex{min-width:0}.layout-gt-md-column>.flex-33{max-height:33.33%}.layout-gt-md-column>.flex-33,.layout-gt-md-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-gt-md-column>.flex-66{max-height:66.66%}.layout-gt-md-column>.flex{min-height:0}.layout-gt-md,.layout-gt-md-column,.layout-gt-md-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-gt-md-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-gt-md-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:1280px) and (max-width:1919px){.hide-gt-md:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show),.hide-gt-sm:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show),.hide-gt-xs:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show),.hide-lg:not(.show-lg):not(.show-gt-md):not(.show-gt-sm):not(.show-gt-xs):not(.show),.hide:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-lg):not(.show){display:none}.flex-order-lg--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-lg--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-lg--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-lg--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-lg--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-lg--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-lg--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-lg--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-lg--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-lg--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-lg--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-lg--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-lg--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-lg--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-lg--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-lg--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-lg--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-lg--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-lg--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-lg--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-lg-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-lg-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-lg-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-lg-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-lg-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-lg-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-lg-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-lg-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-lg-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-lg-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-lg-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-lg-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-lg-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-lg-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-lg-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-lg-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-lg-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-lg-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-lg-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-lg-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-lg-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-lg-0,.offset-lg-0{margin-left:0}[dir=rtl] .flex-offset-lg-0,[dir=rtl] .offset-lg-0{margin-left:auto;margin-right:0}.flex-offset-lg-5,.offset-lg-5{margin-left:5%}[dir=rtl] .flex-offset-lg-5,[dir=rtl] .offset-lg-5{margin-left:auto;margin-right:5%}.flex-offset-lg-10,.offset-lg-10{margin-left:10%}[dir=rtl] .flex-offset-lg-10,[dir=rtl] .offset-lg-10{margin-left:auto;margin-right:10%}.flex-offset-lg-15,.offset-lg-15{margin-left:15%}[dir=rtl] .flex-offset-lg-15,[dir=rtl] .offset-lg-15{margin-left:auto;margin-right:15%}.flex-offset-lg-20,.offset-lg-20{margin-left:20%}[dir=rtl] .flex-offset-lg-20,[dir=rtl] .offset-lg-20{margin-left:auto;margin-right:20%}.flex-offset-lg-25,.offset-lg-25{margin-left:25%}[dir=rtl] .flex-offset-lg-25,[dir=rtl] .offset-lg-25{margin-left:auto;margin-right:25%}.flex-offset-lg-30,.offset-lg-30{margin-left:30%}[dir=rtl] .flex-offset-lg-30,[dir=rtl] .offset-lg-30{margin-left:auto;margin-right:30%}.flex-offset-lg-35,.offset-lg-35{margin-left:35%}[dir=rtl] .flex-offset-lg-35,[dir=rtl] .offset-lg-35{margin-left:auto;margin-right:35%}.flex-offset-lg-40,.offset-lg-40{margin-left:40%}[dir=rtl] .flex-offset-lg-40,[dir=rtl] .offset-lg-40{margin-left:auto;margin-right:40%}.flex-offset-lg-45,.offset-lg-45{margin-left:45%}[dir=rtl] .flex-offset-lg-45,[dir=rtl] .offset-lg-45{margin-left:auto;margin-right:45%}.flex-offset-lg-50,.offset-lg-50{margin-left:50%}[dir=rtl] .flex-offset-lg-50,[dir=rtl] .offset-lg-50{margin-left:auto;margin-right:50%}.flex-offset-lg-55,.offset-lg-55{margin-left:55%}[dir=rtl] .flex-offset-lg-55,[dir=rtl] .offset-lg-55{margin-left:auto;margin-right:55%}.flex-offset-lg-60,.offset-lg-60{margin-left:60%}[dir=rtl] .flex-offset-lg-60,[dir=rtl] .offset-lg-60{margin-left:auto;margin-right:60%}.flex-offset-lg-65,.offset-lg-65{margin-left:65%}[dir=rtl] .flex-offset-lg-65,[dir=rtl] .offset-lg-65{margin-left:auto;margin-right:65%}.flex-offset-lg-70,.offset-lg-70{margin-left:70%}[dir=rtl] .flex-offset-lg-70,[dir=rtl] .offset-lg-70{margin-left:auto;margin-right:70%}.flex-offset-lg-75,.offset-lg-75{margin-left:75%}[dir=rtl] .flex-offset-lg-75,[dir=rtl] .offset-lg-75{margin-left:auto;margin-right:75%}.flex-offset-lg-80,.offset-lg-80{margin-left:80%}[dir=rtl] .flex-offset-lg-80,[dir=rtl] .offset-lg-80{margin-left:auto;margin-right:80%}.flex-offset-lg-85,.offset-lg-85{margin-left:85%}[dir=rtl] .flex-offset-lg-85,[dir=rtl] .offset-lg-85{margin-left:auto;margin-right:85%}.flex-offset-lg-90,.offset-lg-90{margin-left:90%}[dir=rtl] .flex-offset-lg-90,[dir=rtl] .offset-lg-90{margin-left:auto;margin-right:90%}.flex-offset-lg-95,.offset-lg-95{margin-left:95%}[dir=rtl] .flex-offset-lg-95,[dir=rtl] .offset-lg-95{margin-left:auto;margin-right:95%}.flex-offset-lg-33,.offset-lg-33{margin-left:33.33333%}.flex-offset-lg-66,.offset-lg-66{margin-left:66.66667%}[dir=rtl] .flex-offset-lg-66,[dir=rtl] .offset-lg-66{margin-left:auto;margin-right:66.66667%}.layout-align-lg,.layout-align-lg-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align-lg,.layout-align-lg-start,.layout-align-lg-start-center,.layout-align-lg-start-end,.layout-align-lg-start-start,.layout-align-lg-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-lg-center,.layout-align-lg-center-center,.layout-align-lg-center-end,.layout-align-lg-center-start,.layout-align-lg-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-lg-end,.layout-align-lg-end-center,.layout-align-lg-end-end,.layout-align-lg-end-start,.layout-align-lg-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-lg-space-around,.layout-align-lg-space-around-center,.layout-align-lg-space-around-end,.layout-align-lg-space-around-start,.layout-align-lg-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-lg-space-between,.layout-align-lg-space-between-center,.layout-align-lg-space-between-end,.layout-align-lg-space-between-start,.layout-align-lg-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-lg-center-start,.layout-align-lg-end-start,.layout-align-lg-space-around-start,.layout-align-lg-space-between-start,.layout-align-lg-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-lg-center-center,.layout-align-lg-end-center,.layout-align-lg-space-around-center,.layout-align-lg-space-between-center,.layout-align-lg-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-lg-center-center>*,.layout-align-lg-end-center>*,.layout-align-lg-space-around-center>*,.layout-align-lg-space-between-center>*,.layout-align-lg-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-lg-center-end,.layout-align-lg-end-end,.layout-align-lg-space-around-end,.layout-align-lg-space-between-end,.layout-align-lg-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-lg-center-stretch,.layout-align-lg-end-stretch,.layout-align-lg-space-around-stretch,.layout-align-lg-space-between-stretch,.layout-align-lg-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-lg{-webkit-flex:1;flex:1}.flex-lg,.flex-lg-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-lg-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-lg-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-lg-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-lg-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-lg-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-lg-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-lg-0,.layout-row>.flex-lg-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-lg-0{min-width:0}.layout-column>.flex-lg-0{max-width:100%;max-height:0%}.layout-column>.flex-lg-0,.layout-lg-row>.flex-lg-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-row>.flex-lg-0{max-width:0;max-height:100%;min-width:0}.layout-lg-column>.flex-lg-0{max-width:100%;max-height:0%;min-height:0}.layout-lg-column>.flex-lg-0,.layout-lg-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-row>.flex-0{max-width:0;max-height:100%;min-width:0}.layout-lg-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-lg-5,.layout-row>.flex-lg-5{max-width:5%;max-height:100%}.flex-lg-5,.layout-column>.flex-lg-5,.layout-row>.flex-lg-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-5{max-width:100%;max-height:5%}.layout-lg-row>.flex-lg-5{max-width:5%;max-height:100%}.layout-lg-column>.flex-lg-5,.layout-lg-row>.flex-lg-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-5{max-width:100%;max-height:5%}.layout-lg-row>.flex-5{max-width:5%;max-height:100%}.layout-lg-column>.flex-5,.layout-lg-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-5{max-width:100%;max-height:5%}.flex-lg-10,.layout-row>.flex-lg-10{max-width:10%;max-height:100%}.flex-lg-10,.layout-column>.flex-lg-10,.layout-row>.flex-lg-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-10{max-width:100%;max-height:10%}.layout-lg-row>.flex-lg-10{max-width:10%;max-height:100%}.layout-lg-column>.flex-lg-10,.layout-lg-row>.flex-lg-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-10{max-width:100%;max-height:10%}.layout-lg-row>.flex-10{max-width:10%;max-height:100%}.layout-lg-column>.flex-10,.layout-lg-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-10{max-width:100%;max-height:10%}.flex-lg-15,.layout-row>.flex-lg-15{max-width:15%;max-height:100%}.flex-lg-15,.layout-column>.flex-lg-15,.layout-row>.flex-lg-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-15{max-width:100%;max-height:15%}.layout-lg-row>.flex-lg-15{max-width:15%;max-height:100%}.layout-lg-column>.flex-lg-15,.layout-lg-row>.flex-lg-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-15{max-width:100%;max-height:15%}.layout-lg-row>.flex-15{max-width:15%;max-height:100%}.layout-lg-column>.flex-15,.layout-lg-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-15{max-width:100%;max-height:15%}.flex-lg-20,.layout-row>.flex-lg-20{max-width:20%;max-height:100%}.flex-lg-20,.layout-column>.flex-lg-20,.layout-row>.flex-lg-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-20{max-width:100%;max-height:20%}.layout-lg-row>.flex-lg-20{max-width:20%;max-height:100%}.layout-lg-column>.flex-lg-20,.layout-lg-row>.flex-lg-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-20{max-width:100%;max-height:20%}.layout-lg-row>.flex-20{max-width:20%;max-height:100%}.layout-lg-column>.flex-20,.layout-lg-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-20{max-width:100%;max-height:20%}.flex-lg-25,.layout-row>.flex-lg-25{max-width:25%;max-height:100%}.flex-lg-25,.layout-column>.flex-lg-25,.layout-row>.flex-lg-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-25{max-width:100%;max-height:25%}.layout-lg-row>.flex-lg-25{max-width:25%;max-height:100%}.layout-lg-column>.flex-lg-25,.layout-lg-row>.flex-lg-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-25{max-width:100%;max-height:25%}.layout-lg-row>.flex-25{max-width:25%;max-height:100%}.layout-lg-column>.flex-25,.layout-lg-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-25{max-width:100%;max-height:25%}.flex-lg-30,.layout-row>.flex-lg-30{max-width:30%;max-height:100%}.flex-lg-30,.layout-column>.flex-lg-30,.layout-row>.flex-lg-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-30{max-width:100%;max-height:30%}.layout-lg-row>.flex-lg-30{max-width:30%;max-height:100%}.layout-lg-column>.flex-lg-30,.layout-lg-row>.flex-lg-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-30{max-width:100%;max-height:30%}.layout-lg-row>.flex-30{max-width:30%;max-height:100%}.layout-lg-column>.flex-30,.layout-lg-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-30{max-width:100%;max-height:30%}.flex-lg-35,.layout-row>.flex-lg-35{max-width:35%;max-height:100%}.flex-lg-35,.layout-column>.flex-lg-35,.layout-row>.flex-lg-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-35{max-width:100%;max-height:35%}.layout-lg-row>.flex-lg-35{max-width:35%;max-height:100%}.layout-lg-column>.flex-lg-35,.layout-lg-row>.flex-lg-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-35{max-width:100%;max-height:35%}.layout-lg-row>.flex-35{max-width:35%;max-height:100%}.layout-lg-column>.flex-35,.layout-lg-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-35{max-width:100%;max-height:35%}.flex-lg-40,.layout-row>.flex-lg-40{max-width:40%;max-height:100%}.flex-lg-40,.layout-column>.flex-lg-40,.layout-row>.flex-lg-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-40{max-width:100%;max-height:40%}.layout-lg-row>.flex-lg-40{max-width:40%;max-height:100%}.layout-lg-column>.flex-lg-40,.layout-lg-row>.flex-lg-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-40{max-width:100%;max-height:40%}.layout-lg-row>.flex-40{max-width:40%;max-height:100%}.layout-lg-column>.flex-40,.layout-lg-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-40{max-width:100%;max-height:40%}.flex-lg-45,.layout-row>.flex-lg-45{max-width:45%;max-height:100%}.flex-lg-45,.layout-column>.flex-lg-45,.layout-row>.flex-lg-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-45{max-width:100%;max-height:45%}.layout-lg-row>.flex-lg-45{max-width:45%;max-height:100%}.layout-lg-column>.flex-lg-45,.layout-lg-row>.flex-lg-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-45{max-width:100%;max-height:45%}.layout-lg-row>.flex-45{max-width:45%;max-height:100%}.layout-lg-column>.flex-45,.layout-lg-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-45{max-width:100%;max-height:45%}.flex-lg-50,.layout-row>.flex-lg-50{max-width:50%;max-height:100%}.flex-lg-50,.layout-column>.flex-lg-50,.layout-row>.flex-lg-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-50{max-width:100%;max-height:50%}.layout-lg-row>.flex-lg-50{max-width:50%;max-height:100%}.layout-lg-column>.flex-lg-50,.layout-lg-row>.flex-lg-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-50{max-width:100%;max-height:50%}.layout-lg-row>.flex-50{max-width:50%;max-height:100%}.layout-lg-column>.flex-50,.layout-lg-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-50{max-width:100%;max-height:50%}.flex-lg-55,.layout-row>.flex-lg-55{max-width:55%;max-height:100%}.flex-lg-55,.layout-column>.flex-lg-55,.layout-row>.flex-lg-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-55{max-width:100%;max-height:55%}.layout-lg-row>.flex-lg-55{max-width:55%;max-height:100%}.layout-lg-column>.flex-lg-55,.layout-lg-row>.flex-lg-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-55{max-width:100%;max-height:55%}.layout-lg-row>.flex-55{max-width:55%;max-height:100%}.layout-lg-column>.flex-55,.layout-lg-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-55{max-width:100%;max-height:55%}.flex-lg-60,.layout-row>.flex-lg-60{max-width:60%;max-height:100%}.flex-lg-60,.layout-column>.flex-lg-60,.layout-row>.flex-lg-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-60{max-width:100%;max-height:60%}.layout-lg-row>.flex-lg-60{max-width:60%;max-height:100%}.layout-lg-column>.flex-lg-60,.layout-lg-row>.flex-lg-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-60{max-width:100%;max-height:60%}.layout-lg-row>.flex-60{max-width:60%;max-height:100%}.layout-lg-column>.flex-60,.layout-lg-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-60{max-width:100%;max-height:60%}.flex-lg-65,.layout-row>.flex-lg-65{max-width:65%;max-height:100%}.flex-lg-65,.layout-column>.flex-lg-65,.layout-row>.flex-lg-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-65{max-width:100%;max-height:65%}.layout-lg-row>.flex-lg-65{max-width:65%;max-height:100%}.layout-lg-column>.flex-lg-65,.layout-lg-row>.flex-lg-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-65{max-width:100%;max-height:65%}.layout-lg-row>.flex-65{max-width:65%;max-height:100%}.layout-lg-column>.flex-65,.layout-lg-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-65{max-width:100%;max-height:65%}.flex-lg-70,.layout-row>.flex-lg-70{max-width:70%;max-height:100%}.flex-lg-70,.layout-column>.flex-lg-70,.layout-row>.flex-lg-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-70{max-width:100%;max-height:70%}.layout-lg-row>.flex-lg-70{max-width:70%;max-height:100%}.layout-lg-column>.flex-lg-70,.layout-lg-row>.flex-lg-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-70{max-width:100%;max-height:70%}.layout-lg-row>.flex-70{max-width:70%;max-height:100%}.layout-lg-column>.flex-70,.layout-lg-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-70{max-width:100%;max-height:70%}.flex-lg-75,.layout-row>.flex-lg-75{max-width:75%;max-height:100%}.flex-lg-75,.layout-column>.flex-lg-75,.layout-row>.flex-lg-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-75{max-width:100%;max-height:75%}.layout-lg-row>.flex-lg-75{max-width:75%;max-height:100%}.layout-lg-column>.flex-lg-75,.layout-lg-row>.flex-lg-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-75{max-width:100%;max-height:75%}.layout-lg-row>.flex-75{max-width:75%;max-height:100%}.layout-lg-column>.flex-75,.layout-lg-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-75{max-width:100%;max-height:75%}.flex-lg-80,.layout-row>.flex-lg-80{max-width:80%;max-height:100%}.flex-lg-80,.layout-column>.flex-lg-80,.layout-row>.flex-lg-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-80{max-width:100%;max-height:80%}.layout-lg-row>.flex-lg-80{max-width:80%;max-height:100%}.layout-lg-column>.flex-lg-80,.layout-lg-row>.flex-lg-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-80{max-width:100%;max-height:80%}.layout-lg-row>.flex-80{max-width:80%;max-height:100%}.layout-lg-column>.flex-80,.layout-lg-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-80{max-width:100%;max-height:80%}.flex-lg-85,.layout-row>.flex-lg-85{max-width:85%;max-height:100%}.flex-lg-85,.layout-column>.flex-lg-85,.layout-row>.flex-lg-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-85{max-width:100%;max-height:85%}.layout-lg-row>.flex-lg-85{max-width:85%;max-height:100%}.layout-lg-column>.flex-lg-85,.layout-lg-row>.flex-lg-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-85{max-width:100%;max-height:85%}.layout-lg-row>.flex-85{max-width:85%;max-height:100%}.layout-lg-column>.flex-85,.layout-lg-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-85{max-width:100%;max-height:85%}.flex-lg-90,.layout-row>.flex-lg-90{max-width:90%;max-height:100%}.flex-lg-90,.layout-column>.flex-lg-90,.layout-row>.flex-lg-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-90{max-width:100%;max-height:90%}.layout-lg-row>.flex-lg-90{max-width:90%;max-height:100%}.layout-lg-column>.flex-lg-90,.layout-lg-row>.flex-lg-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-90{max-width:100%;max-height:90%}.layout-lg-row>.flex-90{max-width:90%;max-height:100%}.layout-lg-column>.flex-90,.layout-lg-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-90{max-width:100%;max-height:90%}.flex-lg-95,.layout-row>.flex-lg-95{max-width:95%;max-height:100%}.flex-lg-95,.layout-column>.flex-lg-95,.layout-row>.flex-lg-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-lg-95{max-width:100%;max-height:95%}.layout-lg-row>.flex-lg-95{max-width:95%;max-height:100%}.layout-lg-column>.flex-lg-95,.layout-lg-row>.flex-lg-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-lg-column>.flex-lg-95{max-width:100%;max-height:95%}.layout-lg-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-lg-column>.flex-95{max-height:95%}.flex-lg-100,.layout-lg-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-lg-100{max-height:100%}.layout-column>.flex-lg-100,.layout-lg-column>.flex-100,.layout-lg-column>.flex-lg-100,.layout-lg-row>.flex-100,.layout-lg-row>.flex-lg-100,.layout-row>.flex-lg-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-lg-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-lg-33,.layout-row>.flex-lg-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-lg-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-lg-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-height:33.33%}.layout-column>.flex-lg-33,.layout-column>.flex-lg-66{-webkit-box-flex:1;max-width:100%;box-sizing:border-box}.layout-column>.flex-lg-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-height:66.66%}.layout-lg-row>.flex-lg-33{max-width:33.33%}.layout-lg-row>.flex-lg-33,.layout-lg-row>.flex-lg-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-lg-row>.flex-lg-66{max-width:66.66%}.layout-lg-column>.flex-lg-33{max-height:33.33%}.layout-lg-column>.flex-lg-33,.layout-lg-column>.flex-lg-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-lg-column>.flex-lg-66{max-height:66.66%}.layout-lg-row>.flex-33{max-width:33.33%}.layout-lg-row>.flex-33,.layout-lg-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-lg-row>.flex-66{max-width:66.66%}.layout-lg-row>.flex{min-width:0}.layout-lg-column>.flex-33{max-height:33.33%}.layout-lg-column>.flex-33,.layout-lg-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-lg-column>.flex-66{max-height:66.66%}.layout-lg-column>.flex{min-height:0}.layout-lg,.layout-lg-column,.layout-lg-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-lg-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-lg-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}}@media (min-width:1920px){.flex-order-gt-lg--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-gt-lg--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-gt-lg--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-gt-lg--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-gt-lg--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-gt-lg--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-gt-lg--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-gt-lg--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-gt-lg--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-gt-lg--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-gt-lg--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-gt-lg--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-gt-lg--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-gt-lg--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-gt-lg--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-gt-lg--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-gt-lg--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-gt-lg--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-gt-lg--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-gt-lg--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-gt-lg-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-gt-lg-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-gt-lg-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-gt-lg-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-gt-lg-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-gt-lg-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-gt-lg-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-gt-lg-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-gt-lg-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-gt-lg-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-gt-lg-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-gt-lg-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-gt-lg-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-gt-lg-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-gt-lg-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-gt-lg-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-gt-lg-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-gt-lg-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-gt-lg-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-gt-lg-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-gt-lg-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-gt-lg-0,.offset-gt-lg-0{margin-left:0}[dir=rtl] .flex-offset-gt-lg-0,[dir=rtl] .offset-gt-lg-0{margin-left:auto;margin-right:0}.flex-offset-gt-lg-5,.offset-gt-lg-5{margin-left:5%}[dir=rtl] .flex-offset-gt-lg-5,[dir=rtl] .offset-gt-lg-5{margin-left:auto;margin-right:5%}.flex-offset-gt-lg-10,.offset-gt-lg-10{margin-left:10%}[dir=rtl] .flex-offset-gt-lg-10,[dir=rtl] .offset-gt-lg-10{margin-left:auto;margin-right:10%}.flex-offset-gt-lg-15,.offset-gt-lg-15{margin-left:15%}[dir=rtl] .flex-offset-gt-lg-15,[dir=rtl] .offset-gt-lg-15{margin-left:auto;margin-right:15%}.flex-offset-gt-lg-20,.offset-gt-lg-20{margin-left:20%}[dir=rtl] .flex-offset-gt-lg-20,[dir=rtl] .offset-gt-lg-20{margin-left:auto;margin-right:20%}.flex-offset-gt-lg-25,.offset-gt-lg-25{margin-left:25%}[dir=rtl] .flex-offset-gt-lg-25,[dir=rtl] .offset-gt-lg-25{margin-left:auto;margin-right:25%}.flex-offset-gt-lg-30,.offset-gt-lg-30{margin-left:30%}[dir=rtl] .flex-offset-gt-lg-30,[dir=rtl] .offset-gt-lg-30{margin-left:auto;margin-right:30%}.flex-offset-gt-lg-35,.offset-gt-lg-35{margin-left:35%}[dir=rtl] .flex-offset-gt-lg-35,[dir=rtl] .offset-gt-lg-35{margin-left:auto;margin-right:35%}.flex-offset-gt-lg-40,.offset-gt-lg-40{margin-left:40%}[dir=rtl] .flex-offset-gt-lg-40,[dir=rtl] .offset-gt-lg-40{margin-left:auto;margin-right:40%}.flex-offset-gt-lg-45,.offset-gt-lg-45{margin-left:45%}[dir=rtl] .flex-offset-gt-lg-45,[dir=rtl] .offset-gt-lg-45{margin-left:auto;margin-right:45%}.flex-offset-gt-lg-50,.offset-gt-lg-50{margin-left:50%}[dir=rtl] .flex-offset-gt-lg-50,[dir=rtl] .offset-gt-lg-50{margin-left:auto;margin-right:50%}.flex-offset-gt-lg-55,.offset-gt-lg-55{margin-left:55%}[dir=rtl] .flex-offset-gt-lg-55,[dir=rtl] .offset-gt-lg-55{margin-left:auto;margin-right:55%}.flex-offset-gt-lg-60,.offset-gt-lg-60{margin-left:60%}[dir=rtl] .flex-offset-gt-lg-60,[dir=rtl] .offset-gt-lg-60{margin-left:auto;margin-right:60%}.flex-offset-gt-lg-65,.offset-gt-lg-65{margin-left:65%}[dir=rtl] .flex-offset-gt-lg-65,[dir=rtl] .offset-gt-lg-65{margin-left:auto;margin-right:65%}.flex-offset-gt-lg-70,.offset-gt-lg-70{margin-left:70%}[dir=rtl] .flex-offset-gt-lg-70,[dir=rtl] .offset-gt-lg-70{margin-left:auto;margin-right:70%}.flex-offset-gt-lg-75,.offset-gt-lg-75{margin-left:75%}[dir=rtl] .flex-offset-gt-lg-75,[dir=rtl] .offset-gt-lg-75{margin-left:auto;margin-right:75%}.flex-offset-gt-lg-80,.offset-gt-lg-80{margin-left:80%}[dir=rtl] .flex-offset-gt-lg-80,[dir=rtl] .offset-gt-lg-80{margin-left:auto;margin-right:80%}.flex-offset-gt-lg-85,.offset-gt-lg-85{margin-left:85%}[dir=rtl] .flex-offset-gt-lg-85,[dir=rtl] .offset-gt-lg-85{margin-left:auto;margin-right:85%}.flex-offset-gt-lg-90,.offset-gt-lg-90{margin-left:90%}[dir=rtl] .flex-offset-gt-lg-90,[dir=rtl] .offset-gt-lg-90{margin-left:auto;margin-right:90%}.flex-offset-gt-lg-95,.offset-gt-lg-95{margin-left:95%}[dir=rtl] .flex-offset-gt-lg-95,[dir=rtl] .offset-gt-lg-95{margin-left:auto;margin-right:95%}.flex-offset-gt-lg-33,.offset-gt-lg-33{margin-left:33.33333%}.flex-offset-gt-lg-66,.offset-gt-lg-66{margin-left:66.66667%}[dir=rtl] .flex-offset-gt-lg-66,[dir=rtl] .offset-gt-lg-66{margin-left:auto;margin-right:66.66667%}.layout-align-gt-lg,.layout-align-gt-lg-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align-gt-lg,.layout-align-gt-lg-start,.layout-align-gt-lg-start-center,.layout-align-gt-lg-start-end,.layout-align-gt-lg-start-start,.layout-align-gt-lg-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-gt-lg-center,.layout-align-gt-lg-center-center,.layout-align-gt-lg-center-end,.layout-align-gt-lg-center-start,.layout-align-gt-lg-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-gt-lg-end,.layout-align-gt-lg-end-center,.layout-align-gt-lg-end-end,.layout-align-gt-lg-end-start,.layout-align-gt-lg-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-gt-lg-space-around,.layout-align-gt-lg-space-around-center,.layout-align-gt-lg-space-around-end,.layout-align-gt-lg-space-around-start,.layout-align-gt-lg-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-gt-lg-space-between,.layout-align-gt-lg-space-between-center,.layout-align-gt-lg-space-between-end,.layout-align-gt-lg-space-between-start,.layout-align-gt-lg-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-gt-lg-center-start,.layout-align-gt-lg-end-start,.layout-align-gt-lg-space-around-start,.layout-align-gt-lg-space-between-start,.layout-align-gt-lg-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-gt-lg-center-center,.layout-align-gt-lg-end-center,.layout-align-gt-lg-space-around-center,.layout-align-gt-lg-space-between-center,.layout-align-gt-lg-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-gt-lg-center-center>*,.layout-align-gt-lg-end-center>*,.layout-align-gt-lg-space-around-center>*,.layout-align-gt-lg-space-between-center>*,.layout-align-gt-lg-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-gt-lg-center-end,.layout-align-gt-lg-end-end,.layout-align-gt-lg-space-around-end,.layout-align-gt-lg-space-between-end,.layout-align-gt-lg-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-gt-lg-center-stretch,.layout-align-gt-lg-end-stretch,.layout-align-gt-lg-space-around-stretch,.layout-align-gt-lg-space-between-stretch,.layout-align-gt-lg-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-gt-lg{-webkit-flex:1;flex:1}.flex-gt-lg,.flex-gt-lg-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-gt-lg-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-gt-lg-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-lg-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-gt-lg-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-gt-lg-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-gt-lg-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-gt-lg-0,.layout-row>.flex-gt-lg-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-lg-0{min-width:0}.layout-column>.flex-gt-lg-0{max-width:100%;max-height:0%}.layout-column>.flex-gt-lg-0,.layout-gt-lg-row>.flex-gt-lg-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-0{max-width:0;max-height:100%;min-width:0}.layout-gt-lg-column>.flex-gt-lg-0{max-width:100%;max-height:0%;min-height:0}.layout-gt-lg-column>.flex-gt-lg-0,.layout-gt-lg-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-row>.flex-0{max-width:0;max-height:100%;min-width:0}.layout-gt-lg-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-gt-lg-5,.layout-row>.flex-gt-lg-5{max-width:5%;max-height:100%}.flex-gt-lg-5,.layout-column>.flex-gt-lg-5,.layout-row>.flex-gt-lg-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-5{max-width:100%;max-height:5%}.layout-gt-lg-row>.flex-gt-lg-5{max-width:5%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-5,.layout-gt-lg-row>.flex-gt-lg-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-5{max-width:100%;max-height:5%}.layout-gt-lg-row>.flex-5{max-width:5%;max-height:100%}.layout-gt-lg-column>.flex-5,.layout-gt-lg-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-5{max-width:100%;max-height:5%}.flex-gt-lg-10,.layout-row>.flex-gt-lg-10{max-width:10%;max-height:100%}.flex-gt-lg-10,.layout-column>.flex-gt-lg-10,.layout-row>.flex-gt-lg-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-10{max-width:100%;max-height:10%}.layout-gt-lg-row>.flex-gt-lg-10{max-width:10%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-10,.layout-gt-lg-row>.flex-gt-lg-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-10{max-width:100%;max-height:10%}.layout-gt-lg-row>.flex-10{max-width:10%;max-height:100%}.layout-gt-lg-column>.flex-10,.layout-gt-lg-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-10{max-width:100%;max-height:10%}.flex-gt-lg-15,.layout-row>.flex-gt-lg-15{max-width:15%;max-height:100%}.flex-gt-lg-15,.layout-column>.flex-gt-lg-15,.layout-row>.flex-gt-lg-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-15{max-width:100%;max-height:15%}.layout-gt-lg-row>.flex-gt-lg-15{max-width:15%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-15,.layout-gt-lg-row>.flex-gt-lg-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-15{max-width:100%;max-height:15%}.layout-gt-lg-row>.flex-15{max-width:15%;max-height:100%}.layout-gt-lg-column>.flex-15,.layout-gt-lg-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-15{max-width:100%;max-height:15%}.flex-gt-lg-20,.layout-row>.flex-gt-lg-20{max-width:20%;max-height:100%}.flex-gt-lg-20,.layout-column>.flex-gt-lg-20,.layout-row>.flex-gt-lg-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-20{max-width:100%;max-height:20%}.layout-gt-lg-row>.flex-gt-lg-20{max-width:20%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-20,.layout-gt-lg-row>.flex-gt-lg-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-20{max-width:100%;max-height:20%}.layout-gt-lg-row>.flex-20{max-width:20%;max-height:100%}.layout-gt-lg-column>.flex-20,.layout-gt-lg-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-20{max-width:100%;max-height:20%}.flex-gt-lg-25,.layout-row>.flex-gt-lg-25{max-width:25%;max-height:100%}.flex-gt-lg-25,.layout-column>.flex-gt-lg-25,.layout-row>.flex-gt-lg-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-25{max-width:100%;max-height:25%}.layout-gt-lg-row>.flex-gt-lg-25{max-width:25%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-25,.layout-gt-lg-row>.flex-gt-lg-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-25{max-width:100%;max-height:25%}.layout-gt-lg-row>.flex-25{max-width:25%;max-height:100%}.layout-gt-lg-column>.flex-25,.layout-gt-lg-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-25{max-width:100%;max-height:25%}.flex-gt-lg-30,.layout-row>.flex-gt-lg-30{max-width:30%;max-height:100%}.flex-gt-lg-30,.layout-column>.flex-gt-lg-30,.layout-row>.flex-gt-lg-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-30{max-width:100%;max-height:30%}.layout-gt-lg-row>.flex-gt-lg-30{max-width:30%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-30,.layout-gt-lg-row>.flex-gt-lg-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-30{max-width:100%;max-height:30%}.layout-gt-lg-row>.flex-30{max-width:30%;max-height:100%}.layout-gt-lg-column>.flex-30,.layout-gt-lg-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-30{max-width:100%;max-height:30%}.flex-gt-lg-35,.layout-row>.flex-gt-lg-35{max-width:35%;max-height:100%}.flex-gt-lg-35,.layout-column>.flex-gt-lg-35,.layout-row>.flex-gt-lg-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-35{max-width:100%;max-height:35%}.layout-gt-lg-row>.flex-gt-lg-35{max-width:35%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-35,.layout-gt-lg-row>.flex-gt-lg-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-35{max-width:100%;max-height:35%}.layout-gt-lg-row>.flex-35{max-width:35%;max-height:100%}.layout-gt-lg-column>.flex-35,.layout-gt-lg-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-35{max-width:100%;max-height:35%}.flex-gt-lg-40,.layout-row>.flex-gt-lg-40{max-width:40%;max-height:100%}.flex-gt-lg-40,.layout-column>.flex-gt-lg-40,.layout-row>.flex-gt-lg-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-40{max-width:100%;max-height:40%}.layout-gt-lg-row>.flex-gt-lg-40{max-width:40%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-40,.layout-gt-lg-row>.flex-gt-lg-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-40{max-width:100%;max-height:40%}.layout-gt-lg-row>.flex-40{max-width:40%;max-height:100%}.layout-gt-lg-column>.flex-40,.layout-gt-lg-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-40{max-width:100%;max-height:40%}.flex-gt-lg-45,.layout-row>.flex-gt-lg-45{max-width:45%;max-height:100%}.flex-gt-lg-45,.layout-column>.flex-gt-lg-45,.layout-row>.flex-gt-lg-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-45{max-width:100%;max-height:45%}.layout-gt-lg-row>.flex-gt-lg-45{max-width:45%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-45,.layout-gt-lg-row>.flex-gt-lg-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-45{max-width:100%;max-height:45%}.layout-gt-lg-row>.flex-45{max-width:45%;max-height:100%}.layout-gt-lg-column>.flex-45,.layout-gt-lg-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-45{max-width:100%;max-height:45%}.flex-gt-lg-50,.layout-row>.flex-gt-lg-50{max-width:50%;max-height:100%}.flex-gt-lg-50,.layout-column>.flex-gt-lg-50,.layout-row>.flex-gt-lg-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-50{max-width:100%;max-height:50%}.layout-gt-lg-row>.flex-gt-lg-50{max-width:50%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-50,.layout-gt-lg-row>.flex-gt-lg-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-50{max-width:100%;max-height:50%}.layout-gt-lg-row>.flex-50{max-width:50%;max-height:100%}.layout-gt-lg-column>.flex-50,.layout-gt-lg-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-50{max-width:100%;max-height:50%}.flex-gt-lg-55,.layout-row>.flex-gt-lg-55{max-width:55%;max-height:100%}.flex-gt-lg-55,.layout-column>.flex-gt-lg-55,.layout-row>.flex-gt-lg-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-55{max-width:100%;max-height:55%}.layout-gt-lg-row>.flex-gt-lg-55{max-width:55%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-55,.layout-gt-lg-row>.flex-gt-lg-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-55{max-width:100%;max-height:55%}.layout-gt-lg-row>.flex-55{max-width:55%;max-height:100%}.layout-gt-lg-column>.flex-55,.layout-gt-lg-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-55{max-width:100%;max-height:55%}.flex-gt-lg-60,.layout-row>.flex-gt-lg-60{max-width:60%;max-height:100%}.flex-gt-lg-60,.layout-column>.flex-gt-lg-60,.layout-row>.flex-gt-lg-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-60{max-width:100%;max-height:60%}.layout-gt-lg-row>.flex-gt-lg-60{max-width:60%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-60,.layout-gt-lg-row>.flex-gt-lg-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-60{max-width:100%;max-height:60%}.layout-gt-lg-row>.flex-60{max-width:60%;max-height:100%}.layout-gt-lg-column>.flex-60,.layout-gt-lg-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-60{max-width:100%;max-height:60%}.flex-gt-lg-65,.layout-row>.flex-gt-lg-65{max-width:65%;max-height:100%}.flex-gt-lg-65,.layout-column>.flex-gt-lg-65,.layout-row>.flex-gt-lg-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-65{max-width:100%;max-height:65%}.layout-gt-lg-row>.flex-gt-lg-65{max-width:65%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-65,.layout-gt-lg-row>.flex-gt-lg-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-65{max-width:100%;max-height:65%}.layout-gt-lg-row>.flex-65{max-width:65%;max-height:100%}.layout-gt-lg-column>.flex-65,.layout-gt-lg-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-65{max-width:100%;max-height:65%}.flex-gt-lg-70,.layout-row>.flex-gt-lg-70{max-width:70%;max-height:100%}.flex-gt-lg-70,.layout-column>.flex-gt-lg-70,.layout-row>.flex-gt-lg-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-70{max-width:100%;max-height:70%}.layout-gt-lg-row>.flex-gt-lg-70{max-width:70%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-70,.layout-gt-lg-row>.flex-gt-lg-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-70{max-width:100%;max-height:70%}.layout-gt-lg-row>.flex-70{max-width:70%;max-height:100%}.layout-gt-lg-column>.flex-70,.layout-gt-lg-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-70{max-width:100%;max-height:70%}.flex-gt-lg-75,.layout-row>.flex-gt-lg-75{max-width:75%;max-height:100%}.flex-gt-lg-75,.layout-column>.flex-gt-lg-75,.layout-row>.flex-gt-lg-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-75{max-width:100%;max-height:75%}.layout-gt-lg-row>.flex-gt-lg-75{max-width:75%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-75,.layout-gt-lg-row>.flex-gt-lg-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-75{max-width:100%;max-height:75%}.layout-gt-lg-row>.flex-75{max-width:75%;max-height:100%}.layout-gt-lg-column>.flex-75,.layout-gt-lg-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-75{max-width:100%;max-height:75%}.flex-gt-lg-80,.layout-row>.flex-gt-lg-80{max-width:80%;max-height:100%}.flex-gt-lg-80,.layout-column>.flex-gt-lg-80,.layout-row>.flex-gt-lg-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-80{max-width:100%;max-height:80%}.layout-gt-lg-row>.flex-gt-lg-80{max-width:80%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-80,.layout-gt-lg-row>.flex-gt-lg-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-80{max-width:100%;max-height:80%}.layout-gt-lg-row>.flex-80{max-width:80%;max-height:100%}.layout-gt-lg-column>.flex-80,.layout-gt-lg-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-80{max-width:100%;max-height:80%}.flex-gt-lg-85,.layout-row>.flex-gt-lg-85{max-width:85%;max-height:100%}.flex-gt-lg-85,.layout-column>.flex-gt-lg-85,.layout-row>.flex-gt-lg-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-85{max-width:100%;max-height:85%}.layout-gt-lg-row>.flex-gt-lg-85{max-width:85%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-85,.layout-gt-lg-row>.flex-gt-lg-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-85{max-width:100%;max-height:85%}.layout-gt-lg-row>.flex-85{max-width:85%;max-height:100%}.layout-gt-lg-column>.flex-85,.layout-gt-lg-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-85{max-width:100%;max-height:85%}.flex-gt-lg-90,.layout-row>.flex-gt-lg-90{max-width:90%;max-height:100%}.flex-gt-lg-90,.layout-column>.flex-gt-lg-90,.layout-row>.flex-gt-lg-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-90{max-width:100%;max-height:90%}.layout-gt-lg-row>.flex-gt-lg-90{max-width:90%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-90,.layout-gt-lg-row>.flex-gt-lg-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-90{max-width:100%;max-height:90%}.layout-gt-lg-row>.flex-90{max-width:90%;max-height:100%}.layout-gt-lg-column>.flex-90,.layout-gt-lg-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-90{max-width:100%;max-height:90%}.flex-gt-lg-95,.layout-row>.flex-gt-lg-95{max-width:95%;max-height:100%}.flex-gt-lg-95,.layout-column>.flex-gt-lg-95,.layout-row>.flex-gt-lg-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-gt-lg-95{max-width:100%;max-height:95%}.layout-gt-lg-row>.flex-gt-lg-95{max-width:95%;max-height:100%}.layout-gt-lg-column>.flex-gt-lg-95,.layout-gt-lg-row>.flex-gt-lg-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-95{max-width:100%;max-height:95%}.layout-gt-lg-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-95{max-height:95%}.flex-gt-lg-100,.layout-gt-lg-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-gt-lg-100{max-height:100%}.layout-column>.flex-gt-lg-100,.layout-gt-lg-column>.flex-100,.layout-gt-lg-column>.flex-gt-lg-100,.layout-gt-lg-row>.flex-100,.layout-gt-lg-row>.flex-gt-lg-100,.layout-row>.flex-gt-lg-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-lg-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-gt-lg-33,.layout-row>.flex-gt-lg-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-gt-lg-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-gt-lg-33{-webkit-box-flex:1;-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:100%;max-height:33.33%;box-sizing:border-box}.layout-column>.flex-gt-lg-66{-webkit-box-flex:1;-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:100%;max-height:66.66%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-33{max-width:33.33%}.layout-gt-lg-row>.flex-gt-lg-33,.layout-gt-lg-row>.flex-gt-lg-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-gt-lg-row>.flex-gt-lg-66{max-width:66.66%}.layout-gt-lg-column>.flex-gt-lg-33{max-height:33.33%}.layout-gt-lg-column>.flex-gt-lg-33,.layout-gt-lg-column>.flex-gt-lg-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-gt-lg-66{max-height:66.66%}.layout-gt-lg-row>.flex-33{max-width:33.33%}.layout-gt-lg-row>.flex-33,.layout-gt-lg-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-gt-lg-row>.flex-66{max-width:66.66%}.layout-gt-lg-row>.flex{min-width:0}.layout-gt-lg-column>.flex-33{max-height:33.33%}.layout-gt-lg-column>.flex-33,.layout-gt-lg-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-gt-lg-column>.flex-66{max-height:66.66%}.layout-gt-lg-column>.flex{min-height:0}.layout-gt-lg,.layout-gt-lg-column,.layout-gt-lg-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-gt-lg-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-gt-lg-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}.flex-order-xl--20{-webkit-box-ordinal-group:-19;-webkit-order:-20;order:-20}.flex-order-xl--19{-webkit-box-ordinal-group:-18;-webkit-order:-19;order:-19}.flex-order-xl--18{-webkit-box-ordinal-group:-17;-webkit-order:-18;order:-18}.flex-order-xl--17{-webkit-box-ordinal-group:-16;-webkit-order:-17;order:-17}.flex-order-xl--16{-webkit-box-ordinal-group:-15;-webkit-order:-16;order:-16}.flex-order-xl--15{-webkit-box-ordinal-group:-14;-webkit-order:-15;order:-15}.flex-order-xl--14{-webkit-box-ordinal-group:-13;-webkit-order:-14;order:-14}.flex-order-xl--13{-webkit-box-ordinal-group:-12;-webkit-order:-13;order:-13}.flex-order-xl--12{-webkit-box-ordinal-group:-11;-webkit-order:-12;order:-12}.flex-order-xl--11{-webkit-box-ordinal-group:-10;-webkit-order:-11;order:-11}.flex-order-xl--10{-webkit-box-ordinal-group:-9;-webkit-order:-10;order:-10}.flex-order-xl--9{-webkit-box-ordinal-group:-8;-webkit-order:-9;order:-9}.flex-order-xl--8{-webkit-box-ordinal-group:-7;-webkit-order:-8;order:-8}.flex-order-xl--7{-webkit-box-ordinal-group:-6;-webkit-order:-7;order:-7}.flex-order-xl--6{-webkit-box-ordinal-group:-5;-webkit-order:-6;order:-6}.flex-order-xl--5{-webkit-box-ordinal-group:-4;-webkit-order:-5;order:-5}.flex-order-xl--4{-webkit-box-ordinal-group:-3;-webkit-order:-4;order:-4}.flex-order-xl--3{-webkit-box-ordinal-group:-2;-webkit-order:-3;order:-3}.flex-order-xl--2{-webkit-box-ordinal-group:-1;-webkit-order:-2;order:-2}.flex-order-xl--1{-webkit-box-ordinal-group:0;-webkit-order:-1;order:-1}.flex-order-xl-0{-webkit-box-ordinal-group:1;-webkit-order:0;order:0}.flex-order-xl-1{-webkit-box-ordinal-group:2;-webkit-order:1;order:1}.flex-order-xl-2{-webkit-box-ordinal-group:3;-webkit-order:2;order:2}.flex-order-xl-3{-webkit-box-ordinal-group:4;-webkit-order:3;order:3}.flex-order-xl-4{-webkit-box-ordinal-group:5;-webkit-order:4;order:4}.flex-order-xl-5{-webkit-box-ordinal-group:6;-webkit-order:5;order:5}.flex-order-xl-6{-webkit-box-ordinal-group:7;-webkit-order:6;order:6}.flex-order-xl-7{-webkit-box-ordinal-group:8;-webkit-order:7;order:7}.flex-order-xl-8{-webkit-box-ordinal-group:9;-webkit-order:8;order:8}.flex-order-xl-9{-webkit-box-ordinal-group:10;-webkit-order:9;order:9}.flex-order-xl-10{-webkit-box-ordinal-group:11;-webkit-order:10;order:10}.flex-order-xl-11{-webkit-box-ordinal-group:12;-webkit-order:11;order:11}.flex-order-xl-12{-webkit-box-ordinal-group:13;-webkit-order:12;order:12}.flex-order-xl-13{-webkit-box-ordinal-group:14;-webkit-order:13;order:13}.flex-order-xl-14{-webkit-box-ordinal-group:15;-webkit-order:14;order:14}.flex-order-xl-15{-webkit-box-ordinal-group:16;-webkit-order:15;order:15}.flex-order-xl-16{-webkit-box-ordinal-group:17;-webkit-order:16;order:16}.flex-order-xl-17{-webkit-box-ordinal-group:18;-webkit-order:17;order:17}.flex-order-xl-18{-webkit-box-ordinal-group:19;-webkit-order:18;order:18}.flex-order-xl-19{-webkit-box-ordinal-group:20;-webkit-order:19;order:19}.flex-order-xl-20{-webkit-box-ordinal-group:21;-webkit-order:20;order:20}.flex-offset-xl-0,.offset-xl-0{margin-left:0}[dir=rtl] .flex-offset-xl-0,[dir=rtl] .offset-xl-0{margin-left:auto;margin-right:0}.flex-offset-xl-5,.offset-xl-5{margin-left:5%}[dir=rtl] .flex-offset-xl-5,[dir=rtl] .offset-xl-5{margin-left:auto;margin-right:5%}.flex-offset-xl-10,.offset-xl-10{margin-left:10%}[dir=rtl] .flex-offset-xl-10,[dir=rtl] .offset-xl-10{margin-left:auto;margin-right:10%}.flex-offset-xl-15,.offset-xl-15{margin-left:15%}[dir=rtl] .flex-offset-xl-15,[dir=rtl] .offset-xl-15{margin-left:auto;margin-right:15%}.flex-offset-xl-20,.offset-xl-20{margin-left:20%}[dir=rtl] .flex-offset-xl-20,[dir=rtl] .offset-xl-20{margin-left:auto;margin-right:20%}.flex-offset-xl-25,.offset-xl-25{margin-left:25%}[dir=rtl] .flex-offset-xl-25,[dir=rtl] .offset-xl-25{margin-left:auto;margin-right:25%}.flex-offset-xl-30,.offset-xl-30{margin-left:30%}[dir=rtl] .flex-offset-xl-30,[dir=rtl] .offset-xl-30{margin-left:auto;margin-right:30%}.flex-offset-xl-35,.offset-xl-35{margin-left:35%}[dir=rtl] .flex-offset-xl-35,[dir=rtl] .offset-xl-35{margin-left:auto;margin-right:35%}.flex-offset-xl-40,.offset-xl-40{margin-left:40%}[dir=rtl] .flex-offset-xl-40,[dir=rtl] .offset-xl-40{margin-left:auto;margin-right:40%}.flex-offset-xl-45,.offset-xl-45{margin-left:45%}[dir=rtl] .flex-offset-xl-45,[dir=rtl] .offset-xl-45{margin-left:auto;margin-right:45%}.flex-offset-xl-50,.offset-xl-50{margin-left:50%}[dir=rtl] .flex-offset-xl-50,[dir=rtl] .offset-xl-50{margin-left:auto;margin-right:50%}.flex-offset-xl-55,.offset-xl-55{margin-left:55%}[dir=rtl] .flex-offset-xl-55,[dir=rtl] .offset-xl-55{margin-left:auto;margin-right:55%}.flex-offset-xl-60,.offset-xl-60{margin-left:60%}[dir=rtl] .flex-offset-xl-60,[dir=rtl] .offset-xl-60{margin-left:auto;margin-right:60%}.flex-offset-xl-65,.offset-xl-65{margin-left:65%}[dir=rtl] .flex-offset-xl-65,[dir=rtl] .offset-xl-65{margin-left:auto;margin-right:65%}.flex-offset-xl-70,.offset-xl-70{margin-left:70%}[dir=rtl] .flex-offset-xl-70,[dir=rtl] .offset-xl-70{margin-left:auto;margin-right:70%}.flex-offset-xl-75,.offset-xl-75{margin-left:75%}[dir=rtl] .flex-offset-xl-75,[dir=rtl] .offset-xl-75{margin-left:auto;margin-right:75%}.flex-offset-xl-80,.offset-xl-80{margin-left:80%}[dir=rtl] .flex-offset-xl-80,[dir=rtl] .offset-xl-80{margin-left:auto;margin-right:80%}.flex-offset-xl-85,.offset-xl-85{margin-left:85%}[dir=rtl] .flex-offset-xl-85,[dir=rtl] .offset-xl-85{margin-left:auto;margin-right:85%}.flex-offset-xl-90,.offset-xl-90{margin-left:90%}[dir=rtl] .flex-offset-xl-90,[dir=rtl] .offset-xl-90{margin-left:auto;margin-right:90%}.flex-offset-xl-95,.offset-xl-95{margin-left:95%}[dir=rtl] .flex-offset-xl-95,[dir=rtl] .offset-xl-95{margin-left:auto;margin-right:95%}.flex-offset-xl-33,.offset-xl-33{margin-left:33.33333%}.flex-offset-xl-66,.offset-xl-66{margin-left:66.66667%}[dir=rtl] .flex-offset-xl-66,[dir=rtl] .offset-xl-66{margin-left:auto;margin-right:66.66667%}.layout-align-xl,.layout-align-xl-start-stretch{-webkit-align-content:stretch;align-content:stretch;-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch}.layout-align-xl,.layout-align-xl-start,.layout-align-xl-start-center,.layout-align-xl-start-end,.layout-align-xl-start-start,.layout-align-xl-start-stretch{-webkit-box-pack:start;-webkit-justify-content:flex-start;justify-content:flex-start}.layout-align-xl-center,.layout-align-xl-center-center,.layout-align-xl-center-end,.layout-align-xl-center-start,.layout-align-xl-center-stretch{-webkit-box-pack:center;-webkit-justify-content:center;justify-content:center}.layout-align-xl-end,.layout-align-xl-end-center,.layout-align-xl-end-end,.layout-align-xl-end-start,.layout-align-xl-end-stretch{-webkit-box-pack:end;-webkit-justify-content:flex-end;justify-content:flex-end}.layout-align-xl-space-around,.layout-align-xl-space-around-center,.layout-align-xl-space-around-end,.layout-align-xl-space-around-start,.layout-align-xl-space-around-stretch{-webkit-justify-content:space-around;justify-content:space-around}.layout-align-xl-space-between,.layout-align-xl-space-between-center,.layout-align-xl-space-between-end,.layout-align-xl-space-between-start,.layout-align-xl-space-between-stretch{-webkit-box-pack:justify;-webkit-justify-content:space-between;justify-content:space-between}.layout-align-xl-center-start,.layout-align-xl-end-start,.layout-align-xl-space-around-start,.layout-align-xl-space-between-start,.layout-align-xl-start-start{-webkit-box-align:start;-webkit-align-items:flex-start;align-items:flex-start;-webkit-align-content:flex-start;align-content:flex-start}.layout-align-xl-center-center,.layout-align-xl-end-center,.layout-align-xl-space-around-center,.layout-align-xl-space-between-center,.layout-align-xl-start-center{-webkit-box-align:center;-webkit-align-items:center;align-items:center;-webkit-align-content:center;align-content:center;max-width:100%}.layout-align-xl-center-center>*,.layout-align-xl-end-center>*,.layout-align-xl-space-around-center>*,.layout-align-xl-space-between-center>*,.layout-align-xl-start-center>*{max-width:100%;box-sizing:border-box}.layout-align-xl-center-end,.layout-align-xl-end-end,.layout-align-xl-space-around-end,.layout-align-xl-space-between-end,.layout-align-xl-start-end{-webkit-box-align:end;-webkit-align-items:flex-end;align-items:flex-end;-webkit-align-content:flex-end;align-content:flex-end}.layout-align-xl-center-stretch,.layout-align-xl-end-stretch,.layout-align-xl-space-around-stretch,.layout-align-xl-space-between-stretch,.layout-align-xl-start-stretch{-webkit-box-align:stretch;-webkit-align-items:stretch;align-items:stretch;-webkit-align-content:stretch;align-content:stretch}.flex-xl{-webkit-flex:1;flex:1}.flex-xl,.flex-xl-grow{-webkit-box-flex:1;box-sizing:border-box}.flex-xl-grow{-webkit-flex:1 1 100%;flex:1 1 100%}.flex-xl-initial{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-xl-auto{-webkit-box-flex:1;-webkit-flex:1 1 auto;flex:1 1 auto;box-sizing:border-box}.flex-xl-none{-webkit-box-flex:0;-webkit-flex:0 0 auto;flex:0 0 auto;box-sizing:border-box}.flex-xl-noshrink{-webkit-box-flex:1;-webkit-flex:1 0 auto;flex:1 0 auto;box-sizing:border-box}.flex-xl-nogrow{-webkit-box-flex:0;-webkit-flex:0 1 auto;flex:0 1 auto;box-sizing:border-box}.flex-xl-0,.layout-row>.flex-xl-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:0;max-height:100%;box-sizing:border-box}.layout-row>.flex-xl-0{min-width:0}.layout-column>.flex-xl-0{max-width:100%;max-height:0%}.layout-column>.flex-xl-0,.layout-xl-row>.flex-xl-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-row>.flex-xl-0{max-width:0;max-height:100%;min-width:0}.layout-xl-column>.flex-xl-0{max-width:100%;max-height:0%;min-height:0}.layout-xl-column>.flex-xl-0,.layout-xl-row>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-row>.flex-0{max-width:0;max-height:100%;min-width:0}.layout-xl-column>.flex-0{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:0%;box-sizing:border-box;min-height:0}.flex-xl-5,.layout-row>.flex-xl-5{max-width:5%;max-height:100%}.flex-xl-5,.layout-column>.flex-xl-5,.layout-row>.flex-xl-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-5{max-width:100%;max-height:5%}.layout-xl-row>.flex-xl-5{max-width:5%;max-height:100%}.layout-xl-column>.flex-xl-5,.layout-xl-row>.flex-xl-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-5{max-width:100%;max-height:5%}.layout-xl-row>.flex-5{max-width:5%;max-height:100%}.layout-xl-column>.flex-5,.layout-xl-row>.flex-5{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-5{max-width:100%;max-height:5%}.flex-xl-10,.layout-row>.flex-xl-10{max-width:10%;max-height:100%}.flex-xl-10,.layout-column>.flex-xl-10,.layout-row>.flex-xl-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-10{max-width:100%;max-height:10%}.layout-xl-row>.flex-xl-10{max-width:10%;max-height:100%}.layout-xl-column>.flex-xl-10,.layout-xl-row>.flex-xl-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-10{max-width:100%;max-height:10%}.layout-xl-row>.flex-10{max-width:10%;max-height:100%}.layout-xl-column>.flex-10,.layout-xl-row>.flex-10{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-10{max-width:100%;max-height:10%}.flex-xl-15,.layout-row>.flex-xl-15{max-width:15%;max-height:100%}.flex-xl-15,.layout-column>.flex-xl-15,.layout-row>.flex-xl-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-15{max-width:100%;max-height:15%}.layout-xl-row>.flex-xl-15{max-width:15%;max-height:100%}.layout-xl-column>.flex-xl-15,.layout-xl-row>.flex-xl-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-15{max-width:100%;max-height:15%}.layout-xl-row>.flex-15{max-width:15%;max-height:100%}.layout-xl-column>.flex-15,.layout-xl-row>.flex-15{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-15{max-width:100%;max-height:15%}.flex-xl-20,.layout-row>.flex-xl-20{max-width:20%;max-height:100%}.flex-xl-20,.layout-column>.flex-xl-20,.layout-row>.flex-xl-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-20{max-width:100%;max-height:20%}.layout-xl-row>.flex-xl-20{max-width:20%;max-height:100%}.layout-xl-column>.flex-xl-20,.layout-xl-row>.flex-xl-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-20{max-width:100%;max-height:20%}.layout-xl-row>.flex-20{max-width:20%;max-height:100%}.layout-xl-column>.flex-20,.layout-xl-row>.flex-20{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-20{max-width:100%;max-height:20%}.flex-xl-25,.layout-row>.flex-xl-25{max-width:25%;max-height:100%}.flex-xl-25,.layout-column>.flex-xl-25,.layout-row>.flex-xl-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-25{max-width:100%;max-height:25%}.layout-xl-row>.flex-xl-25{max-width:25%;max-height:100%}.layout-xl-column>.flex-xl-25,.layout-xl-row>.flex-xl-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-25{max-width:100%;max-height:25%}.layout-xl-row>.flex-25{max-width:25%;max-height:100%}.layout-xl-column>.flex-25,.layout-xl-row>.flex-25{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-25{max-width:100%;max-height:25%}.flex-xl-30,.layout-row>.flex-xl-30{max-width:30%;max-height:100%}.flex-xl-30,.layout-column>.flex-xl-30,.layout-row>.flex-xl-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-30{max-width:100%;max-height:30%}.layout-xl-row>.flex-xl-30{max-width:30%;max-height:100%}.layout-xl-column>.flex-xl-30,.layout-xl-row>.flex-xl-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-30{max-width:100%;max-height:30%}.layout-xl-row>.flex-30{max-width:30%;max-height:100%}.layout-xl-column>.flex-30,.layout-xl-row>.flex-30{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-30{max-width:100%;max-height:30%}.flex-xl-35,.layout-row>.flex-xl-35{max-width:35%;max-height:100%}.flex-xl-35,.layout-column>.flex-xl-35,.layout-row>.flex-xl-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-35{max-width:100%;max-height:35%}.layout-xl-row>.flex-xl-35{max-width:35%;max-height:100%}.layout-xl-column>.flex-xl-35,.layout-xl-row>.flex-xl-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-35{max-width:100%;max-height:35%}.layout-xl-row>.flex-35{max-width:35%;max-height:100%}.layout-xl-column>.flex-35,.layout-xl-row>.flex-35{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-35{max-width:100%;max-height:35%}.flex-xl-40,.layout-row>.flex-xl-40{max-width:40%;max-height:100%}.flex-xl-40,.layout-column>.flex-xl-40,.layout-row>.flex-xl-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-40{max-width:100%;max-height:40%}.layout-xl-row>.flex-xl-40{max-width:40%;max-height:100%}.layout-xl-column>.flex-xl-40,.layout-xl-row>.flex-xl-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-40{max-width:100%;max-height:40%}.layout-xl-row>.flex-40{max-width:40%;max-height:100%}.layout-xl-column>.flex-40,.layout-xl-row>.flex-40{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-40{max-width:100%;max-height:40%}.flex-xl-45,.layout-row>.flex-xl-45{max-width:45%;max-height:100%}.flex-xl-45,.layout-column>.flex-xl-45,.layout-row>.flex-xl-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-45{max-width:100%;max-height:45%}.layout-xl-row>.flex-xl-45{max-width:45%;max-height:100%}.layout-xl-column>.flex-xl-45,.layout-xl-row>.flex-xl-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-45{max-width:100%;max-height:45%}.layout-xl-row>.flex-45{max-width:45%;max-height:100%}.layout-xl-column>.flex-45,.layout-xl-row>.flex-45{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-45{max-width:100%;max-height:45%}.flex-xl-50,.layout-row>.flex-xl-50{max-width:50%;max-height:100%}.flex-xl-50,.layout-column>.flex-xl-50,.layout-row>.flex-xl-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-50{max-width:100%;max-height:50%}.layout-xl-row>.flex-xl-50{max-width:50%;max-height:100%}.layout-xl-column>.flex-xl-50,.layout-xl-row>.flex-xl-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-50{max-width:100%;max-height:50%}.layout-xl-row>.flex-50{max-width:50%;max-height:100%}.layout-xl-column>.flex-50,.layout-xl-row>.flex-50{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-50{max-width:100%;max-height:50%}.flex-xl-55,.layout-row>.flex-xl-55{max-width:55%;max-height:100%}.flex-xl-55,.layout-column>.flex-xl-55,.layout-row>.flex-xl-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-55{max-width:100%;max-height:55%}.layout-xl-row>.flex-xl-55{max-width:55%;max-height:100%}.layout-xl-column>.flex-xl-55,.layout-xl-row>.flex-xl-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-55{max-width:100%;max-height:55%}.layout-xl-row>.flex-55{max-width:55%;max-height:100%}.layout-xl-column>.flex-55,.layout-xl-row>.flex-55{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-55{max-width:100%;max-height:55%}.flex-xl-60,.layout-row>.flex-xl-60{max-width:60%;max-height:100%}.flex-xl-60,.layout-column>.flex-xl-60,.layout-row>.flex-xl-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-60{max-width:100%;max-height:60%}.layout-xl-row>.flex-xl-60{max-width:60%;max-height:100%}.layout-xl-column>.flex-xl-60,.layout-xl-row>.flex-xl-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-60{max-width:100%;max-height:60%}.layout-xl-row>.flex-60{max-width:60%;max-height:100%}.layout-xl-column>.flex-60,.layout-xl-row>.flex-60{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-60{max-width:100%;max-height:60%}.flex-xl-65,.layout-row>.flex-xl-65{max-width:65%;max-height:100%}.flex-xl-65,.layout-column>.flex-xl-65,.layout-row>.flex-xl-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-65{max-width:100%;max-height:65%}.layout-xl-row>.flex-xl-65{max-width:65%;max-height:100%}.layout-xl-column>.flex-xl-65,.layout-xl-row>.flex-xl-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-65{max-width:100%;max-height:65%}.layout-xl-row>.flex-65{max-width:65%;max-height:100%}.layout-xl-column>.flex-65,.layout-xl-row>.flex-65{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-65{max-width:100%;max-height:65%}.flex-xl-70,.layout-row>.flex-xl-70{max-width:70%;max-height:100%}.flex-xl-70,.layout-column>.flex-xl-70,.layout-row>.flex-xl-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-70{max-width:100%;max-height:70%}.layout-xl-row>.flex-xl-70{max-width:70%;max-height:100%}.layout-xl-column>.flex-xl-70,.layout-xl-row>.flex-xl-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-70{max-width:100%;max-height:70%}.layout-xl-row>.flex-70{max-width:70%;max-height:100%}.layout-xl-column>.flex-70,.layout-xl-row>.flex-70{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-70{max-width:100%;max-height:70%}.flex-xl-75,.layout-row>.flex-xl-75{max-width:75%;max-height:100%}.flex-xl-75,.layout-column>.flex-xl-75,.layout-row>.flex-xl-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-75{max-width:100%;max-height:75%}.layout-xl-row>.flex-xl-75{max-width:75%;max-height:100%}.layout-xl-column>.flex-xl-75,.layout-xl-row>.flex-xl-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-75{max-width:100%;max-height:75%}.layout-xl-row>.flex-75{max-width:75%;max-height:100%}.layout-xl-column>.flex-75,.layout-xl-row>.flex-75{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-75{max-width:100%;max-height:75%}.flex-xl-80,.layout-row>.flex-xl-80{max-width:80%;max-height:100%}.flex-xl-80,.layout-column>.flex-xl-80,.layout-row>.flex-xl-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-80{max-width:100%;max-height:80%}.layout-xl-row>.flex-xl-80{max-width:80%;max-height:100%}.layout-xl-column>.flex-xl-80,.layout-xl-row>.flex-xl-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-80{max-width:100%;max-height:80%}.layout-xl-row>.flex-80{max-width:80%;max-height:100%}.layout-xl-column>.flex-80,.layout-xl-row>.flex-80{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-80{max-width:100%;max-height:80%}.flex-xl-85,.layout-row>.flex-xl-85{max-width:85%;max-height:100%}.flex-xl-85,.layout-column>.flex-xl-85,.layout-row>.flex-xl-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-85{max-width:100%;max-height:85%}.layout-xl-row>.flex-xl-85{max-width:85%;max-height:100%}.layout-xl-column>.flex-xl-85,.layout-xl-row>.flex-xl-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-85{max-width:100%;max-height:85%}.layout-xl-row>.flex-85{max-width:85%;max-height:100%}.layout-xl-column>.flex-85,.layout-xl-row>.flex-85{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-85{max-width:100%;max-height:85%}.flex-xl-90,.layout-row>.flex-xl-90{max-width:90%;max-height:100%}.flex-xl-90,.layout-column>.flex-xl-90,.layout-row>.flex-xl-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-90{max-width:100%;max-height:90%}.layout-xl-row>.flex-xl-90{max-width:90%;max-height:100%}.layout-xl-column>.flex-xl-90,.layout-xl-row>.flex-xl-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-90{max-width:100%;max-height:90%}.layout-xl-row>.flex-90{max-width:90%;max-height:100%}.layout-xl-column>.flex-90,.layout-xl-row>.flex-90{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-90{max-width:100%;max-height:90%}.flex-xl-95,.layout-row>.flex-xl-95{max-width:95%;max-height:100%}.flex-xl-95,.layout-column>.flex-xl-95,.layout-row>.flex-xl-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-column>.flex-xl-95{max-width:100%;max-height:95%}.layout-xl-row>.flex-xl-95{max-width:95%;max-height:100%}.layout-xl-column>.flex-xl-95,.layout-xl-row>.flex-xl-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;box-sizing:border-box}.layout-xl-column>.flex-xl-95{max-width:100%;max-height:95%}.layout-xl-row>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:95%;max-height:100%;box-sizing:border-box}.layout-xl-column>.flex-95{max-height:95%}.flex-xl-100,.layout-xl-column>.flex-95{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.flex-xl-100{max-height:100%}.layout-column>.flex-xl-100,.layout-row>.flex-xl-100,.layout-xl-column>.flex-100,.layout-xl-column>.flex-xl-100,.layout-xl-row>.flex-100,.layout-xl-row>.flex-xl-100{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;max-height:100%;box-sizing:border-box}.layout-row>.flex-xl-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-width:33.33%}.layout-row>.flex-xl-33,.layout-row>.flex-xl-66{-webkit-box-flex:1;max-height:100%;box-sizing:border-box}.layout-row>.flex-xl-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-width:66.66%}.layout-column>.flex-xl-33{-webkit-flex:1 1 33.33%;flex:1 1 33.33%;max-height:33.33%}.layout-column>.flex-xl-33,.layout-column>.flex-xl-66{-webkit-box-flex:1;max-width:100%;box-sizing:border-box}.layout-column>.flex-xl-66{-webkit-flex:1 1 66.66%;flex:1 1 66.66%;max-height:66.66%}.layout-xl-row>.flex-xl-33{max-width:33.33%}.layout-xl-row>.flex-xl-33,.layout-xl-row>.flex-xl-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-xl-row>.flex-xl-66{max-width:66.66%}.layout-xl-column>.flex-xl-33{max-height:33.33%}.layout-xl-column>.flex-xl-33,.layout-xl-column>.flex-xl-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-xl-column>.flex-xl-66{max-height:66.66%}.layout-xl-row>.flex-33{max-width:33.33%}.layout-xl-row>.flex-33,.layout-xl-row>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-height:100%;box-sizing:border-box}.layout-xl-row>.flex-66{max-width:66.66%}.layout-xl-row>.flex{min-width:0}.layout-xl-column>.flex-33{max-height:33.33%}.layout-xl-column>.flex-33,.layout-xl-column>.flex-66{-webkit-box-flex:1;-webkit-flex:1 1 100%;flex:1 1 100%;max-width:100%;box-sizing:border-box}.layout-xl-column>.flex-66{max-height:66.66%}.layout-xl-column>.flex{min-height:0}.layout-xl,.layout-xl-column,.layout-xl-row{box-sizing:border-box;display:-webkit-box;display:-webkit-flex;display:flex}.layout-xl-column{-webkit-box-orient:vertical;-webkit-box-direction:normal;-webkit-flex-direction:column;flex-direction:column}.layout-xl-row{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-flex-direction:row;flex-direction:row}.hide-gt-lg:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-gt-md:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-gt-sm:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-gt-xs:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show),.hide-xl:not(.show-xl):not(.show-gt-lg):not(.show-gt-md):not(.show-gt-sm):not(.show-gt-xs):not(.show),.hide:not(.show-gt-xs):not(.show-gt-sm):not(.show-gt-md):not(.show-gt-lg):not(.show-xl):not(.show){display:none}}@media print{.hide-print:not(.show-print):not(.show){display:none!important}} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/bootstrap.css b/ui/ui-frontend/projects/pastis/src/assets/css/bootstrap.css new file mode 100644 index 0000000000000000000000000000000000000000..fcab41554ad7f471346b76aff336d329fde68722 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/bootstrap.css @@ -0,0 +1,6834 @@ +/*! + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + */ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ +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, +menu, +nav, +section, +summary { + display: block; +} +audio, +canvas, +progress, +video { + display: inline-block; + vertical-align: baseline; +} +audio:not([controls]) { + display: none; + height: 0; +} +[hidden], +template { + display: none; +} +a { + background-color: transparent; +} +a:active, +a:hover { + outline: 0; +} +abbr[title] { + border-bottom: none; + text-decoration: underline; + -webkit-text-decoration: underline dotted; + -moz-text-decoration: underline dotted; + text-decoration: underline dotted; +} +b, +strong { + font-weight: bold; +} +dfn { + font-style: italic; +} +h1 { + font-size: 2em; + margin: 0.67em 0; +} +mark { + background: #ff0; + color: #000; +} +small { + font-size: 80%; +} +sub, +sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0; +} +svg:not(:root) { + overflow: hidden; +} +figure { + margin: 1em 40px; +} +hr { + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; + height: 0; +} +pre { + overflow: auto; +} +code, +kbd, +pre, +samp { + font-family: monospace, monospace; + 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 { + line-height: normal; +} +input[type="checkbox"], +input[type="radio"] { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; + padding: 0; +} +input[type="number"]::-webkit-inner-spin-button, +input[type="number"]::-webkit-outer-spin-button { + height: auto; +} +input[type="search"] { + -webkit-appearance: textfield; + -webkit-box-sizing: content-box; + -moz-box-sizing: content-box; + box-sizing: content-box; +} +input[type="search"]::-webkit-search-cancel-button, +input[type="search"]::-webkit-search-decoration { + -webkit-appearance: none; +} +fieldset { + border: 1px solid #c0c0c0; + margin: 0 2px; + padding: 0.35em 0.625em 0.75em; +} +legend { + border: 0; + padding: 0; +} +textarea { + overflow: auto; +} +optgroup { + font-weight: bold; +} +table { + border-collapse: collapse; + border-spacing: 0; +} +td, +th { + padding: 0; +} +/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ +@media print { + *, + *:before, + *:after { + color: #000 !important; + text-shadow: none !important; + background: transparent !important; + -webkit-box-shadow: none !important; + box-shadow: none !important; + } + a, + a:visited { + text-decoration: underline; + } + a[href]:after { + content: " (" attr(href) ")"; + } + abbr[title]:after { + content: " (" attr(title) ")"; + } + a[href^="#"]:after, + a[href^="javascript:"]:after { + content: ""; + } + pre, + blockquote { + border: 1px solid #999; + page-break-inside: avoid; + } + thead { + display: table-header-group; + } + tr, + img { + page-break-inside: avoid; + } + img { + max-width: 100% !important; + } + p, + h2, + h3 { + orphans: 3; + widows: 3; + } + h2, + h3 { + page-break-after: avoid; + } + .navbar { + display: none; + } + .btn > .caret, + .dropup > .btn > .caret { + border-top-color: #000 !important; + } + .label { + border: 1px solid #000; + } + .table { + border-collapse: collapse !important; + } + .table td, + .table th { + background-color: #fff !important; + } + .table-bordered th, + .table-bordered td { + border: 1px solid #ddd !important; + } +} +@font-face { + font-family: "Glyphicons Halflings"; + src: url("../fonts/glyphicons-halflings-regular.eot"); + src: url("../fonts/glyphicons-halflings-regular.eot?#iefix") format("embedded-opentype"), url("../fonts/glyphicons-halflings-regular.woff2") format("woff2"), url("../fonts/glyphicons-halflings-regular.woff") format("woff"), url("../fonts/glyphicons-halflings-regular.ttf") format("truetype"), url("../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular") format("svg"); +} +.glyphicon { + position: relative; + top: 1px; + display: inline-block; + font-family: "Glyphicons Halflings"; + font-style: normal; + font-weight: 400; + line-height: 1; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} +.glyphicon-asterisk:before { + content: "\002a"; +} +.glyphicon-plus:before { + content: "\002b"; +} +.glyphicon-euro:before, +.glyphicon-eur:before { + content: "\20ac"; +} +.glyphicon-minus:before { + content: "\2212"; +} +.glyphicon-cloud:before { + content: "\2601"; +} +.glyphicon-envelope:before { + content: "\2709"; +} +.glyphicon-pencil:before { + content: "\270f"; +} +.glyphicon-glass:before { + content: "\e001"; +} +.glyphicon-music:before { + content: "\e002"; +} +.glyphicon-search:before { + content: "\e003"; +} +.glyphicon-heart:before { + content: "\e005"; +} +.glyphicon-star:before { + content: "\e006"; +} +.glyphicon-star-empty:before { + content: "\e007"; +} +.glyphicon-user:before { + content: "\e008"; +} +.glyphicon-film:before { + content: "\e009"; +} +.glyphicon-th-large:before { + content: "\e010"; +} +.glyphicon-th:before { + content: "\e011"; +} +.glyphicon-th-list:before { + content: "\e012"; +} +.glyphicon-ok:before { + content: "\e013"; +} +.glyphicon-remove:before { + content: "\e014"; +} +.glyphicon-zoom-in:before { + content: "\e015"; +} +.glyphicon-zoom-out:before { + content: "\e016"; +} +.glyphicon-off:before { + content: "\e017"; +} +.glyphicon-signal:before { + content: "\e018"; +} +.glyphicon-cog:before { + content: "\e019"; +} +.glyphicon-trash:before { + content: "\e020"; +} +.glyphicon-home:before { + content: "\e021"; +} +.glyphicon-file:before { + content: "\e022"; +} +.glyphicon-time:before { + content: "\e023"; +} +.glyphicon-road:before { + content: "\e024"; +} +.glyphicon-download-alt:before { + content: "\e025"; +} +.glyphicon-download:before { + content: "\e026"; +} +.glyphicon-upload:before { + content: "\e027"; +} +.glyphicon-inbox:before { + content: "\e028"; +} +.glyphicon-play-circle:before { + content: "\e029"; +} +.glyphicon-repeat:before { + content: "\e030"; +} +.glyphicon-refresh:before { + content: "\e031"; +} +.glyphicon-list-alt:before { + content: "\e032"; +} +.glyphicon-lock:before { + content: "\e033"; +} +.glyphicon-flag:before { + content: "\e034"; +} +.glyphicon-headphones:before { + content: "\e035"; +} +.glyphicon-volume-off:before { + content: "\e036"; +} +.glyphicon-volume-down:before { + content: "\e037"; +} +.glyphicon-volume-up:before { + content: "\e038"; +} +.glyphicon-qrcode:before { + content: "\e039"; +} +.glyphicon-barcode:before { + content: "\e040"; +} +.glyphicon-tag:before { + content: "\e041"; +} +.glyphicon-tags:before { + content: "\e042"; +} +.glyphicon-book:before { + content: "\e043"; +} +.glyphicon-bookmark:before { + content: "\e044"; +} +.glyphicon-print:before { + content: "\e045"; +} +.glyphicon-camera:before { + content: "\e046"; +} +.glyphicon-font:before { + content: "\e047"; +} +.glyphicon-bold:before { + content: "\e048"; +} +.glyphicon-italic:before { + content: "\e049"; +} +.glyphicon-text-height:before { + content: "\e050"; +} +.glyphicon-text-width:before { + content: "\e051"; +} +.glyphicon-align-left:before { + content: "\e052"; +} +.glyphicon-align-center:before { + content: "\e053"; +} +.glyphicon-align-right:before { + content: "\e054"; +} +.glyphicon-align-justify:before { + content: "\e055"; +} +.glyphicon-list:before { + content: "\e056"; +} +.glyphicon-indent-left:before { + content: "\e057"; +} +.glyphicon-indent-right:before { + content: "\e058"; +} +.glyphicon-facetime-video:before { + content: "\e059"; +} +.glyphicon-picture:before { + content: "\e060"; +} +.glyphicon-map-marker:before { + content: "\e062"; +} +.glyphicon-adjust:before { + content: "\e063"; +} +.glyphicon-tint:before { + content: "\e064"; +} +.glyphicon-edit:before { + content: "\e065"; +} +.glyphicon-share:before { + content: "\e066"; +} +.glyphicon-check:before { + content: "\e067"; +} +.glyphicon-move:before { + content: "\e068"; +} +.glyphicon-step-backward:before { + content: "\e069"; +} +.glyphicon-fast-backward:before { + content: "\e070"; +} +.glyphicon-backward:before { + content: "\e071"; +} +.glyphicon-play:before { + content: "\e072"; +} +.glyphicon-pause:before { + content: "\e073"; +} +.glyphicon-stop:before { + content: "\e074"; +} +.glyphicon-forward:before { + content: "\e075"; +} +.glyphicon-fast-forward:before { + content: "\e076"; +} +.glyphicon-step-forward:before { + content: "\e077"; +} +.glyphicon-eject:before { + content: "\e078"; +} +.glyphicon-chevron-left:before { + content: "\e079"; +} +.glyphicon-chevron-right:before { + content: "\e080"; +} +.glyphicon-plus-sign:before { + content: "\e081"; +} +.glyphicon-minus-sign:before { + content: "\e082"; +} +.glyphicon-remove-sign:before { + content: "\e083"; +} +.glyphicon-ok-sign:before { + content: "\e084"; +} +.glyphicon-question-sign:before { + content: "\e085"; +} +.glyphicon-info-sign:before { + content: "\e086"; +} +.glyphicon-screenshot:before { + content: "\e087"; +} +.glyphicon-remove-circle:before { + content: "\e088"; +} +.glyphicon-ok-circle:before { + content: "\e089"; +} +.glyphicon-ban-circle:before { + content: "\e090"; +} +.glyphicon-arrow-left:before { + content: "\e091"; +} +.glyphicon-arrow-right:before { + content: "\e092"; +} +.glyphicon-arrow-up:before { + content: "\e093"; +} +.glyphicon-arrow-down:before { + content: "\e094"; +} +.glyphicon-share-alt:before { + content: "\e095"; +} +.glyphicon-resize-full:before { + content: "\e096"; +} +.glyphicon-resize-small:before { + content: "\e097"; +} +.glyphicon-exclamation-sign:before { + content: "\e101"; +} +.glyphicon-gift:before { + content: "\e102"; +} +.glyphicon-leaf:before { + content: "\e103"; +} +.glyphicon-fire:before { + content: "\e104"; +} +.glyphicon-eye-open:before { + content: "\e105"; +} +.glyphicon-eye-close:before { + content: "\e106"; +} +.glyphicon-warning-sign:before { + content: "\e107"; +} +.glyphicon-plane:before { + content: "\e108"; +} +.glyphicon-calendar:before { + content: "\e109"; +} +.glyphicon-random:before { + content: "\e110"; +} +.glyphicon-comment:before { + content: "\e111"; +} +.glyphicon-magnet:before { + content: "\e112"; +} +.glyphicon-chevron-up:before { + content: "\e113"; +} +.glyphicon-chevron-down:before { + content: "\e114"; +} +.glyphicon-retweet:before { + content: "\e115"; +} +.glyphicon-shopping-cart:before { + content: "\e116"; +} +.glyphicon-folder-close:before { + content: "\e117"; +} +.glyphicon-folder-open:before { + content: "\e118"; +} +.glyphicon-resize-vertical:before { + content: "\e119"; +} +.glyphicon-resize-horizontal:before { + content: "\e120"; +} +.glyphicon-hdd:before { + content: "\e121"; +} +.glyphicon-bullhorn:before { + content: "\e122"; +} +.glyphicon-bell:before { + content: "\e123"; +} +.glyphicon-certificate:before { + content: "\e124"; +} +.glyphicon-thumbs-up:before { + content: "\e125"; +} +.glyphicon-thumbs-down:before { + content: "\e126"; +} +.glyphicon-hand-right:before { + content: "\e127"; +} +.glyphicon-hand-left:before { + content: "\e128"; +} +.glyphicon-hand-up:before { + content: "\e129"; +} +.glyphicon-hand-down:before { + content: "\e130"; +} +.glyphicon-circle-arrow-right:before { + content: "\e131"; +} +.glyphicon-circle-arrow-left:before { + content: "\e132"; +} +.glyphicon-circle-arrow-up:before { + content: "\e133"; +} +.glyphicon-circle-arrow-down:before { + content: "\e134"; +} +.glyphicon-globe:before { + content: "\e135"; +} +.glyphicon-wrench:before { + content: "\e136"; +} +.glyphicon-tasks:before { + content: "\e137"; +} +.glyphicon-filter:before { + content: "\e138"; +} +.glyphicon-briefcase:before { + content: "\e139"; +} +.glyphicon-fullscreen:before { + content: "\e140"; +} +.glyphicon-dashboard:before { + content: "\e141"; +} +.glyphicon-paperclip:before { + content: "\e142"; +} +.glyphicon-heart-empty:before { + content: "\e143"; +} +.glyphicon-link:before { + content: "\e144"; +} +.glyphicon-phone:before { + content: "\e145"; +} +.glyphicon-pushpin:before { + content: "\e146"; +} +.glyphicon-usd:before { + content: "\e148"; +} +.glyphicon-gbp:before { + content: "\e149"; +} +.glyphicon-sort:before { + content: "\e150"; +} +.glyphicon-sort-by-alphabet:before { + content: "\e151"; +} +.glyphicon-sort-by-alphabet-alt:before { + content: "\e152"; +} +.glyphicon-sort-by-order:before { + content: "\e153"; +} +.glyphicon-sort-by-order-alt:before { + content: "\e154"; +} +.glyphicon-sort-by-attributes:before { + content: "\e155"; +} +.glyphicon-sort-by-attributes-alt:before { + content: "\e156"; +} +.glyphicon-unchecked:before { + content: "\e157"; +} +.glyphicon-expand:before { + content: "\e158"; +} +.glyphicon-collapse-down:before { + content: "\e159"; +} +.glyphicon-collapse-up:before { + content: "\e160"; +} +.glyphicon-log-in:before { + content: "\e161"; +} +.glyphicon-flash:before { + content: "\e162"; +} +.glyphicon-log-out:before { + content: "\e163"; +} +.glyphicon-new-window:before { + content: "\e164"; +} +.glyphicon-record:before { + content: "\e165"; +} +.glyphicon-save:before { + content: "\e166"; +} +.glyphicon-open:before { + content: "\e167"; +} +.glyphicon-saved:before { + content: "\e168"; +} +.glyphicon-import:before { + content: "\e169"; +} +.glyphicon-export:before { + content: "\e170"; +} +.glyphicon-send:before { + content: "\e171"; +} +.glyphicon-floppy-disk:before { + content: "\e172"; +} +.glyphicon-floppy-saved:before { + content: "\e173"; +} +.glyphicon-floppy-remove:before { + content: "\e174"; +} +.glyphicon-floppy-save:before { + content: "\e175"; +} +.glyphicon-floppy-open:before { + content: "\e176"; +} +.glyphicon-credit-card:before { + content: "\e177"; +} +.glyphicon-transfer:before { + content: "\e178"; +} +.glyphicon-cutlery:before { + content: "\e179"; +} +.glyphicon-header:before { + content: "\e180"; +} +.glyphicon-compressed:before { + content: "\e181"; +} +.glyphicon-earphone:before { + content: "\e182"; +} +.glyphicon-phone-alt:before { + content: "\e183"; +} +.glyphicon-tower:before { + content: "\e184"; +} +.glyphicon-stats:before { + content: "\e185"; +} +.glyphicon-sd-video:before { + content: "\e186"; +} +.glyphicon-hd-video:before { + content: "\e187"; +} +.glyphicon-subtitles:before { + content: "\e188"; +} +.glyphicon-sound-stereo:before { + content: "\e189"; +} +.glyphicon-sound-dolby:before { + content: "\e190"; +} +.glyphicon-sound-5-1:before { + content: "\e191"; +} +.glyphicon-sound-6-1:before { + content: "\e192"; +} +.glyphicon-sound-7-1:before { + content: "\e193"; +} +.glyphicon-copyright-mark:before { + content: "\e194"; +} +.glyphicon-registration-mark:before { + content: "\e195"; +} +.glyphicon-cloud-download:before { + content: "\e197"; +} +.glyphicon-cloud-upload:before { + content: "\e198"; +} +.glyphicon-tree-conifer:before { + content: "\e199"; +} +.glyphicon-tree-deciduous:before { + content: "\e200"; +} +.glyphicon-cd:before { + content: "\e201"; +} +.glyphicon-save-file:before { + content: "\e202"; +} +.glyphicon-open-file:before { + content: "\e203"; +} +.glyphicon-level-up:before { + content: "\e204"; +} +.glyphicon-copy:before { + content: "\e205"; +} +.glyphicon-paste:before { + content: "\e206"; +} +.glyphicon-alert:before { + content: "\e209"; +} +.glyphicon-equalizer:before { + content: "\e210"; +} +.glyphicon-king:before { + content: "\e211"; +} +.glyphicon-queen:before { + content: "\e212"; +} +.glyphicon-pawn:before { + content: "\e213"; +} +.glyphicon-bishop:before { + content: "\e214"; +} +.glyphicon-knight:before { + content: "\e215"; +} +.glyphicon-baby-formula:before { + content: "\e216"; +} +.glyphicon-tent:before { + content: "\26fa"; +} +.glyphicon-blackboard:before { + content: "\e218"; +} +.glyphicon-bed:before { + content: "\e219"; +} +.glyphicon-apple:before { + content: "\f8ff"; +} +.glyphicon-erase:before { + content: "\e221"; +} +.glyphicon-hourglass:before { + content: "\231b"; +} +.glyphicon-lamp:before { + content: "\e223"; +} +.glyphicon-duplicate:before { + content: "\e224"; +} +.glyphicon-piggy-bank:before { + content: "\e225"; +} +.glyphicon-scissors:before { + content: "\e226"; +} +.glyphicon-bitcoin:before { + content: "\e227"; +} +.glyphicon-btc:before { + content: "\e227"; +} +.glyphicon-xbt:before { + content: "\e227"; +} +.glyphicon-yen:before { + content: "\00a5"; +} +.glyphicon-jpy:before { + content: "\00a5"; +} +.glyphicon-ruble:before { + content: "\20bd"; +} +.glyphicon-rub:before { + content: "\20bd"; +} +.glyphicon-scale:before { + content: "\e230"; +} +.glyphicon-ice-lolly:before { + content: "\e231"; +} +.glyphicon-ice-lolly-tasted:before { + content: "\e232"; +} +.glyphicon-education:before { + content: "\e233"; +} +.glyphicon-option-horizontal:before { + content: "\e234"; +} +.glyphicon-option-vertical:before { + content: "\e235"; +} +.glyphicon-menu-hamburger:before { + content: "\e236"; +} +.glyphicon-modal-window:before { + content: "\e237"; +} +.glyphicon-oil:before { + content: "\e238"; +} +.glyphicon-grain:before { + content: "\e239"; +} +.glyphicon-sunglasses:before { + content: "\e240"; +} +.glyphicon-text-size:before { + content: "\e241"; +} +.glyphicon-text-color:before { + content: "\e242"; +} +.glyphicon-text-background:before { + content: "\e243"; +} +.glyphicon-object-align-top:before { + content: "\e244"; +} +.glyphicon-object-align-bottom:before { + content: "\e245"; +} +.glyphicon-object-align-horizontal:before { + content: "\e246"; +} +.glyphicon-object-align-left:before { + content: "\e247"; +} +.glyphicon-object-align-vertical:before { + content: "\e248"; +} +.glyphicon-object-align-right:before { + content: "\e249"; +} +.glyphicon-triangle-right:before { + content: "\e250"; +} +.glyphicon-triangle-left:before { + content: "\e251"; +} +.glyphicon-triangle-bottom:before { + content: "\e252"; +} +.glyphicon-triangle-top:before { + content: "\e253"; +} +.glyphicon-console:before { + content: "\e254"; +} +.glyphicon-superscript:before { + content: "\e255"; +} +.glyphicon-subscript:before { + content: "\e256"; +} +.glyphicon-menu-left:before { + content: "\e257"; +} +.glyphicon-menu-right:before { + content: "\e258"; +} +.glyphicon-menu-down:before { + content: "\e259"; +} +.glyphicon-menu-up:before { + content: "\e260"; +} +* { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +*:before, +*:after { + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; +} +html { + font-size: 10px; + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-size: 14px; + line-height: 1.42857143; + color: #333333; + background-color: #fff; +} +input, +button, +select, +textarea { + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +a { + color: #337ab7; + text-decoration: none; +} +a:hover, +a:focus { + color: #23527c; + text-decoration: underline; +} +a:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +figure { + margin: 0; +} +img { + vertical-align: middle; +} +.img-responsive, +.thumbnail > img, +.thumbnail a > img, +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + display: block; + max-width: 100%; + height: auto; +} +.img-rounded { + border-radius: 6px; +} +.img-thumbnail { + padding: 4px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: all 0.2s ease-in-out; + -o-transition: all 0.2s ease-in-out; + transition: all 0.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 #eeeeee; +} +.sr-only { + position: absolute; + width: 1px; + height: 1px; + padding: 0; + margin: -1px; + overflow: hidden; + clip: rect(0, 0, 0, 0); + border: 0; +} +.sr-only-focusable:active, +.sr-only-focusable:focus { + position: static; + width: auto; + height: auto; + margin: 0; + overflow: visible; + clip: auto; +} +[role="button"] { + cursor: pointer; +} +h1, +h2, +h3, +h4, +h5, +h6, +.h1, +.h2, +.h3, +.h4, +.h5, +.h6 { + font-family: inherit; + font-weight: 500; + line-height: 1.1; + color: inherit; +} +h1 small, +h2 small, +h3 small, +h4 small, +h5 small, +h6 small, +.h1 small, +.h2 small, +.h3 small, +.h4 small, +.h5 small, +.h6 small, +h1 .small, +h2 .small, +h3 .small, +h4 .small, +h5 .small, +h6 .small, +.h1 .small, +.h2 .small, +.h3 .small, +.h4 .small, +.h5 .small, +.h6 .small { + font-weight: 400; + line-height: 1; + color: #777777; +} +h1, +.h1, +h2, +.h2, +h3, +.h3 { + margin-top: 20px; + margin-bottom: 10px; +} +h1 small, +.h1 small, +h2 small, +.h2 small, +h3 small, +.h3 small, +h1 .small, +.h1 .small, +h2 .small, +.h2 .small, +h3 .small, +.h3 .small { + font-size: 65%; +} +h4, +.h4, +h5, +.h5, +h6, +.h6 { + margin-top: 10px; + margin-bottom: 10px; +} +h4 small, +.h4 small, +h5 small, +.h5 small, +h6 small, +.h6 small, +h4 .small, +.h4 .small, +h5 .small, +.h5 .small, +h6 .small, +.h6 .small { + font-size: 75%; +} +h1, +.h1 { + font-size: 36px; +} +h2, +.h2 { + font-size: 30px; +} +h3, +.h3 { + font-size: 24px; +} +h4, +.h4 { + font-size: 18px; +} +h5, +.h5 { + font-size: 14px; +} +h6, +.h6 { + font-size: 12px; +} +p { + margin: 0 0 10px; +} +.lead { + margin-bottom: 20px; + font-size: 16px; + font-weight: 300; + line-height: 1.4; +} +@media (min-width: 768px) { + .lead { + font-size: 21px; + } +} +small, +.small { + font-size: 85%; +} +mark, +.mark { + padding: 0.2em; + background-color: #fcf8e3; +} +.text-left { + text-align: left; +} +.text-right { + text-align: right; +} +.text-center { + text-align: center; +} +.text-justify { + text-align: justify; +} +.text-nowrap { + white-space: nowrap; +} +.text-lowercase { + text-transform: lowercase; +} +.text-uppercase { + text-transform: uppercase; +} +.text-capitalize { + text-transform: capitalize; +} +.text-muted { + color: #777777; +} +.text-primary { + color: #337ab7; +} +a.text-primary:hover, +a.text-primary:focus { + color: #286090; +} +.text-success { + color: #3c763d; +} +a.text-success:hover, +a.text-success:focus { + color: #2b542c; +} +.text-info { + color: #31708f; +} +a.text-info:hover, +a.text-info:focus { + color: #245269; +} +.text-warning { + color: #8a6d3b; +} +a.text-warning:hover, +a.text-warning:focus { + color: #66512c; +} +.text-danger { + color: #a94442; +} +a.text-danger:hover, +a.text-danger:focus { + color: #843534; +} +.bg-primary { + color: #fff; + background-color: #337ab7; +} +a.bg-primary:hover, +a.bg-primary:focus { + background-color: #286090; +} +.bg-success { + background-color: #dff0d8; +} +a.bg-success:hover, +a.bg-success:focus { + background-color: #c1e2b3; +} +.bg-info { + background-color: #d9edf7; +} +a.bg-info:hover, +a.bg-info:focus { + background-color: #afd9ee; +} +.bg-warning { + background-color: #fcf8e3; +} +a.bg-warning:hover, +a.bg-warning:focus { + background-color: #f7ecb5; +} +.bg-danger { + background-color: #f2dede; +} +a.bg-danger:hover, +a.bg-danger:focus { + background-color: #e4b9b9; +} +.page-header { + padding-bottom: 9px; + margin: 40px 0 20px; + border-bottom: 1px solid #eeeeee; +} +ul, +ol { + margin-top: 0; + margin-bottom: 10px; +} +ul ul, +ol ul, +ul ol, +ol ol { + margin-bottom: 0; +} +.list-unstyled { + padding-left: 0; + list-style: none; +} +.list-inline { + padding-left: 0; + list-style: none; + margin-left: -5px; +} +.list-inline > li { + display: inline-block; + padding-right: 5px; + padding-left: 5px; +} +dl { + margin-top: 0; + margin-bottom: 20px; +} +dt, +dd { + line-height: 1.42857143; +} +dt { + font-weight: 700; +} +dd { + margin-left: 0; +} +@media (min-width: 768px) { + .dl-horizontal dt { + float: left; + width: 160px; + clear: left; + text-align: right; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + } + .dl-horizontal dd { + margin-left: 180px; + } +} +abbr[title], +abbr[data-original-title] { + cursor: help; +} +.initialism { + font-size: 90%; + text-transform: uppercase; +} +blockquote { + padding: 10px 20px; + margin: 0 0 20px; + font-size: 17.5px; + border-left: 5px solid #eeeeee; +} +blockquote p:last-child, +blockquote ul:last-child, +blockquote ol:last-child { + margin-bottom: 0; +} +blockquote footer, +blockquote small, +blockquote .small { + display: block; + font-size: 80%; + line-height: 1.42857143; + color: #777777; +} +blockquote footer:before, +blockquote small:before, +blockquote .small:before { + content: "\2014 \00A0"; +} +.blockquote-reverse, +blockquote.pull-right { + padding-right: 15px; + padding-left: 0; + text-align: right; + border-right: 5px solid #eeeeee; + border-left: 0; +} +.blockquote-reverse footer:before, +blockquote.pull-right footer:before, +.blockquote-reverse small:before, +blockquote.pull-right small:before, +.blockquote-reverse .small:before, +blockquote.pull-right .small:before { + content: ""; +} +.blockquote-reverse footer:after, +blockquote.pull-right footer:after, +.blockquote-reverse small:after, +blockquote.pull-right small:after, +.blockquote-reverse .small:after, +blockquote.pull-right .small:after { + content: "\00A0 \2014"; +} +address { + margin-bottom: 20px; + font-style: normal; + line-height: 1.42857143; +} +code, +kbd, +pre, +samp { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; +} +code { + padding: 2px 4px; + font-size: 90%; + color: #c7254e; + background-color: #f9f2f4; + border-radius: 4px; +} +kbd { + padding: 2px 4px; + font-size: 90%; + color: #fff; + background-color: #333; + border-radius: 3px; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25); +} +kbd kbd { + padding: 0; + font-size: 100%; + font-weight: 700; + -webkit-box-shadow: none; + box-shadow: none; +} +pre { + display: block; + padding: 9.5px; + margin: 0 0 10px; + font-size: 13px; + line-height: 1.42857143; + color: #333333; + word-break: break-all; + word-wrap: break-word; + background-color: #f5f5f5; + border: 1px solid #ccc; + border-radius: 4px; +} +pre code { + padding: 0; + font-size: inherit; + color: inherit; + white-space: pre-wrap; + background-color: transparent; + border-radius: 0; +} +.pre-scrollable { + max-height: 340px; + overflow-y: scroll; +} +.container { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +@media (min-width: 768px) { + .container { + width: 750px; + } +} +@media (min-width: 992px) { + .container { + width: 970px; + } +} +@media (min-width: 1200px) { + .container { + width: 1170px; + } +} +.container-fluid { + padding-right: 15px; + padding-left: 15px; + margin-right: auto; + margin-left: auto; +} +.row { + margin-right: -15px; + margin-left: -15px; +} +.row-no-gutters { + margin-right: 0; + margin-left: 0; +} +.row-no-gutters [class*="col-"] { + padding-right: 0; + padding-left: 0; +} +.col-xs-1, +.col-sm-1, +.col-md-1, +.col-lg-1, +.col-xs-2, +.col-sm-2, +.col-md-2, +.col-lg-2, +.col-xs-3, +.col-sm-3, +.col-md-3, +.col-lg-3, +.col-xs-4, +.col-sm-4, +.col-md-4, +.col-lg-4, +.col-xs-5, +.col-sm-5, +.col-md-5, +.col-lg-5, +.col-xs-6, +.col-sm-6, +.col-md-6, +.col-lg-6, +.col-xs-7, +.col-sm-7, +.col-md-7, +.col-lg-7, +.col-xs-8, +.col-sm-8, +.col-md-8, +.col-lg-8, +.col-xs-9, +.col-sm-9, +.col-md-9, +.col-lg-9, +.col-xs-10, +.col-sm-10, +.col-md-10, +.col-lg-10, +.col-xs-11, +.col-sm-11, +.col-md-11, +.col-lg-11, +.col-xs-12, +.col-sm-12, +.col-md-12, +.col-lg-12 { + position: relative; + min-height: 1px; + padding-right: 15px; + padding-left: 15px; +} +.col-xs-1, +.col-xs-2, +.col-xs-3, +.col-xs-4, +.col-xs-5, +.col-xs-6, +.col-xs-7, +.col-xs-8, +.col-xs-9, +.col-xs-10, +.col-xs-11, +.col-xs-12 { + float: left; +} +.col-xs-12 { + width: 100%; +} +.col-xs-11 { + width: 91.66666667%; +} +.col-xs-10 { + width: 83.33333333%; +} +.col-xs-9 { + width: 75%; +} +.col-xs-8 { + width: 66.66666667%; +} +.col-xs-7 { + width: 58.33333333%; +} +.col-xs-6 { + width: 50%; +} +.col-xs-5 { + width: 41.66666667%; +} +.col-xs-4 { + width: 33.33333333%; +} +.col-xs-3 { + width: 25%; +} +.col-xs-2 { + width: 16.66666667%; +} +.col-xs-1 { + width: 8.33333333%; +} +.col-xs-pull-12 { + right: 100%; +} +.col-xs-pull-11 { + right: 91.66666667%; +} +.col-xs-pull-10 { + right: 83.33333333%; +} +.col-xs-pull-9 { + right: 75%; +} +.col-xs-pull-8 { + right: 66.66666667%; +} +.col-xs-pull-7 { + right: 58.33333333%; +} +.col-xs-pull-6 { + right: 50%; +} +.col-xs-pull-5 { + right: 41.66666667%; +} +.col-xs-pull-4 { + right: 33.33333333%; +} +.col-xs-pull-3 { + right: 25%; +} +.col-xs-pull-2 { + right: 16.66666667%; +} +.col-xs-pull-1 { + right: 8.33333333%; +} +.col-xs-pull-0 { + right: auto; +} +.col-xs-push-12 { + left: 100%; +} +.col-xs-push-11 { + left: 91.66666667%; +} +.col-xs-push-10 { + left: 83.33333333%; +} +.col-xs-push-9 { + left: 75%; +} +.col-xs-push-8 { + left: 66.66666667%; +} +.col-xs-push-7 { + left: 58.33333333%; +} +.col-xs-push-6 { + left: 50%; +} +.col-xs-push-5 { + left: 41.66666667%; +} +.col-xs-push-4 { + left: 33.33333333%; +} +.col-xs-push-3 { + left: 25%; +} +.col-xs-push-2 { + left: 16.66666667%; +} +.col-xs-push-1 { + left: 8.33333333%; +} +.col-xs-push-0 { + left: auto; +} +.col-xs-offset-12 { + margin-left: 100%; +} +.col-xs-offset-11 { + margin-left: 91.66666667%; +} +.col-xs-offset-10 { + margin-left: 83.33333333%; +} +.col-xs-offset-9 { + margin-left: 75%; +} +.col-xs-offset-8 { + margin-left: 66.66666667%; +} +.col-xs-offset-7 { + margin-left: 58.33333333%; +} +.col-xs-offset-6 { + margin-left: 50%; +} +.col-xs-offset-5 { + margin-left: 41.66666667%; +} +.col-xs-offset-4 { + margin-left: 33.33333333%; +} +.col-xs-offset-3 { + margin-left: 25%; +} +.col-xs-offset-2 { + margin-left: 16.66666667%; +} +.col-xs-offset-1 { + margin-left: 8.33333333%; +} +.col-xs-offset-0 { + margin-left: 0%; +} +@media (min-width: 768px) { + .col-sm-1, + .col-sm-2, + .col-sm-3, + .col-sm-4, + .col-sm-5, + .col-sm-6, + .col-sm-7, + .col-sm-8, + .col-sm-9, + .col-sm-10, + .col-sm-11, + .col-sm-12 { + float: left; + } + .col-sm-12 { + width: 100%; + } + .col-sm-11 { + width: 91.66666667%; + } + .col-sm-10 { + width: 83.33333333%; + } + .col-sm-9 { + width: 75%; + } + .col-sm-8 { + width: 66.66666667%; + } + .col-sm-7 { + width: 58.33333333%; + } + .col-sm-6 { + width: 50%; + } + .col-sm-5 { + width: 41.66666667%; + } + .col-sm-4 { + width: 33.33333333%; + } + .col-sm-3 { + width: 25%; + } + .col-sm-2 { + width: 16.66666667%; + } + .col-sm-1 { + width: 8.33333333%; + } + .col-sm-pull-12 { + right: 100%; + } + .col-sm-pull-11 { + right: 91.66666667%; + } + .col-sm-pull-10 { + right: 83.33333333%; + } + .col-sm-pull-9 { + right: 75%; + } + .col-sm-pull-8 { + right: 66.66666667%; + } + .col-sm-pull-7 { + right: 58.33333333%; + } + .col-sm-pull-6 { + right: 50%; + } + .col-sm-pull-5 { + right: 41.66666667%; + } + .col-sm-pull-4 { + right: 33.33333333%; + } + .col-sm-pull-3 { + right: 25%; + } + .col-sm-pull-2 { + right: 16.66666667%; + } + .col-sm-pull-1 { + right: 8.33333333%; + } + .col-sm-pull-0 { + right: auto; + } + .col-sm-push-12 { + left: 100%; + } + .col-sm-push-11 { + left: 91.66666667%; + } + .col-sm-push-10 { + left: 83.33333333%; + } + .col-sm-push-9 { + left: 75%; + } + .col-sm-push-8 { + left: 66.66666667%; + } + .col-sm-push-7 { + left: 58.33333333%; + } + .col-sm-push-6 { + left: 50%; + } + .col-sm-push-5 { + left: 41.66666667%; + } + .col-sm-push-4 { + left: 33.33333333%; + } + .col-sm-push-3 { + left: 25%; + } + .col-sm-push-2 { + left: 16.66666667%; + } + .col-sm-push-1 { + left: 8.33333333%; + } + .col-sm-push-0 { + left: auto; + } + .col-sm-offset-12 { + margin-left: 100%; + } + .col-sm-offset-11 { + margin-left: 91.66666667%; + } + .col-sm-offset-10 { + margin-left: 83.33333333%; + } + .col-sm-offset-9 { + margin-left: 75%; + } + .col-sm-offset-8 { + margin-left: 66.66666667%; + } + .col-sm-offset-7 { + margin-left: 58.33333333%; + } + .col-sm-offset-6 { + margin-left: 50%; + } + .col-sm-offset-5 { + margin-left: 41.66666667%; + } + .col-sm-offset-4 { + margin-left: 33.33333333%; + } + .col-sm-offset-3 { + margin-left: 25%; + } + .col-sm-offset-2 { + margin-left: 16.66666667%; + } + .col-sm-offset-1 { + margin-left: 8.33333333%; + } + .col-sm-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 992px) { + .col-md-1, + .col-md-2, + .col-md-3, + .col-md-4, + .col-md-5, + .col-md-6, + .col-md-7, + .col-md-8, + .col-md-9, + .col-md-10, + .col-md-11, + .col-md-12 { + float: left; + } + .col-md-12 { + width: 100%; + } + .col-md-11 { + width: 91.66666667%; + } + .col-md-10 { + width: 83.33333333%; + } + .col-md-9 { + width: 75%; + } + .col-md-8 { + width: 66.66666667%; + } + .col-md-7 { + width: 58.33333333%; + } + .col-md-6 { + width: 50%; + } + .col-md-5 { + width: 41.66666667%; + } + .col-md-4 { + width: 33.33333333%; + } + .col-md-3 { + width: 25%; + } + .col-md-2 { + width: 16.66666667%; + } + .col-md-1 { + width: 8.33333333%; + } + .col-md-pull-12 { + right: 100%; + } + .col-md-pull-11 { + right: 91.66666667%; + } + .col-md-pull-10 { + right: 83.33333333%; + } + .col-md-pull-9 { + right: 75%; + } + .col-md-pull-8 { + right: 66.66666667%; + } + .col-md-pull-7 { + right: 58.33333333%; + } + .col-md-pull-6 { + right: 50%; + } + .col-md-pull-5 { + right: 41.66666667%; + } + .col-md-pull-4 { + right: 33.33333333%; + } + .col-md-pull-3 { + right: 25%; + } + .col-md-pull-2 { + right: 16.66666667%; + } + .col-md-pull-1 { + right: 8.33333333%; + } + .col-md-pull-0 { + right: auto; + } + .col-md-push-12 { + left: 100%; + } + .col-md-push-11 { + left: 91.66666667%; + } + .col-md-push-10 { + left: 83.33333333%; + } + .col-md-push-9 { + left: 75%; + } + .col-md-push-8 { + left: 66.66666667%; + } + .col-md-push-7 { + left: 58.33333333%; + } + .col-md-push-6 { + left: 50%; + } + .col-md-push-5 { + left: 41.66666667%; + } + .col-md-push-4 { + left: 33.33333333%; + } + .col-md-push-3 { + left: 25%; + } + .col-md-push-2 { + left: 16.66666667%; + } + .col-md-push-1 { + left: 8.33333333%; + } + .col-md-push-0 { + left: auto; + } + .col-md-offset-12 { + margin-left: 100%; + } + .col-md-offset-11 { + margin-left: 91.66666667%; + } + .col-md-offset-10 { + margin-left: 83.33333333%; + } + .col-md-offset-9 { + margin-left: 75%; + } + .col-md-offset-8 { + margin-left: 66.66666667%; + } + .col-md-offset-7 { + margin-left: 58.33333333%; + } + .col-md-offset-6 { + margin-left: 50%; + } + .col-md-offset-5 { + margin-left: 41.66666667%; + } + .col-md-offset-4 { + margin-left: 33.33333333%; + } + .col-md-offset-3 { + margin-left: 25%; + } + .col-md-offset-2 { + margin-left: 16.66666667%; + } + .col-md-offset-1 { + margin-left: 8.33333333%; + } + .col-md-offset-0 { + margin-left: 0%; + } +} +@media (min-width: 1200px) { + .col-lg-1, + .col-lg-2, + .col-lg-3, + .col-lg-4, + .col-lg-5, + .col-lg-6, + .col-lg-7, + .col-lg-8, + .col-lg-9, + .col-lg-10, + .col-lg-11, + .col-lg-12 { + float: left; + } + .col-lg-12 { + width: 100%; + } + .col-lg-11 { + width: 91.66666667%; + } + .col-lg-10 { + width: 83.33333333%; + } + .col-lg-9 { + width: 75%; + } + .col-lg-8 { + width: 66.66666667%; + } + .col-lg-7 { + width: 58.33333333%; + } + .col-lg-6 { + width: 50%; + } + .col-lg-5 { + width: 41.66666667%; + } + .col-lg-4 { + width: 33.33333333%; + } + .col-lg-3 { + width: 25%; + } + .col-lg-2 { + width: 16.66666667%; + } + .col-lg-1 { + width: 8.33333333%; + } + .col-lg-pull-12 { + right: 100%; + } + .col-lg-pull-11 { + right: 91.66666667%; + } + .col-lg-pull-10 { + right: 83.33333333%; + } + .col-lg-pull-9 { + right: 75%; + } + .col-lg-pull-8 { + right: 66.66666667%; + } + .col-lg-pull-7 { + right: 58.33333333%; + } + .col-lg-pull-6 { + right: 50%; + } + .col-lg-pull-5 { + right: 41.66666667%; + } + .col-lg-pull-4 { + right: 33.33333333%; + } + .col-lg-pull-3 { + right: 25%; + } + .col-lg-pull-2 { + right: 16.66666667%; + } + .col-lg-pull-1 { + right: 8.33333333%; + } + .col-lg-pull-0 { + right: auto; + } + .col-lg-push-12 { + left: 100%; + } + .col-lg-push-11 { + left: 91.66666667%; + } + .col-lg-push-10 { + left: 83.33333333%; + } + .col-lg-push-9 { + left: 75%; + } + .col-lg-push-8 { + left: 66.66666667%; + } + .col-lg-push-7 { + left: 58.33333333%; + } + .col-lg-push-6 { + left: 50%; + } + .col-lg-push-5 { + left: 41.66666667%; + } + .col-lg-push-4 { + left: 33.33333333%; + } + .col-lg-push-3 { + left: 25%; + } + .col-lg-push-2 { + left: 16.66666667%; + } + .col-lg-push-1 { + left: 8.33333333%; + } + .col-lg-push-0 { + left: auto; + } + .col-lg-offset-12 { + margin-left: 100%; + } + .col-lg-offset-11 { + margin-left: 91.66666667%; + } + .col-lg-offset-10 { + margin-left: 83.33333333%; + } + .col-lg-offset-9 { + margin-left: 75%; + } + .col-lg-offset-8 { + margin-left: 66.66666667%; + } + .col-lg-offset-7 { + margin-left: 58.33333333%; + } + .col-lg-offset-6 { + margin-left: 50%; + } + .col-lg-offset-5 { + margin-left: 41.66666667%; + } + .col-lg-offset-4 { + margin-left: 33.33333333%; + } + .col-lg-offset-3 { + margin-left: 25%; + } + .col-lg-offset-2 { + margin-left: 16.66666667%; + } + .col-lg-offset-1 { + margin-left: 8.33333333%; + } + .col-lg-offset-0 { + margin-left: 0%; + } +} +table { + background-color: transparent; +} +table col[class*="col-"] { + position: static; + display: table-column; + float: none; +} +table td[class*="col-"], +table th[class*="col-"] { + position: static; + display: table-cell; + float: none; +} +caption { + padding-top: 8px; + padding-bottom: 8px; + color: #777777; + text-align: left; +} +th { + text-align: left; +} +.table { + width: 100%; + max-width: 100%; + margin-bottom: 20px; +} +.table > thead > tr > th, +.table > tbody > tr > th, +.table > tfoot > tr > th, +.table > thead > tr > td, +.table > tbody > tr > td, +.table > tfoot > tr > td { + padding: 8px; + line-height: 1.42857143; + vertical-align: top; + border-top: 1px solid #ddd; +} +.table > thead > tr > th { + vertical-align: bottom; + border-bottom: 2px solid #ddd; +} +.table > caption + thead > tr:first-child > th, +.table > colgroup + thead > tr:first-child > th, +.table > thead:first-child > tr:first-child > th, +.table > caption + thead > tr:first-child > td, +.table > colgroup + thead > tr:first-child > td, +.table > thead:first-child > tr:first-child > td { + border-top: 0; +} +.table > tbody + tbody { + border-top: 2px solid #ddd; +} +.table .table { + background-color: #fff; +} +.table-condensed > thead > tr > th, +.table-condensed > tbody > tr > th, +.table-condensed > tfoot > tr > th, +.table-condensed > thead > tr > td, +.table-condensed > tbody > tr > td, +.table-condensed > tfoot > tr > td { + padding: 5px; +} +.table-bordered { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > tbody > tr > th, +.table-bordered > tfoot > tr > th, +.table-bordered > thead > tr > td, +.table-bordered > tbody > tr > td, +.table-bordered > tfoot > tr > td { + border: 1px solid #ddd; +} +.table-bordered > thead > tr > th, +.table-bordered > thead > tr > td { + border-bottom-width: 2px; +} +.table-striped > tbody > tr:nth-of-type(odd) { + background-color: #f9f9f9; +} +.table-hover > tbody > tr:hover { + background-color: #f5f5f5; +} +.table > thead > tr > td.active, +.table > tbody > tr > td.active, +.table > tfoot > tr > td.active, +.table > thead > tr > th.active, +.table > tbody > tr > th.active, +.table > tfoot > tr > th.active, +.table > thead > tr.active > td, +.table > tbody > tr.active > td, +.table > tfoot > tr.active > td, +.table > thead > tr.active > th, +.table > tbody > tr.active > th, +.table > tfoot > tr.active > th { + background-color: #f5f5f5; +} +.table-hover > tbody > tr > td.active:hover, +.table-hover > tbody > tr > th.active:hover, +.table-hover > tbody > tr.active:hover > td, +.table-hover > tbody > tr:hover > .active, +.table-hover > tbody > tr.active:hover > th { + background-color: #e8e8e8; +} +.table > thead > tr > td.success, +.table > tbody > tr > td.success, +.table > tfoot > tr > td.success, +.table > thead > tr > th.success, +.table > tbody > tr > th.success, +.table > tfoot > tr > th.success, +.table > thead > tr.success > td, +.table > tbody > tr.success > td, +.table > tfoot > tr.success > td, +.table > thead > tr.success > th, +.table > tbody > tr.success > th, +.table > tfoot > tr.success > th { + background-color: #dff0d8; +} +.table-hover > tbody > tr > td.success:hover, +.table-hover > tbody > tr > th.success:hover, +.table-hover > tbody > tr.success:hover > td, +.table-hover > tbody > tr:hover > .success, +.table-hover > tbody > tr.success:hover > th { + background-color: #d0e9c6; +} +.table > thead > tr > td.info, +.table > tbody > tr > td.info, +.table > tfoot > tr > td.info, +.table > thead > tr > th.info, +.table > tbody > tr > th.info, +.table > tfoot > tr > th.info, +.table > thead > tr.info > td, +.table > tbody > tr.info > td, +.table > tfoot > tr.info > td, +.table > thead > tr.info > th, +.table > tbody > tr.info > th, +.table > tfoot > tr.info > th { + background-color: #d9edf7; +} +.table-hover > tbody > tr > td.info:hover, +.table-hover > tbody > tr > th.info:hover, +.table-hover > tbody > tr.info:hover > td, +.table-hover > tbody > tr:hover > .info, +.table-hover > tbody > tr.info:hover > th { + background-color: #c4e3f3; +} +.table > thead > tr > td.warning, +.table > tbody > tr > td.warning, +.table > tfoot > tr > td.warning, +.table > thead > tr > th.warning, +.table > tbody > tr > th.warning, +.table > tfoot > tr > th.warning, +.table > thead > tr.warning > td, +.table > tbody > tr.warning > td, +.table > tfoot > tr.warning > td, +.table > thead > tr.warning > th, +.table > tbody > tr.warning > th, +.table > tfoot > tr.warning > th { + background-color: #fcf8e3; +} +.table-hover > tbody > tr > td.warning:hover, +.table-hover > tbody > tr > th.warning:hover, +.table-hover > tbody > tr.warning:hover > td, +.table-hover > tbody > tr:hover > .warning, +.table-hover > tbody > tr.warning:hover > th { + background-color: #faf2cc; +} +.table > thead > tr > td.danger, +.table > tbody > tr > td.danger, +.table > tfoot > tr > td.danger, +.table > thead > tr > th.danger, +.table > tbody > tr > th.danger, +.table > tfoot > tr > th.danger, +.table > thead > tr.danger > td, +.table > tbody > tr.danger > td, +.table > tfoot > tr.danger > td, +.table > thead > tr.danger > th, +.table > tbody > tr.danger > th, +.table > tfoot > tr.danger > th { + background-color: #f2dede; +} +.table-hover > tbody > tr > td.danger:hover, +.table-hover > tbody > tr > th.danger:hover, +.table-hover > tbody > tr.danger:hover > td, +.table-hover > tbody > tr:hover > .danger, +.table-hover > tbody > tr.danger:hover > th { + background-color: #ebcccc; +} +.table-responsive { + min-height: 0.01%; + overflow-x: auto; +} +@media screen and (max-width: 767px) { + .table-responsive { + width: 100%; + margin-bottom: 15px; + overflow-y: hidden; + -ms-overflow-style: -ms-autohiding-scrollbar; + border: 1px solid #ddd; + } + .table-responsive > .table { + margin-bottom: 0; + } + .table-responsive > .table > thead > tr > th, + .table-responsive > .table > tbody > tr > th, + .table-responsive > .table > tfoot > tr > th, + .table-responsive > .table > thead > tr > td, + .table-responsive > .table > tbody > tr > td, + .table-responsive > .table > tfoot > tr > td { + white-space: nowrap; + } + .table-responsive > .table-bordered { + border: 0; + } + .table-responsive > .table-bordered > thead > tr > th:first-child, + .table-responsive > .table-bordered > tbody > tr > th:first-child, + .table-responsive > .table-bordered > tfoot > tr > th:first-child, + .table-responsive > .table-bordered > thead > tr > td:first-child, + .table-responsive > .table-bordered > tbody > tr > td:first-child, + .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; + } + .table-responsive > .table-bordered > thead > tr > th:last-child, + .table-responsive > .table-bordered > tbody > tr > th:last-child, + .table-responsive > .table-bordered > tfoot > tr > th:last-child, + .table-responsive > .table-bordered > thead > tr > td:last-child, + .table-responsive > .table-bordered > tbody > tr > td:last-child, + .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; + } + .table-responsive > .table-bordered > tbody > tr:last-child > th, + .table-responsive > .table-bordered > tfoot > tr:last-child > th, + .table-responsive > .table-bordered > tbody > tr:last-child > td, + .table-responsive > .table-bordered > tfoot > tr:last-child > td { + border-bottom: 0; + } +} +fieldset { + min-width: 0; + padding: 0; + margin: 0; + border: 0; +} +legend { + display: block; + width: 100%; + padding: 0; + margin-bottom: 20px; + font-size: 21px; + line-height: inherit; + color: #333333; + 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; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +input[type="radio"], +input[type="checkbox"] { + margin: 4px 0 0; + margin-top: 1px \9; + line-height: normal; +} +input[type="radio"][disabled], +input[type="checkbox"][disabled], +input[type="radio"].disabled, +input[type="checkbox"].disabled, +fieldset[disabled] input[type="radio"], +fieldset[disabled] input[type="checkbox"] { + cursor: not-allowed; +} +input[type="file"] { + display: block; +} +input[type="range"] { + display: block; + width: 100%; +} +select[multiple], +select[size] { + height: auto; +} +input[type="file"]:focus, +input[type="radio"]:focus, +input[type="checkbox"]:focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +output { + display: block; + padding-top: 7px; + font-size: 14px; + line-height: 1.42857143; + color: #555555; +} +.form-control { + display: block; + width: 100%; + height: 34px; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + color: #555555; + background-color: #fff; + background-image: none; + border: 1px solid #ccc; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s; + 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, -webkit-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, 0.6); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.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::-ms-expand { + background-color: transparent; + border: 0; +} +.form-control[disabled], +.form-control[readonly], +fieldset[disabled] .form-control { + background-color: #eeeeee; + opacity: 1; +} +.form-control[disabled], +fieldset[disabled] .form-control { + cursor: not-allowed; +} +textarea.form-control { + height: auto; +} +@media screen and (-webkit-min-device-pixel-ratio: 0) { + input[type="date"].form-control, + input[type="time"].form-control, + input[type="datetime-local"].form-control, + input[type="month"].form-control { + line-height: 34px; + } + input[type="date"].input-sm, + input[type="time"].input-sm, + input[type="datetime-local"].input-sm, + input[type="month"].input-sm, + .input-group-sm input[type="date"], + .input-group-sm input[type="time"], + .input-group-sm input[type="datetime-local"], + .input-group-sm input[type="month"] { + line-height: 30px; + } + input[type="date"].input-lg, + input[type="time"].input-lg, + input[type="datetime-local"].input-lg, + input[type="month"].input-lg, + .input-group-lg input[type="date"], + .input-group-lg input[type="time"], + .input-group-lg input[type="datetime-local"], + .input-group-lg input[type="month"] { + line-height: 46px; + } +} +.form-group { + margin-bottom: 15px; +} +.radio, +.checkbox { + position: relative; + display: block; + margin-top: 10px; + margin-bottom: 10px; +} +.radio.disabled label, +.checkbox.disabled label, +fieldset[disabled] .radio label, +fieldset[disabled] .checkbox label { + cursor: not-allowed; +} +.radio label, +.checkbox label { + min-height: 20px; + padding-left: 20px; + margin-bottom: 0; + font-weight: 400; + cursor: pointer; +} +.radio input[type="radio"], +.radio-inline input[type="radio"], +.checkbox input[type="checkbox"], +.checkbox-inline input[type="checkbox"] { + position: absolute; + margin-top: 4px \9; + margin-left: -20px; +} +.radio + .radio, +.checkbox + .checkbox { + margin-top: -5px; +} +.radio-inline, +.checkbox-inline { + position: relative; + display: inline-block; + padding-left: 20px; + margin-bottom: 0; + font-weight: 400; + vertical-align: middle; + cursor: pointer; +} +.radio-inline.disabled, +.checkbox-inline.disabled, +fieldset[disabled] .radio-inline, +fieldset[disabled] .checkbox-inline { + cursor: not-allowed; +} +.radio-inline + .radio-inline, +.checkbox-inline + .checkbox-inline { + margin-top: 0; + margin-left: 10px; +} +.form-control-static { + min-height: 34px; + padding-top: 7px; + padding-bottom: 7px; + margin-bottom: 0; +} +.form-control-static.input-lg, +.form-control-static.input-sm { + padding-right: 0; + padding-left: 0; +} +.input-sm { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-sm { + height: 30px; + line-height: 30px; +} +textarea.input-sm, +select[multiple].input-sm { + height: auto; +} +.form-group-sm .form-control { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.form-group-sm select.form-control { + height: 30px; + line-height: 30px; +} +.form-group-sm textarea.form-control, +.form-group-sm select[multiple].form-control { + height: auto; +} +.form-group-sm .form-control-static { + height: 30px; + min-height: 32px; + padding: 6px 10px; + font-size: 12px; + line-height: 1.5; +} +.input-lg { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +select.input-lg { + height: 46px; + line-height: 46px; +} +textarea.input-lg, +select[multiple].input-lg { + height: auto; +} +.form-group-lg .form-control { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +.form-group-lg select.form-control { + height: 46px; + line-height: 46px; +} +.form-group-lg textarea.form-control, +.form-group-lg select[multiple].form-control { + height: auto; +} +.form-group-lg .form-control-static { + height: 46px; + min-height: 38px; + padding: 11px 16px; + font-size: 18px; + line-height: 1.3333333; +} +.has-feedback { + position: relative; +} +.has-feedback .form-control { + padding-right: 42.5px; +} +.form-control-feedback { + position: absolute; + top: 0; + right: 0; + z-index: 2; + display: block; + width: 34px; + height: 34px; + line-height: 34px; + text-align: center; + pointer-events: none; +} +.input-lg + .form-control-feedback, +.input-group-lg + .form-control-feedback, +.form-group-lg .form-control + .form-control-feedback { + width: 46px; + height: 46px; + line-height: 46px; +} +.input-sm + .form-control-feedback, +.input-group-sm + .form-control-feedback, +.form-group-sm .form-control + .form-control-feedback { + width: 30px; + height: 30px; + line-height: 30px; +} +.has-success .help-block, +.has-success .control-label, +.has-success .radio, +.has-success .checkbox, +.has-success .radio-inline, +.has-success .checkbox-inline, +.has-success.radio label, +.has-success.checkbox label, +.has-success.radio-inline label, +.has-success.checkbox-inline label { + color: #3c763d; +} +.has-success .form-control { + border-color: #3c763d; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-success .form-control:focus { + border-color: #2b542c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168; +} +.has-success .input-group-addon { + color: #3c763d; + background-color: #dff0d8; + border-color: #3c763d; +} +.has-success .form-control-feedback { + color: #3c763d; +} +.has-warning .help-block, +.has-warning .control-label, +.has-warning .radio, +.has-warning .checkbox, +.has-warning .radio-inline, +.has-warning .checkbox-inline, +.has-warning.radio label, +.has-warning.checkbox label, +.has-warning.radio-inline label, +.has-warning.checkbox-inline label { + color: #8a6d3b; +} +.has-warning .form-control { + border-color: #8a6d3b; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-warning .form-control:focus { + border-color: #66512c; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b; +} +.has-warning .input-group-addon { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #8a6d3b; +} +.has-warning .form-control-feedback { + color: #8a6d3b; +} +.has-error .help-block, +.has-error .control-label, +.has-error .radio, +.has-error .checkbox, +.has-error .radio-inline, +.has-error .checkbox-inline, +.has-error.radio label, +.has-error.checkbox label, +.has-error.radio-inline label, +.has-error.checkbox-inline label { + color: #a94442; +} +.has-error .form-control { + border-color: #a94442; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); +} +.has-error .form-control:focus { + border-color: #843534; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483; +} +.has-error .input-group-addon { + color: #a94442; + background-color: #f2dede; + border-color: #a94442; +} +.has-error .form-control-feedback { + color: #a94442; +} +.has-feedback label ~ .form-control-feedback { + top: 25px; +} +.has-feedback label.sr-only ~ .form-control-feedback { + top: 0; +} +.help-block { + display: block; + margin-top: 5px; + margin-bottom: 10px; + color: #737373; +} +@media (min-width: 768px) { + .form-inline .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .form-inline .form-control-static { + display: inline-block; + } + .form-inline .input-group { + display: inline-table; + vertical-align: middle; + } + .form-inline .input-group .input-group-addon, + .form-inline .input-group .input-group-btn, + .form-inline .input-group .form-control { + width: auto; + } + .form-inline .input-group > .form-control { + width: 100%; + } + .form-inline .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio, + .form-inline .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .form-inline .radio label, + .form-inline .checkbox label { + padding-left: 0; + } + .form-inline .radio input[type="radio"], + .form-inline .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .form-inline .has-feedback .form-control-feedback { + top: 0; + } +} +.form-horizontal .radio, +.form-horizontal .checkbox, +.form-horizontal .radio-inline, +.form-horizontal .checkbox-inline { + padding-top: 7px; + margin-top: 0; + margin-bottom: 0; +} +.form-horizontal .radio, +.form-horizontal .checkbox { + min-height: 27px; +} +.form-horizontal .form-group { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .form-horizontal .control-label { + padding-top: 7px; + margin-bottom: 0; + text-align: right; + } +} +.form-horizontal .has-feedback .form-control-feedback { + right: 15px; +} +@media (min-width: 768px) { + .form-horizontal .form-group-lg .control-label { + padding-top: 11px; + font-size: 18px; + } +} +@media (min-width: 768px) { + .form-horizontal .form-group-sm .control-label { + padding-top: 6px; + font-size: 12px; + } +} +.btn { + display: inline-block; + margin-bottom: 0; + font-weight: normal; + text-align: center; + white-space: nowrap; + vertical-align: middle; + -ms-touch-action: manipulation; + touch-action: manipulation; + cursor: pointer; + background-image: none; + border: 1px solid transparent; + padding: 6px 12px; + font-size: 14px; + line-height: 1.42857143; + border-radius: 4px; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} +.btn:focus, +.btn:active:focus, +.btn.active:focus, +.btn.focus, +.btn:active.focus, +.btn.active.focus { + outline: 5px auto -webkit-focus-ring-color; + outline-offset: -2px; +} +.btn:hover, +.btn:focus, +.btn.focus { + color: #333; + text-decoration: none; +} +.btn:active, +.btn.active { + background-image: none; + outline: 0; + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn.disabled, +.btn[disabled], +fieldset[disabled] .btn { + cursor: not-allowed; + filter: alpha(opacity=65); + opacity: 0.65; + -webkit-box-shadow: none; + box-shadow: none; +} +a.btn.disabled, +fieldset[disabled] a.btn { + pointer-events: none; +} +.btn-default { + color: #333; + background-color: #fff; + border-color: #ccc; +} +.btn-default:focus, +.btn-default.focus { + color: #333; + background-color: #e6e6e6; + border-color: #8c8c8c; +} +.btn-default:hover { + color: #333; + background-color: #e6e6e6; + border-color: #adadad; +} +.btn-default:active, +.btn-default.active, +.open > .dropdown-toggle.btn-default { + color: #333; + background-color: #e6e6e6; + background-image: none; + border-color: #adadad; +} +.btn-default:active:hover, +.btn-default.active:hover, +.open > .dropdown-toggle.btn-default:hover, +.btn-default:active:focus, +.btn-default.active:focus, +.open > .dropdown-toggle.btn-default:focus, +.btn-default:active.focus, +.btn-default.active.focus, +.open > .dropdown-toggle.btn-default.focus { + color: #333; + background-color: #d4d4d4; + border-color: #8c8c8c; +} +.btn-default.disabled:hover, +.btn-default[disabled]:hover, +fieldset[disabled] .btn-default:hover, +.btn-default.disabled:focus, +.btn-default[disabled]:focus, +fieldset[disabled] .btn-default:focus, +.btn-default.disabled.focus, +.btn-default[disabled].focus, +fieldset[disabled] .btn-default.focus { + background-color: #fff; + border-color: #ccc; +} +.btn-default .badge { + color: #fff; + background-color: #333; +} +.btn-primary { + color: #fff; + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary:focus, +.btn-primary.focus { + color: #fff; + background-color: #286090; + border-color: #122b40; +} +.btn-primary:hover { + color: #fff; + background-color: #286090; + border-color: #204d74; +} +.btn-primary:active, +.btn-primary.active, +.open > .dropdown-toggle.btn-primary { + color: #fff; + background-color: #286090; + background-image: none; + border-color: #204d74; +} +.btn-primary:active:hover, +.btn-primary.active:hover, +.open > .dropdown-toggle.btn-primary:hover, +.btn-primary:active:focus, +.btn-primary.active:focus, +.open > .dropdown-toggle.btn-primary:focus, +.btn-primary:active.focus, +.btn-primary.active.focus, +.open > .dropdown-toggle.btn-primary.focus { + color: #fff; + background-color: #204d74; + border-color: #122b40; +} +.btn-primary.disabled:hover, +.btn-primary[disabled]:hover, +fieldset[disabled] .btn-primary:hover, +.btn-primary.disabled:focus, +.btn-primary[disabled]:focus, +fieldset[disabled] .btn-primary:focus, +.btn-primary.disabled.focus, +.btn-primary[disabled].focus, +fieldset[disabled] .btn-primary.focus { + background-color: #337ab7; + border-color: #2e6da4; +} +.btn-primary .badge { + color: #337ab7; + background-color: #fff; +} +.btn-success { + color: #fff; + background-color: #5cb85c; + border-color: #4cae4c; +} +.btn-success:focus, +.btn-success.focus { + color: #fff; + background-color: #449d44; + border-color: #255625; +} +.btn-success:hover { + color: #fff; + background-color: #449d44; + border-color: #398439; +} +.btn-success:active, +.btn-success.active, +.open > .dropdown-toggle.btn-success { + color: #fff; + background-color: #449d44; + background-image: none; + border-color: #398439; +} +.btn-success:active:hover, +.btn-success.active:hover, +.open > .dropdown-toggle.btn-success:hover, +.btn-success:active:focus, +.btn-success.active:focus, +.open > .dropdown-toggle.btn-success:focus, +.btn-success:active.focus, +.btn-success.active.focus, +.open > .dropdown-toggle.btn-success.focus { + color: #fff; + background-color: #398439; + border-color: #255625; +} +.btn-success.disabled:hover, +.btn-success[disabled]:hover, +fieldset[disabled] .btn-success:hover, +.btn-success.disabled:focus, +.btn-success[disabled]:focus, +fieldset[disabled] .btn-success:focus, +.btn-success.disabled.focus, +.btn-success[disabled].focus, +fieldset[disabled] .btn-success.focus { + 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:focus, +.btn-info.focus { + color: #fff; + background-color: #31b0d5; + border-color: #1b6d85; +} +.btn-info:hover { + color: #fff; + background-color: #31b0d5; + border-color: #269abc; +} +.btn-info:active, +.btn-info.active, +.open > .dropdown-toggle.btn-info { + color: #fff; + background-color: #31b0d5; + background-image: none; + border-color: #269abc; +} +.btn-info:active:hover, +.btn-info.active:hover, +.open > .dropdown-toggle.btn-info:hover, +.btn-info:active:focus, +.btn-info.active:focus, +.open > .dropdown-toggle.btn-info:focus, +.btn-info:active.focus, +.btn-info.active.focus, +.open > .dropdown-toggle.btn-info.focus { + color: #fff; + background-color: #269abc; + border-color: #1b6d85; +} +.btn-info.disabled:hover, +.btn-info[disabled]:hover, +fieldset[disabled] .btn-info:hover, +.btn-info.disabled:focus, +.btn-info[disabled]:focus, +fieldset[disabled] .btn-info:focus, +.btn-info.disabled.focus, +.btn-info[disabled].focus, +fieldset[disabled] .btn-info.focus { + 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:focus, +.btn-warning.focus { + color: #fff; + background-color: #ec971f; + border-color: #985f0d; +} +.btn-warning:hover { + color: #fff; + background-color: #ec971f; + border-color: #d58512; +} +.btn-warning:active, +.btn-warning.active, +.open > .dropdown-toggle.btn-warning { + color: #fff; + background-color: #ec971f; + background-image: none; + border-color: #d58512; +} +.btn-warning:active:hover, +.btn-warning.active:hover, +.open > .dropdown-toggle.btn-warning:hover, +.btn-warning:active:focus, +.btn-warning.active:focus, +.open > .dropdown-toggle.btn-warning:focus, +.btn-warning:active.focus, +.btn-warning.active.focus, +.open > .dropdown-toggle.btn-warning.focus { + color: #fff; + background-color: #d58512; + border-color: #985f0d; +} +.btn-warning.disabled:hover, +.btn-warning[disabled]:hover, +fieldset[disabled] .btn-warning:hover, +.btn-warning.disabled:focus, +.btn-warning[disabled]:focus, +fieldset[disabled] .btn-warning:focus, +.btn-warning.disabled.focus, +.btn-warning[disabled].focus, +fieldset[disabled] .btn-warning.focus { + 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:focus, +.btn-danger.focus { + color: #fff; + background-color: #c9302c; + border-color: #761c19; +} +.btn-danger:hover { + color: #fff; + background-color: #c9302c; + border-color: #ac2925; +} +.btn-danger:active, +.btn-danger.active, +.open > .dropdown-toggle.btn-danger { + color: #fff; + background-color: #c9302c; + background-image: none; + border-color: #ac2925; +} +.btn-danger:active:hover, +.btn-danger.active:hover, +.open > .dropdown-toggle.btn-danger:hover, +.btn-danger:active:focus, +.btn-danger.active:focus, +.open > .dropdown-toggle.btn-danger:focus, +.btn-danger:active.focus, +.btn-danger.active.focus, +.open > .dropdown-toggle.btn-danger.focus { + color: #fff; + background-color: #ac2925; + border-color: #761c19; +} +.btn-danger.disabled:hover, +.btn-danger[disabled]:hover, +fieldset[disabled] .btn-danger:hover, +.btn-danger.disabled:focus, +.btn-danger[disabled]:focus, +fieldset[disabled] .btn-danger:focus, +.btn-danger.disabled.focus, +.btn-danger[disabled].focus, +fieldset[disabled] .btn-danger.focus { + background-color: #d9534f; + border-color: #d43f3a; +} +.btn-danger .badge { + color: #d9534f; + background-color: #fff; +} +.btn-link { + font-weight: 400; + color: #337ab7; + border-radius: 0; +} +.btn-link, +.btn-link:active, +.btn-link.active, +.btn-link[disabled], +fieldset[disabled] .btn-link { + background-color: transparent; + -webkit-box-shadow: none; + box-shadow: none; +} +.btn-link, +.btn-link:hover, +.btn-link:focus, +.btn-link:active { + border-color: transparent; +} +.btn-link:hover, +.btn-link:focus { + color: #23527c; + text-decoration: underline; + background-color: transparent; +} +.btn-link[disabled]:hover, +fieldset[disabled] .btn-link:hover, +.btn-link[disabled]:focus, +fieldset[disabled] .btn-link:focus { + color: #777777; + text-decoration: none; +} +.btn-lg, +.btn-group-lg > .btn { + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +.btn-sm, +.btn-group-sm > .btn { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-xs, +.btn-group-xs > .btn { + padding: 1px 5px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +.btn-block { + display: block; + width: 100%; +} +.btn-block + .btn-block { + margin-top: 5px; +} +input[type="submit"].btn-block, +input[type="reset"].btn-block, +input[type="button"].btn-block { + width: 100%; +} +.fade { + opacity: 0; + -webkit-transition: opacity 0.15s linear; + -o-transition: opacity 0.15s linear; + transition: opacity 0.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-property: height, visibility; + -o-transition-property: height, visibility; + transition-property: height, visibility; + -webkit-transition-duration: 0.35s; + -o-transition-duration: 0.35s; + transition-duration: 0.35s; + -webkit-transition-timing-function: ease; + -o-transition-timing-function: ease; + transition-timing-function: ease; +} +.caret { + display: inline-block; + width: 0; + height: 0; + margin-left: 2px; + vertical-align: middle; + border-top: 4px dashed; + border-top: 4px solid \9; + border-right: 4px solid transparent; + border-left: 4px solid transparent; +} +.dropup, +.dropdown { + position: relative; +} +.dropdown-toggle:focus { + outline: 0; +} +.dropdown-menu { + position: absolute; + top: 100%; + left: 0; + z-index: 1000; + display: none; + float: left; + min-width: 160px; + padding: 5px 0; + margin: 2px 0 0; + font-size: 14px; + text-align: left; + list-style: none; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.15); + border-radius: 4px; + -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); + box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); +} +.dropdown-menu.pull-right { + right: 0; + left: auto; +} +.dropdown-menu .divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.dropdown-menu > li > a { + display: block; + padding: 3px 20px; + clear: both; + font-weight: 400; + line-height: 1.42857143; + color: #333333; + white-space: nowrap; +} +.dropdown-menu > li > a:hover, +.dropdown-menu > li > a:focus { + color: #262626; + text-decoration: none; + background-color: #f5f5f5; +} +.dropdown-menu > .active > a, +.dropdown-menu > .active > a:hover, +.dropdown-menu > .active > a:focus { + color: #fff; + text-decoration: none; + background-color: #337ab7; + outline: 0; +} +.dropdown-menu > .disabled > a, +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + color: #777777; +} +.dropdown-menu > .disabled > a:hover, +.dropdown-menu > .disabled > a:focus { + text-decoration: none; + cursor: not-allowed; + background-color: transparent; + background-image: none; + filter: progid:DXImageTransform.Microsoft.gradient(enabled = false); +} +.open > .dropdown-menu { + display: block; +} +.open > a { + outline: 0; +} +.dropdown-menu-right { + right: 0; + left: auto; +} +.dropdown-menu-left { + right: auto; + left: 0; +} +.dropdown-header { + display: block; + padding: 3px 20px; + font-size: 12px; + line-height: 1.42857143; + color: #777777; + white-space: nowrap; +} +.dropdown-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 990; +} +.pull-right > .dropdown-menu { + right: 0; + left: auto; +} +.dropup .caret, +.navbar-fixed-bottom .dropdown .caret { + content: ""; + border-top: 0; + border-bottom: 4px dashed; + border-bottom: 4px solid \9; +} +.dropup .dropdown-menu, +.navbar-fixed-bottom .dropdown .dropdown-menu { + top: auto; + bottom: 100%; + margin-bottom: 2px; +} +@media (min-width: 768px) { + .navbar-right .dropdown-menu { + right: 0; + left: auto; + } + .navbar-right .dropdown-menu-left { + right: auto; + left: 0; + } +} +.btn-group, +.btn-group-vertical { + position: relative; + display: inline-block; + vertical-align: middle; +} +.btn-group > .btn, +.btn-group-vertical > .btn { + position: relative; + float: left; +} +.btn-group > .btn:hover, +.btn-group-vertical > .btn:hover, +.btn-group > .btn:focus, +.btn-group-vertical > .btn:focus, +.btn-group > .btn:active, +.btn-group-vertical > .btn:active, +.btn-group > .btn.active, +.btn-group-vertical > .btn.active { + z-index: 2; +} +.btn-group .btn + .btn, +.btn-group .btn + .btn-group, +.btn-group .btn-group + .btn, +.btn-group .btn-group + .btn-group { + margin-left: -1px; +} +.btn-toolbar { + margin-left: -5px; +} +.btn-toolbar .btn, +.btn-toolbar .btn-group, +.btn-toolbar .input-group { + float: left; +} +.btn-toolbar > .btn, +.btn-toolbar > .btn-group, +.btn-toolbar > .input-group { + margin-left: 5px; +} +.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) { + border-radius: 0; +} +.btn-group > .btn:first-child { + margin-left: 0; +} +.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn:last-child:not(:first-child), +.btn-group > .dropdown-toggle:not(:first-child) { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group > .btn-group { + float: left; +} +.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group .dropdown-toggle:active, +.btn-group.open .dropdown-toggle { + outline: 0; +} +.btn-group > .btn + .dropdown-toggle { + padding-right: 8px; + padding-left: 8px; +} +.btn-group > .btn-lg + .dropdown-toggle { + padding-right: 12px; + padding-left: 12px; +} +.btn-group.open .dropdown-toggle { + -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); + box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125); +} +.btn-group.open .dropdown-toggle.btn-link { + -webkit-box-shadow: none; + box-shadow: none; +} +.btn .caret { + margin-left: 0; +} +.btn-lg .caret { + border-width: 5px 5px 0; + border-bottom-width: 0; +} +.dropup .btn-lg .caret { + border-width: 0 5px 5px; +} +.btn-group-vertical > .btn, +.btn-group-vertical > .btn-group, +.btn-group-vertical > .btn-group > .btn { + display: block; + float: none; + width: 100%; + max-width: 100%; +} +.btn-group-vertical > .btn-group > .btn { + float: none; +} +.btn-group-vertical > .btn + .btn, +.btn-group-vertical > .btn + .btn-group, +.btn-group-vertical > .btn-group + .btn, +.btn-group-vertical > .btn-group + .btn-group { + margin-top: -1px; + margin-left: 0; +} +.btn-group-vertical > .btn:not(:first-child):not(:last-child) { + border-radius: 0; +} +.btn-group-vertical > .btn:first-child:not(:last-child) { + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn:last-child:not(:first-child) { + border-top-left-radius: 0; + border-top-right-radius: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { + border-radius: 0; +} +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child, +.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle { + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.btn-group-justified { + display: table; + width: 100%; + table-layout: fixed; + border-collapse: separate; +} +.btn-group-justified > .btn, +.btn-group-justified > .btn-group { + display: table-cell; + float: none; + width: 1%; +} +.btn-group-justified > .btn-group .btn { + width: 100%; +} +.btn-group-justified > .btn-group .dropdown-menu { + left: auto; +} +[data-toggle="buttons"] > .btn input[type="radio"], +[data-toggle="buttons"] > .btn-group > .btn input[type="radio"], +[data-toggle="buttons"] > .btn input[type="checkbox"], +[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] { + position: absolute; + clip: rect(0, 0, 0, 0); + pointer-events: none; +} +.input-group { + position: relative; + display: table; + border-collapse: separate; +} +.input-group[class*="col-"] { + float: none; + padding-right: 0; + padding-left: 0; +} +.input-group .form-control { + position: relative; + z-index: 2; + float: left; + width: 100%; + margin-bottom: 0; +} +.input-group .form-control:focus { + z-index: 3; +} +.input-group-lg > .form-control, +.input-group-lg > .input-group-addon, +.input-group-lg > .input-group-btn > .btn { + height: 46px; + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; + border-radius: 6px; +} +select.input-group-lg > .form-control, +select.input-group-lg > .input-group-addon, +select.input-group-lg > .input-group-btn > .btn { + height: 46px; + line-height: 46px; +} +textarea.input-group-lg > .form-control, +textarea.input-group-lg > .input-group-addon, +textarea.input-group-lg > .input-group-btn > .btn, +select[multiple].input-group-lg > .form-control, +select[multiple].input-group-lg > .input-group-addon, +select[multiple].input-group-lg > .input-group-btn > .btn { + height: auto; +} +.input-group-sm > .form-control, +.input-group-sm > .input-group-addon, +.input-group-sm > .input-group-btn > .btn { + height: 30px; + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; + border-radius: 3px; +} +select.input-group-sm > .form-control, +select.input-group-sm > .input-group-addon, +select.input-group-sm > .input-group-btn > .btn { + height: 30px; + line-height: 30px; +} +textarea.input-group-sm > .form-control, +textarea.input-group-sm > .input-group-addon, +textarea.input-group-sm > .input-group-btn > .btn, +select[multiple].input-group-sm > .form-control, +select[multiple].input-group-sm > .input-group-addon, +select[multiple].input-group-sm > .input-group-btn > .btn { + height: auto; +} +.input-group-addon, +.input-group-btn, +.input-group .form-control { + display: table-cell; +} +.input-group-addon:not(:first-child):not(:last-child), +.input-group-btn:not(:first-child):not(:last-child), +.input-group .form-control:not(:first-child):not(:last-child) { + border-radius: 0; +} +.input-group-addon, +.input-group-btn { + width: 1%; + white-space: nowrap; + vertical-align: middle; +} +.input-group-addon { + padding: 6px 12px; + font-size: 14px; + font-weight: 400; + line-height: 1; + color: #555555; + text-align: center; + background-color: #eeeeee; + border: 1px solid #ccc; + border-radius: 4px; +} +.input-group-addon.input-sm { + padding: 5px 10px; + font-size: 12px; + border-radius: 3px; +} +.input-group-addon.input-lg { + padding: 10px 16px; + font-size: 18px; + border-radius: 6px; +} +.input-group-addon input[type="radio"], +.input-group-addon input[type="checkbox"] { + margin-top: 0; +} +.input-group .form-control:first-child, +.input-group-addon:first-child, +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group > .btn, +.input-group-btn:first-child > .dropdown-toggle, +.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), +.input-group-btn:last-child > .btn-group:not(:last-child) > .btn { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} +.input-group-addon:first-child { + border-right: 0; +} +.input-group .form-control:last-child, +.input-group-addon:last-child, +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group > .btn, +.input-group-btn:last-child > .dropdown-toggle, +.input-group-btn:first-child > .btn:not(:first-child), +.input-group-btn:first-child > .btn-group:not(:first-child) > .btn { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.input-group-addon:last-child { + border-left: 0; +} +.input-group-btn { + position: relative; + font-size: 0; + white-space: nowrap; +} +.input-group-btn > .btn { + position: relative; +} +.input-group-btn > .btn + .btn { + margin-left: -1px; +} +.input-group-btn > .btn:hover, +.input-group-btn > .btn:focus, +.input-group-btn > .btn:active { + z-index: 2; +} +.input-group-btn:first-child > .btn, +.input-group-btn:first-child > .btn-group { + margin-right: -1px; +} +.input-group-btn:last-child > .btn, +.input-group-btn:last-child > .btn-group { + z-index: 2; + margin-left: -1px; +} +.nav { + padding-left: 0; + margin-bottom: 0; + list-style: none; +} +.nav > li { + position: relative; + display: block; +} +.nav > li > a { + position: relative; + display: block; + padding: 10px 15px; +} +.nav > li > a:hover, +.nav > li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.nav > li.disabled > a { + color: #777777; +} +.nav > li.disabled > a:hover, +.nav > li.disabled > a:focus { + color: #777777; + text-decoration: none; + cursor: not-allowed; + background-color: transparent; +} +.nav .open > a, +.nav .open > a:hover, +.nav .open > a:focus { + background-color: #eeeeee; + border-color: #337ab7; +} +.nav .nav-divider { + height: 1px; + margin: 9px 0; + overflow: hidden; + background-color: #e5e5e5; +} +.nav > li > a > img { + max-width: none; +} +.nav-tabs { + border-bottom: 1px solid #ddd; +} +.nav-tabs > li { + float: left; + margin-bottom: -1px; +} +.nav-tabs > li > a { + margin-right: 2px; + line-height: 1.42857143; + border: 1px solid transparent; + border-radius: 4px 4px 0 0; +} +.nav-tabs > li > a:hover { + border-color: #eeeeee #eeeeee #ddd; +} +.nav-tabs > li.active > a, +.nav-tabs > li.active > a:hover, +.nav-tabs > li.active > a:focus { + color: #555555; + cursor: default; + background-color: #fff; + border: 1px solid #ddd; + border-bottom-color: transparent; +} +.nav-tabs.nav-justified { + width: 100%; + border-bottom: 0; +} +.nav-tabs.nav-justified > li { + float: none; +} +.nav-tabs.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-tabs.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-tabs.nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs.nav-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs.nav-justified > .active > a, +.nav-tabs.nav-justified > .active > a:hover, +.nav-tabs.nav-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs.nav-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs.nav-justified > .active > a, + .nav-tabs.nav-justified > .active > a:hover, + .nav-tabs.nav-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.nav-pills > li { + float: left; +} +.nav-pills > li > a { + border-radius: 4px; +} +.nav-pills > li + li { + margin-left: 2px; +} +.nav-pills > li.active > a, +.nav-pills > li.active > a:hover, +.nav-pills > li.active > a:focus { + color: #fff; + background-color: #337ab7; +} +.nav-stacked > li { + float: none; +} +.nav-stacked > li + li { + margin-top: 2px; + margin-left: 0; +} +.nav-justified { + width: 100%; +} +.nav-justified > li { + float: none; +} +.nav-justified > li > a { + margin-bottom: 5px; + text-align: center; +} +.nav-justified > .dropdown .dropdown-menu { + top: auto; + left: auto; +} +@media (min-width: 768px) { + .nav-justified > li { + display: table-cell; + width: 1%; + } + .nav-justified > li > a { + margin-bottom: 0; + } +} +.nav-tabs-justified { + border-bottom: 0; +} +.nav-tabs-justified > li > a { + margin-right: 0; + border-radius: 4px; +} +.nav-tabs-justified > .active > a, +.nav-tabs-justified > .active > a:hover, +.nav-tabs-justified > .active > a:focus { + border: 1px solid #ddd; +} +@media (min-width: 768px) { + .nav-tabs-justified > li > a { + border-bottom: 1px solid #ddd; + border-radius: 4px 4px 0 0; + } + .nav-tabs-justified > .active > a, + .nav-tabs-justified > .active > a:hover, + .nav-tabs-justified > .active > a:focus { + border-bottom-color: #fff; + } +} +.tab-content > .tab-pane { + display: none; +} +.tab-content > .active { + display: block; +} +.nav-tabs .dropdown-menu { + margin-top: -1px; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar { + position: relative; + min-height: 50px; + margin-bottom: 20px; + border: 1px solid transparent; +} +@media (min-width: 768px) { + .navbar { + border-radius: 4px; + } +} +@media (min-width: 768px) { + .navbar-header { + float: left; + } +} +.navbar-collapse { + padding-right: 15px; + padding-left: 15px; + overflow-x: visible; + border-top: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1); + -webkit-overflow-scrolling: touch; +} +.navbar-collapse.in { + overflow-y: auto; +} +@media (min-width: 768px) { + .navbar-collapse { + width: auto; + border-top: 0; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-collapse.collapse { + display: block !important; + height: auto !important; + padding-bottom: 0; + overflow: visible !important; + } + .navbar-collapse.in { + overflow-y: visible; + } + .navbar-fixed-top .navbar-collapse, + .navbar-static-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + padding-right: 0; + padding-left: 0; + } +} +.navbar-fixed-top, +.navbar-fixed-bottom { + position: fixed; + right: 0; + left: 0; + z-index: 1030; +} +.navbar-fixed-top .navbar-collapse, +.navbar-fixed-bottom .navbar-collapse { + max-height: 340px; +} +@media (max-device-width: 480px) and (orientation: landscape) { + .navbar-fixed-top .navbar-collapse, + .navbar-fixed-bottom .navbar-collapse { + max-height: 200px; + } +} +@media (min-width: 768px) { + .navbar-fixed-top, + .navbar-fixed-bottom { + border-radius: 0; + } +} +.navbar-fixed-top { + top: 0; + border-width: 0 0 1px; +} +.navbar-fixed-bottom { + bottom: 0; + margin-bottom: 0; + border-width: 1px 0 0; +} +.container > .navbar-header, +.container-fluid > .navbar-header, +.container > .navbar-collapse, +.container-fluid > .navbar-collapse { + margin-right: -15px; + margin-left: -15px; +} +@media (min-width: 768px) { + .container > .navbar-header, + .container-fluid > .navbar-header, + .container > .navbar-collapse, + .container-fluid > .navbar-collapse { + margin-right: 0; + margin-left: 0; + } +} +.navbar-static-top { + z-index: 1000; + border-width: 0 0 1px; +} +@media (min-width: 768px) { + .navbar-static-top { + border-radius: 0; + } +} +.navbar-brand { + float: left; + height: 50px; + padding: 15px 15px; + font-size: 18px; + line-height: 20px; +} +.navbar-brand:hover, +.navbar-brand:focus { + text-decoration: none; +} +.navbar-brand > img { + display: block; +} +@media (min-width: 768px) { + .navbar > .container .navbar-brand, + .navbar > .container-fluid .navbar-brand { + margin-left: -15px; + } +} +.navbar-toggle { + position: relative; + float: right; + padding: 9px 10px; + margin-right: 15px; + 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; + -webkit-box-shadow: none; + box-shadow: none; + } + .navbar-nav .open .dropdown-menu > li > a, + .navbar-nav .open .dropdown-menu .dropdown-header { + padding: 5px 15px 5px 25px; + } + .navbar-nav .open .dropdown-menu > li > a { + line-height: 20px; + } + .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-nav .open .dropdown-menu > li > a:focus { + background-image: none; + } +} +@media (min-width: 768px) { + .navbar-nav { + float: left; + margin: 0; + } + .navbar-nav > li { + float: left; + } + .navbar-nav > li > a { + padding-top: 15px; + padding-bottom: 15px; + } +} +.navbar-form { + padding: 10px 15px; + margin-right: -15px; + margin-left: -15px; + border-top: 1px solid transparent; + border-bottom: 1px solid transparent; + -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1); + margin-top: 8px; + margin-bottom: 8px; +} +@media (min-width: 768px) { + .navbar-form .form-group { + display: inline-block; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .form-control { + display: inline-block; + width: auto; + vertical-align: middle; + } + .navbar-form .form-control-static { + display: inline-block; + } + .navbar-form .input-group { + display: inline-table; + vertical-align: middle; + } + .navbar-form .input-group .input-group-addon, + .navbar-form .input-group .input-group-btn, + .navbar-form .input-group .form-control { + width: auto; + } + .navbar-form .input-group > .form-control { + width: 100%; + } + .navbar-form .control-label { + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio, + .navbar-form .checkbox { + display: inline-block; + margin-top: 0; + margin-bottom: 0; + vertical-align: middle; + } + .navbar-form .radio label, + .navbar-form .checkbox label { + padding-left: 0; + } + .navbar-form .radio input[type="radio"], + .navbar-form .checkbox input[type="checkbox"] { + position: relative; + margin-left: 0; + } + .navbar-form .has-feedback .form-control-feedback { + top: 0; + } +} +@media (max-width: 767px) { + .navbar-form .form-group { + margin-bottom: 5px; + } + .navbar-form .form-group:last-child { + margin-bottom: 0; + } +} +@media (min-width: 768px) { + .navbar-form { + width: auto; + padding-top: 0; + padding-bottom: 0; + margin-right: 0; + margin-left: 0; + border: 0; + -webkit-box-shadow: none; + box-shadow: none; + } +} +.navbar-nav > li > .dropdown-menu { + margin-top: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { + margin-bottom: 0; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom-right-radius: 0; + border-bottom-left-radius: 0; +} +.navbar-btn { + margin-top: 8px; + margin-bottom: 8px; +} +.navbar-btn.btn-sm { + margin-top: 10px; + margin-bottom: 10px; +} +.navbar-btn.btn-xs { + margin-top: 14px; + margin-bottom: 14px; +} +.navbar-text { + margin-top: 15px; + margin-bottom: 15px; +} +@media (min-width: 768px) { + .navbar-text { + float: left; + margin-right: 15px; + margin-left: 15px; + } +} +@media (min-width: 768px) { + .navbar-left { + float: left !important; + } + .navbar-right { + float: right !important; + margin-right: -15px; + } + .navbar-right ~ .navbar-right { + margin-right: 0; + } +} +.navbar-default { + background-color: #f8f8f8; + border-color: #e7e7e7; +} +.navbar-default .navbar-brand { + color: #777; +} +.navbar-default .navbar-brand:hover, +.navbar-default .navbar-brand:focus { + color: #5e5e5e; + background-color: transparent; +} +.navbar-default .navbar-text { + color: #777; +} +.navbar-default .navbar-nav > li > a { + color: #777; +} +.navbar-default .navbar-nav > li > a:hover, +.navbar-default .navbar-nav > li > a:focus { + color: #333; + background-color: transparent; +} +.navbar-default .navbar-nav > .active > a, +.navbar-default .navbar-nav > .active > a:hover, +.navbar-default .navbar-nav > .active > a:focus { + color: #555; + background-color: #e7e7e7; +} +.navbar-default .navbar-nav > .disabled > a, +.navbar-default .navbar-nav > .disabled > a:hover, +.navbar-default .navbar-nav > .disabled > a:focus { + color: #ccc; + background-color: transparent; +} +.navbar-default .navbar-nav > .open > a, +.navbar-default .navbar-nav > .open > a:hover, +.navbar-default .navbar-nav > .open > a:focus { + color: #555; + background-color: #e7e7e7; +} +@media (max-width: 767px) { + .navbar-default .navbar-nav .open .dropdown-menu > li > a { + color: #777; + } + .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus { + color: #333; + background-color: transparent; + } + .navbar-default .navbar-nav .open .dropdown-menu > .active > a, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #555; + background-color: #e7e7e7; + } + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #ccc; + background-color: transparent; + } +} +.navbar-default .navbar-toggle { + border-color: #ddd; +} +.navbar-default .navbar-toggle:hover, +.navbar-default .navbar-toggle:focus { + background-color: #ddd; +} +.navbar-default .navbar-toggle .icon-bar { + background-color: #888; +} +.navbar-default .navbar-collapse, +.navbar-default .navbar-form { + border-color: #e7e7e7; +} +.navbar-default .navbar-link { + color: #777; +} +.navbar-default .navbar-link:hover { + color: #333; +} +.navbar-default .btn-link { + color: #777; +} +.navbar-default .btn-link:hover, +.navbar-default .btn-link:focus { + color: #333; +} +.navbar-default .btn-link[disabled]:hover, +fieldset[disabled] .navbar-default .btn-link:hover, +.navbar-default .btn-link[disabled]:focus, +fieldset[disabled] .navbar-default .btn-link:focus { + color: #ccc; +} +.navbar-inverse { + background-color: #222; + border-color: #080808; +} +.navbar-inverse .navbar-brand { + color: #9d9d9d; +} +.navbar-inverse .navbar-brand:hover, +.navbar-inverse .navbar-brand:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-text { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a { + color: #9d9d9d; +} +.navbar-inverse .navbar-nav > li > a:hover, +.navbar-inverse .navbar-nav > li > a:focus { + color: #fff; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .active > a, +.navbar-inverse .navbar-nav > .active > a:hover, +.navbar-inverse .navbar-nav > .active > a:focus { + color: #fff; + background-color: #080808; +} +.navbar-inverse .navbar-nav > .disabled > a, +.navbar-inverse .navbar-nav > .disabled > a:hover, +.navbar-inverse .navbar-nav > .disabled > a:focus { + color: #444; + background-color: transparent; +} +.navbar-inverse .navbar-nav > .open > a, +.navbar-inverse .navbar-nav > .open > a:hover, +.navbar-inverse .navbar-nav > .open > a:focus { + color: #fff; + background-color: #080808; +} +@media (max-width: 767px) { + .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header { + border-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu .divider { + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a { + color: #9d9d9d; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus { + color: #fff; + background-color: transparent; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus { + color: #fff; + background-color: #080808; + } + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover, + .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus { + color: #444; + background-color: transparent; + } +} +.navbar-inverse .navbar-toggle { + border-color: #333; +} +.navbar-inverse .navbar-toggle:hover, +.navbar-inverse .navbar-toggle:focus { + background-color: #333; +} +.navbar-inverse .navbar-toggle .icon-bar { + background-color: #fff; +} +.navbar-inverse .navbar-collapse, +.navbar-inverse .navbar-form { + border-color: #101010; +} +.navbar-inverse .navbar-link { + color: #9d9d9d; +} +.navbar-inverse .navbar-link:hover { + color: #fff; +} +.navbar-inverse .btn-link { + color: #9d9d9d; +} +.navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link:focus { + color: #fff; +} +.navbar-inverse .btn-link[disabled]:hover, +fieldset[disabled] .navbar-inverse .btn-link:hover, +.navbar-inverse .btn-link[disabled]:focus, +fieldset[disabled] .navbar-inverse .btn-link:focus { + color: #444; +} +.breadcrumb { + padding: 8px 15px; + margin-bottom: 20px; + list-style: none; + background-color: #f5f5f5; + border-radius: 4px; +} +.breadcrumb > li { + display: inline-block; +} +.breadcrumb > li + li:before { + padding: 0 5px; + color: #ccc; + content: "/\00a0"; +} +.breadcrumb > .active { + color: #777777; +} +.pagination { + display: inline-block; + padding-left: 0; + margin: 20px 0; + border-radius: 4px; +} +.pagination > li { + display: inline; +} +.pagination > li > a, +.pagination > li > span { + position: relative; + float: left; + padding: 6px 12px; + margin-left: -1px; + line-height: 1.42857143; + color: #337ab7; + text-decoration: none; + background-color: #fff; + border: 1px solid #ddd; +} +.pagination > li > a:hover, +.pagination > li > span:hover, +.pagination > li > a:focus, +.pagination > li > span:focus { + z-index: 2; + color: #23527c; + background-color: #eeeeee; + border-color: #ddd; +} +.pagination > li:first-child > a, +.pagination > li:first-child > span { + margin-left: 0; + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +.pagination > li:last-child > a, +.pagination > li:last-child > span { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} +.pagination > .active > a, +.pagination > .active > span, +.pagination > .active > a:hover, +.pagination > .active > span:hover, +.pagination > .active > a:focus, +.pagination > .active > span:focus { + z-index: 3; + color: #fff; + cursor: default; + background-color: #337ab7; + border-color: #337ab7; +} +.pagination > .disabled > span, +.pagination > .disabled > span:hover, +.pagination > .disabled > span:focus, +.pagination > .disabled > a, +.pagination > .disabled > a:hover, +.pagination > .disabled > a:focus { + color: #777777; + cursor: not-allowed; + background-color: #fff; + border-color: #ddd; +} +.pagination-lg > li > a, +.pagination-lg > li > span { + padding: 10px 16px; + font-size: 18px; + line-height: 1.3333333; +} +.pagination-lg > li:first-child > a, +.pagination-lg > li:first-child > span { + border-top-left-radius: 6px; + border-bottom-left-radius: 6px; +} +.pagination-lg > li:last-child > a, +.pagination-lg > li:last-child > span { + border-top-right-radius: 6px; + border-bottom-right-radius: 6px; +} +.pagination-sm > li > a, +.pagination-sm > li > span { + padding: 5px 10px; + font-size: 12px; + line-height: 1.5; +} +.pagination-sm > li:first-child > a, +.pagination-sm > li:first-child > span { + border-top-left-radius: 3px; + border-bottom-left-radius: 3px; +} +.pagination-sm > li:last-child > a, +.pagination-sm > li:last-child > span { + border-top-right-radius: 3px; + border-bottom-right-radius: 3px; +} +.pager { + padding-left: 0; + margin: 20px 0; + text-align: center; + list-style: none; +} +.pager li { + display: inline; +} +.pager li > a, +.pager li > span { + display: inline-block; + padding: 5px 14px; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 15px; +} +.pager li > a:hover, +.pager li > a:focus { + text-decoration: none; + background-color: #eeeeee; +} +.pager .next > a, +.pager .next > span { + float: right; +} +.pager .previous > a, +.pager .previous > span { + float: left; +} +.pager .disabled > a, +.pager .disabled > a:hover, +.pager .disabled > a:focus, +.pager .disabled > span { + color: #777777; + cursor: not-allowed; + background-color: #fff; +} +.label { + display: inline; + padding: 0.2em 0.6em 0.3em; + font-size: 75%; + font-weight: 700; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + border-radius: 0.25em; +} +a.label:hover, +a.label:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.label:empty { + display: none; +} +.btn .label { + position: relative; + top: -1px; +} +.label-default { + background-color: #777777; +} +.label-default[href]:hover, +.label-default[href]:focus { + background-color: #5e5e5e; +} +.label-primary { + background-color: #337ab7; +} +.label-primary[href]:hover, +.label-primary[href]:focus { + background-color: #286090; +} +.label-success { + background-color: #5cb85c; +} +.label-success[href]:hover, +.label-success[href]:focus { + background-color: #449d44; +} +.label-info { + background-color: #5bc0de; +} +.label-info[href]:hover, +.label-info[href]:focus { + background-color: #31b0d5; +} +.label-warning { + background-color: #f0ad4e; +} +.label-warning[href]:hover, +.label-warning[href]:focus { + background-color: #ec971f; +} +.label-danger { + background-color: #d9534f; +} +.label-danger[href]:hover, +.label-danger[href]:focus { + background-color: #c9302c; +} +.badge { + display: inline-block; + min-width: 10px; + padding: 3px 7px; + font-size: 12px; + font-weight: bold; + line-height: 1; + color: #fff; + text-align: center; + white-space: nowrap; + vertical-align: middle; + background-color: #777777; + border-radius: 10px; +} +.badge:empty { + display: none; +} +.btn .badge { + position: relative; + top: -1px; +} +.btn-xs .badge, +.btn-group-xs > .btn .badge { + top: 0; + padding: 1px 5px; +} +a.badge:hover, +a.badge:focus { + color: #fff; + text-decoration: none; + cursor: pointer; +} +.list-group-item.active > .badge, +.nav-pills > .active > a > .badge { + color: #337ab7; + background-color: #fff; +} +.list-group-item > .badge { + float: right; +} +.list-group-item > .badge + .badge { + margin-right: 5px; +} +.nav-pills > li > a > .badge { + margin-left: 3px; +} +.jumbotron { + padding-top: 30px; + padding-bottom: 30px; + margin-bottom: 30px; + color: inherit; + background-color: #eeeeee; +} +.jumbotron h1, +.jumbotron .h1 { + color: inherit; +} +.jumbotron p { + margin-bottom: 15px; + font-size: 21px; + font-weight: 200; +} +.jumbotron > hr { + border-top-color: #d5d5d5; +} +.container .jumbotron, +.container-fluid .jumbotron { + padding-right: 15px; + padding-left: 15px; + border-radius: 6px; +} +.jumbotron .container { + max-width: 100%; +} +@media screen and (min-width: 768px) { + .jumbotron { + padding-top: 48px; + padding-bottom: 48px; + } + .container .jumbotron, + .container-fluid .jumbotron { + padding-right: 60px; + padding-left: 60px; + } + .jumbotron h1, + .jumbotron .h1 { + font-size: 63px; + } +} +.thumbnail { + display: block; + padding: 4px; + margin-bottom: 20px; + line-height: 1.42857143; + background-color: #fff; + border: 1px solid #ddd; + border-radius: 4px; + -webkit-transition: border 0.2s ease-in-out; + -o-transition: border 0.2s ease-in-out; + transition: border 0.2s ease-in-out; +} +.thumbnail > img, +.thumbnail a > img { + margin-right: auto; + margin-left: auto; +} +a.thumbnail:hover, +a.thumbnail:focus, +a.thumbnail.active { + border-color: #337ab7; +} +.thumbnail .caption { + padding: 9px; + color: #333333; +} +.alert { + padding: 15px; + margin-bottom: 20px; + border: 1px solid transparent; + border-radius: 4px; +} +.alert h4 { + margin-top: 0; + color: inherit; +} +.alert .alert-link { + font-weight: bold; +} +.alert > p, +.alert > ul { + margin-bottom: 0; +} +.alert > p + p { + margin-top: 5px; +} +.alert-dismissable, +.alert-dismissible { + padding-right: 35px; +} +.alert-dismissable .close, +.alert-dismissible .close { + position: relative; + top: -2px; + right: -21px; + color: inherit; +} +.alert-success { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.alert-success hr { + border-top-color: #c9e2b3; +} +.alert-success .alert-link { + color: #2b542c; +} +.alert-info { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.alert-info hr { + border-top-color: #a6e1ec; +} +.alert-info .alert-link { + color: #245269; +} +.alert-warning { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.alert-warning hr { + border-top-color: #f7e1b5; +} +.alert-warning .alert-link { + color: #66512c; +} +.alert-danger { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.alert-danger hr { + border-top-color: #e4b9c0; +} +.alert-danger .alert-link { + color: #843534; +} +@-webkit-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@-o-keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +@keyframes progress-bar-stripes { + from { + background-position: 40px 0; + } + to { + background-position: 0 0; + } +} +.progress { + height: 20px; + margin-bottom: 20px; + overflow: hidden; + background-color: #f5f5f5; + border-radius: 4px; + -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); + box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1); +} +.progress-bar { + float: left; + width: 0%; + height: 100%; + font-size: 12px; + line-height: 20px; + color: #fff; + text-align: center; + background-color: #337ab7; + -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15); + -webkit-transition: width 0.6s ease; + -o-transition: width 0.6s ease; + transition: width 0.6s ease; +} +.progress-striped .progress-bar, +.progress-bar-striped { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + -webkit-background-size: 40px 40px; + background-size: 40px 40px; +} +.progress.active .progress-bar, +.progress-bar.active { + -webkit-animation: progress-bar-stripes 2s linear infinite; + -o-animation: progress-bar-stripes 2s linear infinite; + animation: progress-bar-stripes 2s linear infinite; +} +.progress-bar-success { + background-color: #5cb85c; +} +.progress-striped .progress-bar-success { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-info { + background-color: #5bc0de; +} +.progress-striped .progress-bar-info { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-warning { + background-color: #f0ad4e; +} +.progress-striped .progress-bar-warning { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.progress-bar-danger { + background-color: #d9534f; +} +.progress-striped .progress-bar-danger { + background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); + background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent); +} +.media { + margin-top: 15px; +} +.media:first-child { + margin-top: 0; +} +.media, +.media-body { + overflow: hidden; + zoom: 1; +} +.media-body { + width: 10000px; +} +.media-object { + display: block; +} +.media-object.img-thumbnail { + max-width: none; +} +.media-right, +.media > .pull-right { + padding-left: 10px; +} +.media-left, +.media > .pull-left { + padding-right: 10px; +} +.media-left, +.media-right, +.media-body { + display: table-cell; + vertical-align: top; +} +.media-middle { + vertical-align: middle; +} +.media-bottom { + vertical-align: bottom; +} +.media-heading { + margin-top: 0; + margin-bottom: 5px; +} +.media-list { + padding-left: 0; + list-style: none; +} +.list-group { + padding-left: 0; + margin-bottom: 20px; +} +.list-group-item { + position: relative; + display: block; + padding: 10px 15px; + margin-bottom: -1px; + background-color: #fff; + border: 1px solid #ddd; +} +.list-group-item:first-child { + border-top-left-radius: 4px; + border-top-right-radius: 4px; +} +.list-group-item:last-child { + margin-bottom: 0; + border-bottom-right-radius: 4px; + border-bottom-left-radius: 4px; +} +.list-group-item.disabled, +.list-group-item.disabled:hover, +.list-group-item.disabled:focus { + color: #777777; + cursor: not-allowed; + background-color: #eeeeee; +} +.list-group-item.disabled .list-group-item-heading, +.list-group-item.disabled:hover .list-group-item-heading, +.list-group-item.disabled:focus .list-group-item-heading { + color: inherit; +} +.list-group-item.disabled .list-group-item-text, +.list-group-item.disabled:hover .list-group-item-text, +.list-group-item.disabled:focus .list-group-item-text { + color: #777777; +} +.list-group-item.active, +.list-group-item.active:hover, +.list-group-item.active:focus { + z-index: 2; + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.list-group-item.active .list-group-item-heading, +.list-group-item.active:hover .list-group-item-heading, +.list-group-item.active:focus .list-group-item-heading, +.list-group-item.active .list-group-item-heading > small, +.list-group-item.active:hover .list-group-item-heading > small, +.list-group-item.active:focus .list-group-item-heading > small, +.list-group-item.active .list-group-item-heading > .small, +.list-group-item.active:hover .list-group-item-heading > .small, +.list-group-item.active:focus .list-group-item-heading > .small { + color: inherit; +} +.list-group-item.active .list-group-item-text, +.list-group-item.active:hover .list-group-item-text, +.list-group-item.active:focus .list-group-item-text { + color: #c7ddef; +} +a.list-group-item, +button.list-group-item { + color: #555; +} +a.list-group-item .list-group-item-heading, +button.list-group-item .list-group-item-heading { + color: #333; +} +a.list-group-item:hover, +button.list-group-item:hover, +a.list-group-item:focus, +button.list-group-item:focus { + color: #555; + text-decoration: none; + background-color: #f5f5f5; +} +button.list-group-item { + width: 100%; + text-align: left; +} +.list-group-item-success { + color: #3c763d; + background-color: #dff0d8; +} +a.list-group-item-success, +button.list-group-item-success { + color: #3c763d; +} +a.list-group-item-success .list-group-item-heading, +button.list-group-item-success .list-group-item-heading { + color: inherit; +} +a.list-group-item-success:hover, +button.list-group-item-success:hover, +a.list-group-item-success:focus, +button.list-group-item-success:focus { + color: #3c763d; + background-color: #d0e9c6; +} +a.list-group-item-success.active, +button.list-group-item-success.active, +a.list-group-item-success.active:hover, +button.list-group-item-success.active:hover, +a.list-group-item-success.active:focus, +button.list-group-item-success.active:focus { + color: #fff; + background-color: #3c763d; + border-color: #3c763d; +} +.list-group-item-info { + color: #31708f; + background-color: #d9edf7; +} +a.list-group-item-info, +button.list-group-item-info { + color: #31708f; +} +a.list-group-item-info .list-group-item-heading, +button.list-group-item-info .list-group-item-heading { + color: inherit; +} +a.list-group-item-info:hover, +button.list-group-item-info:hover, +a.list-group-item-info:focus, +button.list-group-item-info:focus { + color: #31708f; + background-color: #c4e3f3; +} +a.list-group-item-info.active, +button.list-group-item-info.active, +a.list-group-item-info.active:hover, +button.list-group-item-info.active:hover, +a.list-group-item-info.active:focus, +button.list-group-item-info.active:focus { + color: #fff; + background-color: #31708f; + border-color: #31708f; +} +.list-group-item-warning { + color: #8a6d3b; + background-color: #fcf8e3; +} +a.list-group-item-warning, +button.list-group-item-warning { + color: #8a6d3b; +} +a.list-group-item-warning .list-group-item-heading, +button.list-group-item-warning .list-group-item-heading { + color: inherit; +} +a.list-group-item-warning:hover, +button.list-group-item-warning:hover, +a.list-group-item-warning:focus, +button.list-group-item-warning:focus { + color: #8a6d3b; + background-color: #faf2cc; +} +a.list-group-item-warning.active, +button.list-group-item-warning.active, +a.list-group-item-warning.active:hover, +button.list-group-item-warning.active:hover, +a.list-group-item-warning.active:focus, +button.list-group-item-warning.active:focus { + color: #fff; + background-color: #8a6d3b; + border-color: #8a6d3b; +} +.list-group-item-danger { + color: #a94442; + background-color: #f2dede; +} +a.list-group-item-danger, +button.list-group-item-danger { + color: #a94442; +} +a.list-group-item-danger .list-group-item-heading, +button.list-group-item-danger .list-group-item-heading { + color: inherit; +} +a.list-group-item-danger:hover, +button.list-group-item-danger:hover, +a.list-group-item-danger:focus, +button.list-group-item-danger:focus { + color: #a94442; + background-color: #ebcccc; +} +a.list-group-item-danger.active, +button.list-group-item-danger.active, +a.list-group-item-danger.active:hover, +button.list-group-item-danger.active:hover, +a.list-group-item-danger.active:focus, +button.list-group-item-danger.active:focus { + color: #fff; + background-color: #a94442; + border-color: #a94442; +} +.list-group-item-heading { + margin-top: 0; + margin-bottom: 5px; +} +.list-group-item-text { + margin-bottom: 0; + line-height: 1.3; +} +.panel { + margin-bottom: 20px; + background-color: #fff; + border: 1px solid transparent; + border-radius: 4px; + -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); + box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05); +} +.panel-body { + padding: 15px; +} +.panel-heading { + padding: 10px 15px; + border-bottom: 1px solid transparent; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel-heading > .dropdown .dropdown-toggle { + color: inherit; +} +.panel-title { + margin-top: 0; + margin-bottom: 0; + font-size: 16px; + color: inherit; +} +.panel-title > a, +.panel-title > small, +.panel-title > .small, +.panel-title > small > a, +.panel-title > .small > a { + color: inherit; +} +.panel-footer { + padding: 10px 15px; + background-color: #f5f5f5; + border-top: 1px solid #ddd; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .list-group, +.panel > .panel-collapse > .list-group { + margin-bottom: 0; +} +.panel > .list-group .list-group-item, +.panel > .panel-collapse > .list-group .list-group-item { + border-width: 1px 0; + border-radius: 0; +} +.panel > .list-group:first-child .list-group-item:first-child, +.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child { + border-top: 0; + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .list-group:last-child .list-group-item:last-child, +.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child { + border-bottom: 0; + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child { + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.panel-heading + .list-group .list-group-item:first-child { + border-top-width: 0; +} +.list-group + .panel-footer { + border-top-width: 0; +} +.panel > .table, +.panel > .table-responsive > .table, +.panel > .panel-collapse > .table { + margin-bottom: 0; +} +.panel > .table caption, +.panel > .table-responsive > .table caption, +.panel > .panel-collapse > .table caption { + padding-right: 15px; + padding-left: 15px; +} +.panel > .table:first-child, +.panel > .table-responsive:first-child > .table:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child { + border-top-left-radius: 3px; + border-top-right-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child { + border-top-left-radius: 3px; +} +.panel > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child, +.panel > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child, +.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child, +.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child { + border-top-right-radius: 3px; +} +.panel > .table:last-child, +.panel > .table-responsive:last-child > .table:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child { + border-bottom-right-radius: 3px; + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child { + border-bottom-left-radius: 3px; +} +.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child, +.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child, +.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child, +.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child { + border-bottom-right-radius: 3px; +} +.panel > .panel-body + .table, +.panel > .panel-body + .table-responsive, +.panel > .table + .panel-body, +.panel > .table-responsive + .panel-body { + border-top: 1px solid #ddd; +} +.panel > .table > tbody:first-child > tr:first-child th, +.panel > .table > tbody:first-child > tr:first-child td { + border-top: 0; +} +.panel > .table-bordered, +.panel > .table-responsive > .table-bordered { + border: 0; +} +.panel > .table-bordered > thead > tr > th:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:first-child, +.panel > .table-bordered > tbody > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child, +.panel > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child, +.panel > .table-bordered > thead > tr > td:first-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:first-child, +.panel > .table-bordered > tbody > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child, +.panel > .table-bordered > tfoot > tr > td:first-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child { + border-left: 0; +} +.panel > .table-bordered > thead > tr > th:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > th:last-child, +.panel > .table-bordered > tbody > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child, +.panel > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child, +.panel > .table-bordered > thead > tr > td:last-child, +.panel > .table-responsive > .table-bordered > thead > tr > td:last-child, +.panel > .table-bordered > tbody > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child, +.panel > .table-bordered > tfoot > tr > td:last-child, +.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child { + border-right: 0; +} +.panel > .table-bordered > thead > tr:first-child > td, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > td, +.panel > .table-bordered > tbody > tr:first-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td, +.panel > .table-bordered > thead > tr:first-child > th, +.panel > .table-responsive > .table-bordered > thead > tr:first-child > th, +.panel > .table-bordered > tbody > tr:first-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th { + border-bottom: 0; +} +.panel > .table-bordered > tbody > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td, +.panel > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td, +.panel > .table-bordered > tbody > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th, +.panel > .table-bordered > tfoot > tr:last-child > th, +.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th { + border-bottom: 0; +} +.panel > .table-responsive { + margin-bottom: 0; + border: 0; +} +.panel-group { + margin-bottom: 20px; +} +.panel-group .panel { + margin-bottom: 0; + border-radius: 4px; +} +.panel-group .panel + .panel { + margin-top: 5px; +} +.panel-group .panel-heading { + border-bottom: 0; +} +.panel-group .panel-heading + .panel-collapse > .panel-body, +.panel-group .panel-heading + .panel-collapse > .list-group { + border-top: 1px solid #ddd; +} +.panel-group .panel-footer { + border-top: 0; +} +.panel-group .panel-footer + .panel-collapse .panel-body { + border-bottom: 1px solid #ddd; +} +.panel-default { + border-color: #ddd; +} +.panel-default > .panel-heading { + color: #333333; + background-color: #f5f5f5; + border-color: #ddd; +} +.panel-default > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ddd; +} +.panel-default > .panel-heading .badge { + color: #f5f5f5; + background-color: #333333; +} +.panel-default > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ddd; +} +.panel-primary { + border-color: #337ab7; +} +.panel-primary > .panel-heading { + color: #fff; + background-color: #337ab7; + border-color: #337ab7; +} +.panel-primary > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #337ab7; +} +.panel-primary > .panel-heading .badge { + color: #337ab7; + background-color: #fff; +} +.panel-primary > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #337ab7; +} +.panel-success { + border-color: #d6e9c6; +} +.panel-success > .panel-heading { + color: #3c763d; + background-color: #dff0d8; + border-color: #d6e9c6; +} +.panel-success > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #d6e9c6; +} +.panel-success > .panel-heading .badge { + color: #dff0d8; + background-color: #3c763d; +} +.panel-success > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #d6e9c6; +} +.panel-info { + border-color: #bce8f1; +} +.panel-info > .panel-heading { + color: #31708f; + background-color: #d9edf7; + border-color: #bce8f1; +} +.panel-info > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #bce8f1; +} +.panel-info > .panel-heading .badge { + color: #d9edf7; + background-color: #31708f; +} +.panel-info > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #bce8f1; +} +.panel-warning { + border-color: #faebcc; +} +.panel-warning > .panel-heading { + color: #8a6d3b; + background-color: #fcf8e3; + border-color: #faebcc; +} +.panel-warning > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #faebcc; +} +.panel-warning > .panel-heading .badge { + color: #fcf8e3; + background-color: #8a6d3b; +} +.panel-warning > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #faebcc; +} +.panel-danger { + border-color: #ebccd1; +} +.panel-danger > .panel-heading { + color: #a94442; + background-color: #f2dede; + border-color: #ebccd1; +} +.panel-danger > .panel-heading + .panel-collapse > .panel-body { + border-top-color: #ebccd1; +} +.panel-danger > .panel-heading .badge { + color: #f2dede; + background-color: #a94442; +} +.panel-danger > .panel-footer + .panel-collapse > .panel-body { + border-bottom-color: #ebccd1; +} +.embed-responsive { + position: relative; + display: block; + height: 0; + padding: 0; + overflow: hidden; +} +.embed-responsive .embed-responsive-item, +.embed-responsive iframe, +.embed-responsive embed, +.embed-responsive object, +.embed-responsive video { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 100%; + height: 100%; + border: 0; +} +.embed-responsive-16by9 { + padding-bottom: 56.25%; +} +.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, 0.05); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); +} +.well blockquote { + border-color: #ddd; + border-color: rgba(0, 0, 0, 0.15); +} +.well-lg { + padding: 24px; + border-radius: 6px; +} +.well-sm { + padding: 9px; + border-radius: 3px; +} +.close { + float: right; + font-size: 21px; + font-weight: bold; + line-height: 1; + color: #000; + text-shadow: 0 1px 0 #fff; + filter: alpha(opacity=20); + opacity: 0.2; +} +.close:hover, +.close:focus { + color: #000; + text-decoration: none; + cursor: pointer; + filter: alpha(opacity=50); + opacity: 0.5; +} +button.close { + padding: 0; + cursor: pointer; + background: transparent; + border: 0; + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} +.modal-open { + overflow: hidden; +} +.modal { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1050; + display: none; + overflow: hidden; + -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 0.3s ease-out; + -o-transition: -o-transform 0.3s ease-out; + transition: -webkit-transform 0.3s ease-out; + transition: transform 0.3s ease-out; + transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.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-open .modal { + overflow-x: hidden; + overflow-y: auto; +} +.modal-dialog { + position: relative; + width: auto; + margin: 10px; +} +.modal-content { + position: relative; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #999; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5); + outline: 0; +} +.modal-backdrop { + position: fixed; + top: 0; + right: 0; + bottom: 0; + left: 0; + z-index: 1040; + background-color: #000; +} +.modal-backdrop.fade { + filter: alpha(opacity=0); + opacity: 0; +} +.modal-backdrop.in { + filter: alpha(opacity=50); + opacity: 0.5; +} +.modal-header { + padding: 15px; + border-bottom: 1px solid #e5e5e5; +} +.modal-header .close { + margin-top: -2px; +} +.modal-title { + margin: 0; + line-height: 1.42857143; +} +.modal-body { + position: relative; + padding: 15px; +} +.modal-footer { + padding: 15px; + text-align: right; + border-top: 1px solid #e5e5e5; +} +.modal-footer .btn + .btn { + margin-bottom: 0; + margin-left: 5px; +} +.modal-footer .btn-group .btn + .btn { + margin-left: -1px; +} +.modal-footer .btn-block + .btn-block { + margin-left: 0; +} +.modal-scrollbar-measure { + position: absolute; + top: -9999px; + width: 50px; + height: 50px; + overflow: scroll; +} +@media (min-width: 768px) { + .modal-dialog { + width: 600px; + margin: 30px auto; + } + .modal-content { + -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5); + } + .modal-sm { + width: 300px; + } +} +@media (min-width: 992px) { + .modal-lg { + width: 900px; + } +} +.tooltip { + position: absolute; + z-index: 1070; + display: block; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: 400; + line-height: 1.42857143; + line-break: auto; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + white-space: normal; + font-size: 12px; + filter: alpha(opacity=0); + opacity: 0; +} +.tooltip.in { + filter: alpha(opacity=90); + opacity: 0.9; +} +.tooltip.top { + padding: 5px 0; + margin-top: -3px; +} +.tooltip.right { + padding: 0 5px; + margin-left: 3px; +} +.tooltip.bottom { + padding: 5px 0; + margin-top: 3px; +} +.tooltip.left { + padding: 0 5px; + margin-left: -3px; +} +.tooltip.top .tooltip-arrow { + bottom: 0; + left: 50%; + margin-left: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-left .tooltip-arrow { + right: 5px; + bottom: 0; + margin-bottom: -5px; + border-width: 5px 5px 0; + border-top-color: #000; +} +.tooltip.top-right .tooltip-arrow { + bottom: 0; + left: 5px; + margin-bottom: -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; + right: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip.bottom-right .tooltip-arrow { + top: 0; + left: 5px; + margin-top: -5px; + border-width: 0 5px 5px; + border-bottom-color: #000; +} +.tooltip-inner { + max-width: 200px; + padding: 3px 8px; + color: #fff; + text-align: center; + background-color: #000; + border-radius: 4px; +} +.tooltip-arrow { + position: absolute; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover { + position: absolute; + top: 0; + left: 0; + z-index: 1060; + display: none; + max-width: 276px; + padding: 1px; + font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; + font-style: normal; + font-weight: 400; + line-height: 1.42857143; + line-break: auto; + text-align: left; + text-align: start; + text-decoration: none; + text-shadow: none; + text-transform: none; + letter-spacing: normal; + word-break: normal; + word-spacing: normal; + word-wrap: normal; + white-space: normal; + font-size: 14px; + background-color: #fff; + background-clip: padding-box; + border: 1px solid #ccc; + border: 1px solid rgba(0, 0, 0, 0.2); + border-radius: 6px; + -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); +} +.popover.top { + margin-top: -10px; +} +.popover.right { + margin-left: 10px; +} +.popover.bottom { + margin-top: 10px; +} +.popover.left { + margin-left: -10px; +} +.popover > .arrow { + border-width: 11px; +} +.popover > .arrow, +.popover > .arrow:after { + position: absolute; + display: block; + width: 0; + height: 0; + border-color: transparent; + border-style: solid; +} +.popover > .arrow:after { + content: ""; + border-width: 10px; +} +.popover.top > .arrow { + bottom: -11px; + left: 50%; + margin-left: -11px; + border-top-color: #999999; + border-top-color: rgba(0, 0, 0, 0.25); + border-bottom-width: 0; +} +.popover.top > .arrow:after { + bottom: 1px; + margin-left: -10px; + content: " "; + border-top-color: #fff; + border-bottom-width: 0; +} +.popover.right > .arrow { + top: 50%; + left: -11px; + margin-top: -11px; + border-right-color: #999999; + border-right-color: rgba(0, 0, 0, 0.25); + border-left-width: 0; +} +.popover.right > .arrow:after { + bottom: -10px; + left: 1px; + content: " "; + border-right-color: #fff; + border-left-width: 0; +} +.popover.bottom > .arrow { + top: -11px; + left: 50%; + margin-left: -11px; + border-top-width: 0; + border-bottom-color: #999999; + border-bottom-color: rgba(0, 0, 0, 0.25); +} +.popover.bottom > .arrow:after { + top: 1px; + margin-left: -10px; + content: " "; + border-top-width: 0; + border-bottom-color: #fff; +} +.popover.left > .arrow { + top: 50%; + right: -11px; + margin-top: -11px; + border-right-width: 0; + border-left-color: #999999; + border-left-color: rgba(0, 0, 0, 0.25); +} +.popover.left > .arrow:after { + right: 1px; + bottom: -10px; + content: " "; + border-right-width: 0; + border-left-color: #fff; +} +.popover-title { + padding: 8px 14px; + margin: 0; + font-size: 14px; + background-color: #f7f7f7; + border-bottom: 1px solid #ebebeb; + border-radius: 5px 5px 0 0; +} +.popover-content { + padding: 9px 14px; +} +.carousel { + position: relative; +} +.carousel-inner { + position: relative; + width: 100%; + overflow: hidden; +} +.carousel-inner > .item { + position: relative; + display: none; + -webkit-transition: 0.6s ease-in-out left; + -o-transition: 0.6s ease-in-out left; + transition: 0.6s ease-in-out left; +} +.carousel-inner > .item > img, +.carousel-inner > .item > a > img { + line-height: 1; +} +@media all and (transform-3d), (-webkit-transform-3d) { + .carousel-inner > .item { + -webkit-transition: -webkit-transform 0.6s ease-in-out; + -o-transition: -o-transform 0.6s ease-in-out; + transition: -webkit-transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out; + transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out; + -webkit-backface-visibility: hidden; + backface-visibility: hidden; + -webkit-perspective: 1000px; + perspective: 1000px; + } + .carousel-inner > .item.next, + .carousel-inner > .item.active.right { + -webkit-transform: translate3d(100%, 0, 0); + transform: translate3d(100%, 0, 0); + left: 0; + } + .carousel-inner > .item.prev, + .carousel-inner > .item.active.left { + -webkit-transform: translate3d(-100%, 0, 0); + transform: translate3d(-100%, 0, 0); + left: 0; + } + .carousel-inner > .item.next.left, + .carousel-inner > .item.prev.right, + .carousel-inner > .item.active { + -webkit-transform: translate3d(0, 0, 0); + transform: translate3d(0, 0, 0); + left: 0; + } +} +.carousel-inner > .active, +.carousel-inner > .next, +.carousel-inner > .prev { + display: block; +} +.carousel-inner > .active { + left: 0; +} +.carousel-inner > .next, +.carousel-inner > .prev { + position: absolute; + top: 0; + width: 100%; +} +.carousel-inner > .next { + left: 100%; +} +.carousel-inner > .prev { + left: -100%; +} +.carousel-inner > .next.left, +.carousel-inner > .prev.right { + left: 0; +} +.carousel-inner > .active.left { + left: -100%; +} +.carousel-inner > .active.right { + left: 100%; +} +.carousel-control { + position: absolute; + top: 0; + bottom: 0; + left: 0; + width: 15%; + font-size: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); + background-color: rgba(0, 0, 0, 0); + filter: alpha(opacity=50); + opacity: 0.5; +} +.carousel-control.left { + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001))); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control.right { + right: 0; + left: auto; + background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5))); + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%); + filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1); + background-repeat: repeat-x; +} +.carousel-control:hover, +.carousel-control:focus { + color: #fff; + text-decoration: none; + outline: 0; + filter: alpha(opacity=90); + opacity: 0.9; +} +.carousel-control .icon-prev, +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-left, +.carousel-control .glyphicon-chevron-right { + position: absolute; + top: 50%; + z-index: 5; + display: inline-block; + margin-top: -10px; +} +.carousel-control .icon-prev, +.carousel-control .glyphicon-chevron-left { + left: 50%; + margin-left: -10px; +} +.carousel-control .icon-next, +.carousel-control .glyphicon-chevron-right { + right: 50%; + margin-right: -10px; +} +.carousel-control .icon-prev, +.carousel-control .icon-next { + width: 20px; + height: 20px; + font-family: serif; + line-height: 1; +} +.carousel-control .icon-prev:before { + content: "\2039"; +} +.carousel-control .icon-next:before { + content: "\203a"; +} +.carousel-indicators { + position: absolute; + bottom: 10px; + left: 50%; + z-index: 15; + width: 60%; + padding-left: 0; + margin-left: -30%; + text-align: center; + list-style: none; +} +.carousel-indicators li { + display: inline-block; + width: 10px; + height: 10px; + margin: 1px; + text-indent: -999px; + cursor: pointer; + background-color: #000 \9; + background-color: rgba(0, 0, 0, 0); + border: 1px solid #fff; + border-radius: 10px; +} +.carousel-indicators .active { + width: 12px; + height: 12px; + margin: 0; + background-color: #fff; +} +.carousel-caption { + position: absolute; + right: 15%; + bottom: 20px; + left: 15%; + z-index: 10; + padding-top: 20px; + padding-bottom: 20px; + color: #fff; + text-align: center; + text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6); +} +.carousel-caption .btn { + text-shadow: none; +} +@media screen and (min-width: 768px) { + .carousel-control .glyphicon-chevron-left, + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-prev, + .carousel-control .icon-next { + width: 30px; + height: 30px; + margin-top: -10px; + font-size: 30px; + } + .carousel-control .glyphicon-chevron-left, + .carousel-control .icon-prev { + margin-left: -10px; + } + .carousel-control .glyphicon-chevron-right, + .carousel-control .icon-next { + margin-right: -10px; + } + .carousel-caption { + right: 20%; + left: 20%; + padding-bottom: 30px; + } + .carousel-indicators { + bottom: 20px; + } +} +.clearfix:before, +.clearfix:after, +.dl-horizontal dd:before, +.dl-horizontal dd:after, +.container:before, +.container:after, +.container-fluid:before, +.container-fluid:after, +.row:before, +.row:after, +.form-horizontal .form-group:before, +.form-horizontal .form-group:after, +.btn-toolbar:before, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:before, +.btn-group-vertical > .btn-group:after, +.nav:before, +.nav:after, +.navbar:before, +.navbar:after, +.navbar-header:before, +.navbar-header:after, +.navbar-collapse:before, +.navbar-collapse:after, +.pager:before, +.pager:after, +.panel-body:before, +.panel-body:after, +.modal-header:before, +.modal-header:after, +.modal-footer:before, +.modal-footer:after { + display: table; + content: " "; +} +.clearfix:after, +.dl-horizontal dd:after, +.container:after, +.container-fluid:after, +.row:after, +.form-horizontal .form-group:after, +.btn-toolbar:after, +.btn-group-vertical > .btn-group:after, +.nav:after, +.navbar:after, +.navbar-header:after, +.navbar-collapse:after, +.pager:after, +.panel-body:after, +.modal-header:after, +.modal-footer:after { + clear: both; +} +.center-block { + display: block; + margin-right: auto; + margin-left: auto; +} +.pull-right { + float: right !important; +} +.pull-left { + float: left !important; +} +.hide { + display: none !important; +} +.show { + display: block !important; +} +.invisible { + visibility: hidden; +} +.text-hide { + font: 0/0 a; + color: transparent; + text-shadow: none; + background-color: transparent; + border: 0; +} +.hidden { + display: none !important; +} +.affix { + position: fixed; +} +@-ms-viewport { + width: device-width; +} +.visible-xs, +.visible-sm, +.visible-md, +.visible-lg { + display: none !important; +} +.visible-xs-block, +.visible-xs-inline, +.visible-xs-inline-block, +.visible-sm-block, +.visible-sm-inline, +.visible-sm-inline-block, +.visible-md-block, +.visible-md-inline, +.visible-md-inline-block, +.visible-lg-block, +.visible-lg-inline, +.visible-lg-inline-block { + display: none !important; +} +@media (max-width: 767px) { + .visible-xs { + display: block !important; + } + table.visible-xs { + display: table !important; + } + tr.visible-xs { + display: table-row !important; + } + th.visible-xs, + td.visible-xs { + display: table-cell !important; + } +} +@media (max-width: 767px) { + .visible-xs-block { + display: block !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline { + display: inline !important; + } +} +@media (max-width: 767px) { + .visible-xs-inline-block { + display: inline-block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm { + display: block !important; + } + table.visible-sm { + display: table !important; + } + tr.visible-sm { + display: table-row !important; + } + th.visible-sm, + td.visible-sm { + display: table-cell !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-block { + display: block !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline { + display: inline !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .visible-sm-inline-block { + display: inline-block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md { + display: block !important; + } + table.visible-md { + display: table !important; + } + tr.visible-md { + display: table-row !important; + } + th.visible-md, + td.visible-md { + display: table-cell !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-block { + display: block !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline { + display: inline !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .visible-md-inline-block { + display: inline-block !important; + } +} +@media (min-width: 1200px) { + .visible-lg { + display: block !important; + } + table.visible-lg { + display: table !important; + } + tr.visible-lg { + display: table-row !important; + } + th.visible-lg, + td.visible-lg { + display: table-cell !important; + } +} +@media (min-width: 1200px) { + .visible-lg-block { + display: block !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline { + display: inline !important; + } +} +@media (min-width: 1200px) { + .visible-lg-inline-block { + display: inline-block !important; + } +} +@media (max-width: 767px) { + .hidden-xs { + display: none !important; + } +} +@media (min-width: 768px) and (max-width: 991px) { + .hidden-sm { + display: none !important; + } +} +@media (min-width: 992px) and (max-width: 1199px) { + .hidden-md { + display: none !important; + } +} +@media (min-width: 1200px) { + .hidden-lg { + display: none !important; + } +} +.visible-print { + display: none !important; +} +@media print { + .visible-print { + display: block !important; + } + table.visible-print { + display: table !important; + } + tr.visible-print { + display: table-row !important; + } + th.visible-print, + td.visible-print { + display: table-cell !important; + } +} +.visible-print-block { + display: none !important; +} +@media print { + .visible-print-block { + display: block !important; + } +} +.visible-print-inline { + display: none !important; +} +@media print { + .visible-print-inline { + display: inline !important; + } +} +.visible-print-inline-block { + display: none !important; +} +@media print { + .visible-print-inline-block { + display: inline-block !important; + } +} +@media print { + .hidden-print { + display: none !important; + } +} +/*# sourceMappingURL=bootstrap.css.map */ \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/bootstrap.min.css b/ui/ui-frontend/projects/pastis/src/assets/css/bootstrap.min.css new file mode 100644 index 0000000000000000000000000000000000000000..5b96335ff6a02021199d731eaa19ccadd1dc8af8 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/bootstrap.min.css @@ -0,0 +1,6 @@ +/*! + * Bootstrap v3.4.1 (https://getbootstrap.com/) + * Copyright 2011-2019 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) + *//*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */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,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;-moz-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}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}figure{margin:1em 40px}hr{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;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{line-height:normal}input[type=checkbox],input[type=radio]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:700}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */@media print{*,:after,:before{color:#000!important;text-shadow:none!important;background:0 0!important;-webkit-box-shadow:none!important;box-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:" (" attr(href) ")"}abbr[title]:after{content:" (" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}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}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #ddd!important}}@font-face{font-family:"Glyphicons Halflings";src:url(../fonts/glyphicons-halflings-regular.eot);src:url(../fonts/glyphicons-halflings-regular.eot?#iefix) format("embedded-opentype"),url(../fonts/glyphicons-halflings-regular.woff2) format("woff2"),url(../fonts/glyphicons-halflings-regular.woff) format("woff"),url(../fonts/glyphicons-halflings-regular.ttf) format("truetype"),url(../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular) format("svg")}.glyphicon{position:relative;top:1px;display:inline-block;font-family:"Glyphicons Halflings";font-style:normal;font-weight:400;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-eur:before,.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"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}:after,:before{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:focus,a:hover{color:#23527c;text-decoration:underline}a:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.carousel-inner>.item>a>img,.carousel-inner>.item>img,.img-responsive,.thumbnail a>img,.thumbnail>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;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;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role=button]{cursor:pointer}.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:#777}.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:300;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}.small,small{font-size:85%}.mark,mark{padding:.2em;background-color:#fcf8e3}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:focus,a.text-primary:hover{color:#286090}.text-success{color:#3c763d}a.text-success:focus,a.text-success:hover{color:#2b542c}.text-info{color:#31708f}a.text-info:focus,a.text-info:hover{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:focus,a.text-warning:hover{color:#66512c}.text-danger{color:#a94442}a.text-danger:focus,a.text-danger:hover{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:focus,a.bg-primary:hover{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:focus,a.bg-success:hover{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:focus,a.bg-info:hover{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:focus,a.bg-warning:hover{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:focus,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-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-right:5px;padding-left:5px}dl{margin-top:0;margin-bottom:20px}dd,dt{line-height:1.42857143}dt{font-weight:700}dd{margin-left:0}@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}.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.42857143;color:#777}blockquote .small:before,blockquote footer:before,blockquote small:before{content:"\2014 \00A0"}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;text-align:right;border-right:5px solid #eee;border-left:0}.blockquote-reverse .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"}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,.25);box-shadow:inset 0 -1px 0 rgba(0,0,0,.25)}kbd kbd{padding:0;font-size:100%;font-weight:700;-webkit-box-shadow:none;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;color:#333;word-break:break-all;word-wrap:break-word;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:768px){.container{width:750px}}@media (min-width:992px){.container{width:970px}}@media (min-width:1200px){.container{width:1170px}}.container-fluid{padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}.row{margin-right:-15px;margin-left:-15px}.row-no-gutters{margin-right:0;margin-left:0}.row-no-gutters [class*=col-]{padding-right:0;padding-left:0}.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-right:15px;padding-left: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-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media (min-width:768px){.col-sm-1,.col-sm-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-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media (min-width:992px){.col-md-1,.col-md-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-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media (min-width:1200px){.col-lg-1,.col-lg-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-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}table col[class*=col-]{position:static;display:table-column;float:none}table td[class*=col-],table th[class*=col-]{position:static;display:table-cell;float:none}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>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.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>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{border:1px solid #ddd}.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-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}.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}.table-responsive{min-height:.01%;overflow-x:auto}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>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{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:700}input[type=search]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}input[type=checkbox],input[type=radio]{margin:4px 0 0;margin-top:1px\9;line-height:normal}fieldset[disabled] input[type=checkbox],fieldset[disabled] input[type=radio],input[type=checkbox].disabled,input[type=checkbox][disabled],input[type=radio].disabled,input[type=radio][disabled]{cursor:not-allowed}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:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-webkit-transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,-webkit-box-shadow ease-in-out .15s;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,-webkit-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::-ms-expand{background-color:transparent;border:0}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}@media screen and (-webkit-min-device-pixel-ratio:0){input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{line-height:34px}.input-group-sm input[type=date],.input-group-sm input[type=datetime-local],.input-group-sm input[type=month],.input-group-sm input[type=time],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[type=date],.input-group-lg input[type=datetime-local],.input-group-lg input[type=month],.input-group-lg input[type=time],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{position:relative;display:block;margin-top:10px;margin-bottom:10px}.checkbox.disabled label,.radio.disabled label,fieldset[disabled] .checkbox label,fieldset[disabled] .radio label{cursor:not-allowed}.checkbox label,.radio label{min-height:20px;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]{position:absolute;margin-top:4px\9;margin-left:-20px}.checkbox+.checkbox,.radio+.radio{margin-top:-5px}.checkbox-inline,.radio-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;font-weight:400;vertical-align:middle;cursor:pointer}.checkbox-inline.disabled,.radio-inline.disabled,fieldset[disabled] .checkbox-inline,fieldset[disabled] .radio-inline{cursor:not-allowed}.checkbox-inline+.checkbox-inline,.radio-inline+.radio-inline{margin-top:0;margin-left:10px}.form-control-static{min-height:34px;padding-top:7px;padding-bottom:7px;margin-bottom:0}.form-control-static.input-lg,.form-control-static.input-sm{padding-right:0;padding-left:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}select[multiple].input-sm,textarea.input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm select[multiple].form-control,.form-group-sm textarea.form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}select[multiple].input-lg,textarea.input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg select[multiple].form-control,.form-group-lg textarea.form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.form-group-lg .form-control+.form-control-feedback,.input-group-lg+.form-control-feedback,.input-lg+.form-control-feedback{width:46px;height:46px;line-height:46px}.form-group-sm .form-control+.form-control-feedback,.input-group-sm+.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,.has-success.checkbox label,.has-success.checkbox-inline label,.has-success.radio label,.has-success.radio-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;background-color:#dff0d8;border-color:#3c763d}.has-success .form-control-feedback{color:#3c763d}.has-warning .checkbox,.has-warning .checkbox-inline,.has-warning .control-label,.has-warning .help-block,.has-warning .radio,.has-warning .radio-inline,.has-warning.checkbox label,.has-warning.checkbox-inline label,.has-warning.radio label,.has-warning.radio-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;background-color:#fcf8e3;border-color:#8a6d3b}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .checkbox,.has-error .checkbox-inline,.has-error .control-label,.has-error .help-block,.has-error .radio,.has-error .radio-inline,.has-error.checkbox label,.has-error.checkbox-inline label,.has-error.radio label,.has-error.radio-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075);box-shadow:inset 0 1px 1px rgba(0,0,0,.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;background-color:#f2dede;border-color:#a94442}.has-error .form-control-feedback{color:#a94442}.has-feedback label~.form-control-feedback{top:25px}.has-feedback label.sr-only~.form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .form-control,.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .checkbox,.form-inline .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .checkbox label,.form-inline .radio label{padding-left:0}.form-inline .checkbox input[type=checkbox],.form-inline .radio input[type=radio]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .checkbox,.form-horizontal .checkbox-inline,.form-horizontal .radio,.form-horizontal .radio-inline{padding-top:7px;margin-top:0;margin-bottom:0}.form-horizontal .checkbox,.form-horizontal .radio{min-height:27px}.form-horizontal .form-group{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.form-horizontal .control-label{padding-top:7px;margin-bottom:0;text-align:right}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media (min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media (min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:400;text-align:center;white-space:nowrap;vertical-align:middle;-ms-touch-action:manipulation;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;padding:6px 12px;font-size:14px;line-height:1.42857143;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,.btn:active.focus,.btn:active:focus,.btn:focus{outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn.focus,.btn:focus,.btn:hover{color:#333;text-decoration:none}.btn.active,.btn:active{background-image:none;outline:0;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;filter:alpha(opacity=65);opacity:.65;-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default.focus,.btn-default:focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default.active,.btn-default:active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;background-image:none;border-color:#adadad}.btn-default.active.focus,.btn-default.active:focus,.btn-default.active:hover,.btn-default:active.focus,.btn-default:active:focus,.btn-default:active:hover,.open>.dropdown-toggle.btn-default.focus,.open>.dropdown-toggle.btn-default:focus,.open>.dropdown-toggle.btn-default:hover{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default.disabled.focus,.btn-default.disabled:focus,.btn-default.disabled:hover,.btn-default[disabled].focus,.btn-default[disabled]:focus,.btn-default[disabled]:hover,fieldset[disabled] .btn-default.focus,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:#337ab7;border-color:#2e6da4}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary.active,.btn-primary:active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;background-image:none;border-color:#204d74}.btn-primary.active.focus,.btn-primary.active:focus,.btn-primary.active:hover,.btn-primary:active.focus,.btn-primary:active:focus,.btn-primary:active:hover,.open>.dropdown-toggle.btn-primary.focus,.open>.dropdown-toggle.btn-primary:focus,.open>.dropdown-toggle.btn-primary:hover{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary.disabled.focus,.btn-primary.disabled:focus,.btn-primary.disabled:hover,.btn-primary[disabled].focus,.btn-primary[disabled]:focus,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary.focus,fieldset[disabled] .btn-primary:focus,fieldset[disabled] .btn-primary:hover{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success.active,.btn-success:active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;background-image:none;border-color:#398439}.btn-success.active.focus,.btn-success.active:focus,.btn-success.active:hover,.btn-success:active.focus,.btn-success:active:focus,.btn-success:active:hover,.open>.dropdown-toggle.btn-success.focus,.open>.dropdown-toggle.btn-success:focus,.open>.dropdown-toggle.btn-success:hover{color:#fff;background-color:#398439;border-color:#255625}.btn-success.disabled.focus,.btn-success.disabled:focus,.btn-success.disabled:hover,.btn-success[disabled].focus,.btn-success[disabled]:focus,.btn-success[disabled]:hover,fieldset[disabled] .btn-success.focus,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.focus,.btn-info:focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info.active,.btn-info:active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;background-image:none;border-color:#269abc}.btn-info.active.focus,.btn-info.active:focus,.btn-info.active:hover,.btn-info:active.focus,.btn-info:active:focus,.btn-info:active:hover,.open>.dropdown-toggle.btn-info.focus,.open>.dropdown-toggle.btn-info:focus,.open>.dropdown-toggle.btn-info:hover{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info.disabled.focus,.btn-info.disabled:focus,.btn-info.disabled:hover,.btn-info[disabled].focus,.btn-info[disabled]:focus,.btn-info[disabled]:hover,fieldset[disabled] .btn-info.focus,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.focus,.btn-warning:focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning.active,.btn-warning:active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;background-image:none;border-color:#d58512}.btn-warning.active.focus,.btn-warning.active:focus,.btn-warning.active:hover,.btn-warning:active.focus,.btn-warning:active:focus,.btn-warning:active:hover,.open>.dropdown-toggle.btn-warning.focus,.open>.dropdown-toggle.btn-warning:focus,.open>.dropdown-toggle.btn-warning:hover{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning.disabled.focus,.btn-warning.disabled:focus,.btn-warning.disabled:hover,.btn-warning[disabled].focus,.btn-warning[disabled]:focus,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning.focus,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.focus,.btn-danger:focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger.active,.btn-danger:active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;background-image:none;border-color:#ac2925}.btn-danger.active.focus,.btn-danger.active:focus,.btn-danger.active:hover,.btn-danger:active.focus,.btn-danger:active:focus,.btn-danger:active:hover,.open>.dropdown-toggle.btn-danger.focus,.open>.dropdown-toggle.btn-danger:focus,.open>.dropdown-toggle.btn-danger:hover{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger.disabled.focus,.btn-danger.disabled:focus,.btn-danger.disabled:hover,.btn-danger[disabled].focus,.btn-danger[disabled]:focus,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger.focus,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{font-weight:400;color:#337ab7;border-radius:0}.btn-link,.btn-link.active,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:active,.btn-link:focus,.btn-link:hover{border-color:transparent}.btn-link:focus,.btn-link:hover{color:#23527c;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:#777;text-decoration:none}.btn-group-lg>.btn,.btn-lg{padding:10px 16px;font-size:18px;line-height:1.3333333;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%}.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-property:height,visibility;-o-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;-o-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;-o-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid\9;border-right:4px solid transparent;border-left:4px solid transparent}.dropdown,.dropup{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;font-size:14px;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,.175);box-shadow:0 6px 12px rgba(0,0,0,.175)}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:focus,.dropdown-menu>li>a:hover{color:#262626;text-decoration:none;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:focus,.dropdown-menu>.active>a:hover{color:#fff;text-decoration:none;background-color:#337ab7;outline:0}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{color:#777}.dropdown-menu>.disabled>a:focus,.dropdown-menu>.disabled>a:hover{text-decoration:none;cursor:not-allowed;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled=false)}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{right:0;left:auto}.dropdown-menu-left{right:auto;left:0}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{content:"";border-top:0;border-bottom:4px dashed;border-bottom:4px solid\9}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}.navbar-right .dropdown-menu-left{right:auto;left:0}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group-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 .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-right:8px;padding-left:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-right:12px;padding-left:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,.125);box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-left-radius:0;border-top-right-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-left-radius:0;border-top-right-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{display:table-cell;float:none;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle=buttons]>.btn input[type=checkbox],[data-toggle=buttons]>.btn input[type=radio],[data-toggle=buttons]>.btn-group>.btn input[type=checkbox],[data-toggle=buttons]>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*=col-]{float:none;padding-right:0;padding-left:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn,textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn,textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}.input-group .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{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type=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-top-right-radius:0;border-bottom-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn: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-top-left-radius:0;border-bottom-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn: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{z-index:2;margin-left:-1px}.nav{padding-left:0;margin-bottom:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:focus,.nav>li>a:hover{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:focus,.nav>li.disabled>a:hover{color:#777;text-decoration:none;cursor:not-allowed;background-color:transparent}.nav .open>a,.nav .open>a:focus,.nav .open>a:hover{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:focus,.nav-tabs>li.active>a:hover{color:#555;cursor:default;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:focus,.nav-tabs.nav-justified>.active>a:hover{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:focus,.nav-pills>li.active>a:hover{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{margin-bottom:5px;text-align:center}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-justified>.active>a:hover{border:1px solid #ddd}@media (min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:focus,.nav-tabs-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-left-radius:0;border-top-right-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media (min-width:768px){.navbar{border-radius:4px}}@media (min-width:768px){.navbar-header{float:left}}.navbar-collapse{padding-right:15px;padding-left:15px;overflow-x:visible;border-top:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;-webkit-box-shadow:none;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse{padding-right:0;padding-left:0}}.navbar-fixed-bottom,.navbar-fixed-top{position:fixed;right:0;left:0;z-index:1030}.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:340px}@media (max-device-width:480px) and (orientation:landscape){.navbar-fixed-bottom .navbar-collapse,.navbar-fixed-top .navbar-collapse{max-height:200px}}@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}.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-brand{float:left;height:50px;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-brand>img{display:block}@media (min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;padding:9px 10px;margin-right:15px;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;-webkit-box-shadow:none;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-form{padding:10px 15px;margin-right:-15px;margin-left:-15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),0 1px 0 rgba(255,255,255,.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .form-control,.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .checkbox,.navbar-form .radio{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .checkbox label,.navbar-form .radio label{padding-left:0}.navbar-form .checkbox input[type=checkbox],.navbar-form .radio input[type=radio]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media (min-width:768px){.navbar-form{width:auto;padding-top:0;padding-bottom:0;margin-right:0;margin-left:0;border:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-left-radius:0;border-top-right-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{float:left;margin-right:15px;margin-left:15px}}@media (min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right~.navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:focus,.navbar-default .navbar-brand:hover{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a: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-nav>.open>a,.navbar-default .navbar-nav>.open>a:focus,.navbar-default .navbar-nav>.open>a:hover{color:#555;background-color:#e7e7e7}@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a: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-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-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:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:focus,.navbar-inverse .navbar-brand:hover{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a: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:#080808}.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-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:focus,.navbar-inverse .navbar-nav>.open>a:hover{color:#fff;background-color:#080808}@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a: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:#080808}.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-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-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.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{padding:0 5px;color:#ccc;content:"/\00a0"}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;margin-left:-1px;line-height:1.42857143;color:#337ab7;text-decoration:none;background-color:#fff;border:1px solid #ddd}.pagination>li>a:focus,.pagination>li>a:hover,.pagination>li>span:focus,.pagination>li>span:hover{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-top-left-radius:4px;border-bottom-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-top-right-radius:4px;border-bottom-right-radius:4px}.pagination>.active>a,.pagination>.active>a:focus,.pagination>.active>a:hover,.pagination>.active>span,.pagination>.active>span:focus,.pagination>.active>span:hover{z-index:3;color:#fff;cursor:default;background-color:#337ab7;border-color:#337ab7}.pagination>.disabled>a,.pagination>.disabled>a:focus,.pagination>.disabled>a:hover,.pagination>.disabled>span,.pagination>.disabled>span:focus,.pagination>.disabled>span:hover{color:#777;cursor:not-allowed;background-color:#fff;border-color:#ddd}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-top-left-radius:6px;border-bottom-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-top-right-radius:6px;border-bottom-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-top-left-radius:3px;border-bottom-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-top-right-radius:3px;border-bottom-right-radius:3px}.pager{padding-left:0;margin:20px 0;text-align:center;list-style:none}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a: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:#777;cursor:not-allowed;background-color:#fff}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:700;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:focus,a.label:hover{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:focus,.label-default[href]:hover{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:focus,.label-primary[href]:hover{background-color:#286090}.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;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:middle;background-color:#777;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}a.badge:focus,a.badge:hover{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom: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,.container-fluid .jumbotron{padding-right:15px;padding-left:15px;border-radius:6px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-right:60px;padding-left:60px}.jumbotron .h1,.jumbotron h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail a>img,.thumbnail>img{margin-right:auto;margin-left:auto}a.thumbnail.active,a.thumbnail:focus,a.thumbnail:hover{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:700}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{height:20px;margin-bottom:20px;overflow:hidden;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,.1);box-shadow:inset 0 1px 2px rgba(0,0,0,.1)}.progress-bar{float:left;width:0%;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-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-bar-striped,.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);-webkit-background-size:40px 40px;background-size:40px 40px}.progress-bar.active,.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-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{overflow:hidden;zoom:1}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-body,.media-left,.media-right{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{padding-left:0;margin-bottom:20px}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-left-radius:4px;border-top-right-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.list-group-item.disabled,.list-group-item.disabled:focus,.list-group-item.disabled:hover{color:#777;cursor:not-allowed;background-color:#eee}.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:#777}.list-group-item.active,.list-group-item.active:focus,.list-group-item.active:hover{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>small{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:#c7ddef}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:focus,a.list-group-item:hover,button.list-group-item:focus,button.list-group-item:hover{color:#555;text-decoration:none;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:focus,a.list-group-item-success:hover,button.list-group-item-success:focus,button.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,button.list-group-item-success.active,button.list-group-item-success.active:focus,button.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,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:focus,a.list-group-item-info:hover,button.list-group-item-info:focus,button.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,button.list-group-item-info.active,button.list-group-item-info.active:focus,button.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,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:focus,a.list-group-item-warning:hover,button.list-group-item-warning:focus,button.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,button.list-group-item-warning.active,button.list-group-item-warning.active:focus,button.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,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:focus,a.list-group-item-danger:hover,button.list-group-item-danger:focus,button.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,button.list-group-item-danger.active,button.list-group-item-danger.active:focus,button.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-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-left-radius:3px;border-top-right-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>.small,.panel-title>.small>a,.panel-title>a,.panel-title>small,.panel-title>small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-left-radius:3px;border-top-right-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-left-radius:0;border-top-right-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.panel-collapse>.table,.panel>.table,.panel>.table-responsive>.table{margin-bottom:0}.panel>.panel-collapse>.table caption,.panel>.table caption,.panel>.table-responsive>.table caption{padding-right:15px;padding-left:15px}.panel>.table-responsive:first-child>.table:first-child,.panel>.table:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table:first-child>thead:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-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,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr: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,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{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>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>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th{border-bottom:0}.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-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{border-bottom:0}.panel>.table-responsive{margin-bottom:0;border:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.list-group,.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-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.05);box-shadow:inset 0 1px 1px rgba(0,0,0,.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;filter:alpha(opacity=20);opacity:.2}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer;filter:alpha(opacity=50);opacity:.5}button.close{padding:0;cursor:pointer;background:0 0;border:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.modal-open{overflow:hidden}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;display:none;overflow:hidden;-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;-o-transition:-o-transform .3s ease-out;transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out,-o-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-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;background-clip:padding-box;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);outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{filter:alpha(opacity=0);opacity:0}.modal-backdrop.in{filter:alpha(opacity=50);opacity:.5}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-bottom:0;margin-left:5px}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,.5);box-shadow:0 5px 15px rgba(0,0,0,.5)}.modal-sm{width:300px}}@media (min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:12px;filter:alpha(opacity=0);opacity:0}.tooltip.in{filter:alpha(opacity=90);opacity:.9}.tooltip.top{padding:5px 0;margin-top:-3px}.tooltip.right{padding:0 5px;margin-left:3px}.tooltip.bottom{padding:5px 0;margin-top:3px}.tooltip.left{padding:0 5px;margin-left:-3px}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{right:5px;bottom:0;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-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;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:400;line-height:1.42857143;line-break:auto;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;word-wrap:normal;white-space:normal;font-size:14px;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)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover>.arrow{border-width:11px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow:after{content:"";border-width:10px}.popover.top>.arrow{bottom:-11px;left:50%;margin-left:-11px;border-top-color:#999;border-top-color:rgba(0,0,0,.25);border-bottom-width:0}.popover.top>.arrow:after{bottom:1px;margin-left:-10px;content:" ";border-top-color:#fff;border-bottom-width:0}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-right-color:#999;border-right-color:rgba(0,0,0,.25);border-left-width:0}.popover.right>.arrow:after{bottom:-10px;left:1px;content:" ";border-right-color:#fff;border-left-width:0}.popover.bottom>.arrow{top:-11px;left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,.25)}.popover.bottom>.arrow:after{top:1px;margin-left:-10px;content:" ";border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,.25)}.popover.left>.arrow:after{right:1px;bottom:-10px;content:" ";border-right-width:0;border-left-color:#fff}.popover-title{padding:8px 14px;margin:0;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.carousel{position:relative}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner>.item{position:relative;display:none;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>a>img,.carousel-inner>.item>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out,-o-transform .6s ease-in-out;-webkit-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;perspective:1000px}.carousel-inner>.item.active.right,.carousel-inner>.item.next{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.active.left,.carousel-inner>.item.prev{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.active,.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;bottom:0;left:0;width:15%;font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6);background-color:rgba(0,0,0,0);filter:alpha(opacity=50);opacity:.5}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.5)),to(rgba(0,0,0,.0001)));background-image:linear-gradient(to right,rgba(0,0,0,.5) 0,rgba(0,0,0,.0001) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);background-repeat:repeat-x}.carousel-control.right{right:0;left:auto;background-image:-webkit-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);background-image:-webkit-gradient(linear,left top,right top,from(rgba(0,0,0,.0001)),to(rgba(0,0,0,.5)));background-image:linear-gradient(to right,rgba(0,0,0,.0001) 0,rgba(0,0,0,.5) 100%);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);background-repeat:repeat-x}.carousel-control:focus,.carousel-control:hover{color:#fff;text-decoration:none;outline:0;filter:alpha(opacity=90);opacity:.9}.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;margin-top:-10px}.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;font-family:serif;line-height:1}.carousel-control .icon-prev:before{content:"\2039"}.carousel-control .icon-next:before{content:"\203a"}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;padding-left:0;margin-left:-30%;text-align:center;list-style:none}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;cursor:pointer;background-color:#000\9;background-color:rgba(0,0,0,0);border:1px solid #fff;border-radius:10px}.carousel-indicators .active{width:12px;height:12px;margin:0;background-color:#fff}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next,.carousel-control .icon-prev{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{right:20%;left:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.btn-group-vertical>.btn-group:after,.btn-group-vertical>.btn-group:before,.btn-toolbar:after,.btn-toolbar:before,.clearfix:after,.clearfix:before,.container-fluid:after,.container-fluid:before,.container:after,.container:before,.dl-horizontal dd:after,.dl-horizontal dd:before,.form-horizontal .form-group:after,.form-horizontal .form-group:before,.modal-footer:after,.modal-footer:before,.modal-header:after,.modal-header:before,.nav:after,.nav:before,.navbar-collapse:after,.navbar-collapse:before,.navbar-header:after,.navbar-header:before,.navbar:after,.navbar:before,.pager:after,.pager:before,.panel-body:after,.panel-body:before,.row:after,.row:before{display:table;content:" "}.btn-group-vertical>.btn-group:after,.btn-toolbar:after,.clearfix:after,.container-fluid:after,.container:after,.dl-horizontal dd:after,.form-horizontal .form-group:after,.modal-footer:after,.modal-header:after,.nav:after,.navbar-collapse:after,.navbar-header:after,.navbar:after,.pager:after,.panel-body:after,.row:after{clear:both}.center-block{display:block;margin-right:auto;margin-left:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-lg,.visible-md,.visible-sm,.visible-xs{display:none!important}.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.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!important}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!important}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!important}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!important}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}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}td.visible-print,th.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/css/bootstrap.min.css.map b/ui/ui-frontend/projects/pastis/src/assets/css/bootstrap.min.css.map new file mode 100644 index 0000000000000000000000000000000000000000..0ae3de50864d93c1f79a4e659641a5d248bca2bb --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/css/bootstrap.min.css.map @@ -0,0 +1 @@ +{"version":3,"sources":["bootstrap.css","less/normalize.less","dist/css/bootstrap.css","less/print.less","less/glyphicons.less","less/scaffolding.less","less/mixins/vendor-prefixes.less","less/mixins/tab-focus.less","less/mixins/image.less","less/type.less","less/mixins/text-emphasis.less","less/mixins/background-variant.less","less/mixins/text-overflow.less","less/code.less","less/grid.less","less/mixins/grid.less","less/mixins/grid-framework.less","less/tables.less","less/mixins/table-row.less","less/forms.less","less/mixins/forms.less","less/buttons.less","less/mixins/buttons.less","less/mixins/opacity.less","less/component-animations.less","less/dropdowns.less","less/mixins/nav-divider.less","less/mixins/reset-filter.less","less/button-groups.less","less/mixins/border-radius.less","less/input-groups.less","less/navs.less","less/navbar.less","less/mixins/nav-vertical-align.less","less/utilities.less","less/breadcrumbs.less","less/pagination.less","less/mixins/pagination.less","less/pager.less","less/labels.less","less/mixins/labels.less","less/badges.less","less/jumbotron.less","less/thumbnails.less","less/alerts.less","less/mixins/alerts.less","less/progress-bars.less","less/mixins/gradients.less","less/mixins/progress-bar.less","less/media.less","less/list-group.less","less/mixins/list-group.less","less/panels.less","less/mixins/panels.less","less/responsive-embed.less","less/wells.less","less/close.less","less/modals.less","less/tooltip.less","less/mixins/reset-text.less","less/popovers.less","less/carousel.less","less/mixins/clearfix.less","less/mixins/center-block.less","less/mixins/hide-text.less","less/responsive-utilities.less","less/mixins/responsive-visibility.less"],"names":[],"mappings":"AAAA;;;;AAKA,4ECKA,KACE,YAAA,WACA,qBAAA,KACA,yBAAA,KAOF,KACE,OAAA,EAaF,QCnBA,MACA,QACA,WACA,OACA,OACA,OACA,OACA,KACA,KACA,IACA,QACA,QDqBE,QAAA,MAQF,MCzBA,OACA,SACA,MD2BE,QAAA,aACA,eAAA,SAQF,sBACE,QAAA,KACA,OAAA,EAQF,SCrCA,SDuCE,QAAA,KAUF,EACE,iBAAA,YAQF,SCnDA,QDqDE,QAAA,EAWF,YACE,cAAA,KACA,gBAAA,UACA,wBAAA,UAAA,OAAA,qBAAA,UAAA,OAAA,gBAAA,UAAA,OAOF,EC/DA,ODiEE,YAAA,IAOF,IACE,WAAA,OAQF,GACE,UAAA,IACA,OAAA,MAAA,EAOF,KACE,WAAA,KACA,MAAA,KAOF,MACE,UAAA,IAOF,ICzFA,ID2FE,UAAA,IACA,YAAA,EACA,SAAA,SACA,eAAA,SAGF,IACE,IAAA,MAGF,IACE,OAAA,OAUF,IACE,OAAA,EAOF,eACE,SAAA,OAUF,OACE,OAAA,IAAA,KAOF,GACE,mBAAA,YAAA,gBAAA,YAAA,WAAA,YACA,OAAA,EAOF,IACE,SAAA,KAOF,KC7HA,IACA,IACA,KD+HE,YAAA,SAAA,CAAA,UACA,UAAA,IAkBF,OC7IA,MACA,SACA,OACA,SD+IE,MAAA,QACA,KAAA,QACA,OAAA,EAOF,OACE,SAAA,QAUF,OC1JA,OD4JE,eAAA,KAWF,OCnKA,wBACA,kBACA,mBDqKE,mBAAA,OACA,OAAA,QAOF,iBCxKA,qBD0KE,OAAA,QAOF,yBC7KA,wBD+KE,OAAA,EACA,QAAA,EAQF,MACE,YAAA,OAWF,qBC5LA,kBD8LE,mBAAA,WAAA,gBAAA,WAAA,WAAA,WACA,QAAA,EASF,8CCjMA,8CDmME,OAAA,KAQF,mBACE,mBAAA,UACA,mBAAA,YAAA,gBAAA,YAAA,WAAA,YASF,iDC5MA,8CD8ME,mBAAA,KAOF,SACE,OAAA,IAAA,MAAA,OACA,OAAA,EAAA,IACA,QAAA,MAAA,OAAA,MAQF,OACE,OAAA,EACA,QAAA,EAOF,SACE,SAAA,KAQF,SACE,YAAA,IAUF,MACE,gBAAA,SACA,eAAA,EAGF,GC3OA,GD6OE,QAAA,EDlPF,qFGhLA,aACE,ED2LA,OADA,QCvLE,MAAA,eACA,YAAA,eACA,WAAA,cACA,mBAAA,eAAA,WAAA,eAGF,ED0LA,UCxLE,gBAAA,UAGF,cACE,QAAA,KAAA,WAAA,IAGF,kBACE,QAAA,KAAA,YAAA,IAKF,mBDqLA,6BCnLE,QAAA,GDuLF,WCpLA,IAEE,OAAA,IAAA,MAAA,KACA,kBAAA,MAGF,MACE,QAAA,mBDqLF,IClLA,GAEE,kBAAA,MAGF,IACE,UAAA,eDmLF,GACA,GCjLA,EAGE,QAAA,EACA,OAAA,EAGF,GD+KA,GC7KE,iBAAA,MAMF,QACE,QAAA,KAEF,YD2KA,oBCxKI,iBAAA,eAGJ,OACE,OAAA,IAAA,MAAA,KAGF,OACE,gBAAA,mBADF,UD2KA,UCtKI,iBAAA,eD0KJ,mBCvKA,mBAGI,OAAA,IAAA,MAAA,gBCrFN,WACE,YAAA,uBACA,IAAA,+CACA,IAAA,sDAAA,2BAAA,CAAA,iDAAA,eAAA,CAAA,gDAAA,cAAA,CAAA,+CAAA,kBAAA,CAAA,2EAAA,cAQF,WACE,SAAA,SACA,IAAA,IACA,QAAA,aACA,YAAA,uBACA,WAAA,OACA,YAAA,IACA,YAAA,EACA,uBAAA,YACA,wBAAA,UAIkC,2BAAW,QAAA,QACX,uBAAW,QAAA,QF2P/C,sBEzPoC,uBAAW,QAAA,QACX,wBAAW,QAAA,QACX,wBAAW,QAAA,QACX,2BAAW,QAAA,QACX,yBAAW,QAAA,QACX,wBAAW,QAAA,QACX,wBAAW,QAAA,QACX,yBAAW,QAAA,QACX,wBAAW,QAAA,QACX,uBAAW,QAAA,QACX,6BAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,2BAAW,QAAA,QACX,qBAAW,QAAA,QACX,0BAAW,QAAA,QACX,qBAAW,QAAA,QACX,yBAAW,QAAA,QACX,0BAAW,QAAA,QACX,2BAAW,QAAA,QACX,sBAAW,QAAA,QACX,yBAAW,QAAA,QACX,sBAAW,QAAA,QACX,wBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,+BAAW,QAAA,QACX,2BAAW,QAAA,QACX,yBAAW,QAAA,QACX,wBAAW,QAAA,QACX,8BAAW,QAAA,QACX,yBAAW,QAAA,QACX,0BAAW,QAAA,QACX,2BAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,6BAAW,QAAA,QACX,6BAAW,QAAA,QACX,8BAAW,QAAA,QACX,4BAAW,QAAA,QACX,yBAAW,QAAA,QACX,0BAAW,QAAA,QACX,sBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,2BAAW,QAAA,QACX,wBAAW,QAAA,QACX,yBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,yBAAW,QAAA,QACX,8BAAW,QAAA,QACX,6BAAW,QAAA,QACX,6BAAW,QAAA,QACX,+BAAW,QAAA,QACX,8BAAW,QAAA,QACX,gCAAW,QAAA,QACX,uBAAW,QAAA,QACX,8BAAW,QAAA,QACX,+BAAW,QAAA,QACX,iCAAW,QAAA,QACX,0BAAW,QAAA,QACX,6BAAW,QAAA,QACX,yBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,wBAAW,QAAA,QACX,wBAAW,QAAA,QACX,uBAAW,QAAA,QACX,gCAAW,QAAA,QACX,gCAAW,QAAA,QACX,2BAAW,QAAA,QACX,uBAAW,QAAA,QACX,wBAAW,QAAA,QACX,uBAAW,QAAA,QACX,0BAAW,QAAA,QACX,+BAAW,QAAA,QACX,+BAAW,QAAA,QACX,wBAAW,QAAA,QACX,+BAAW,QAAA,QACX,gCAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,8BAAW,QAAA,QACX,0BAAW,QAAA,QACX,gCAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,gCAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,6BAAW,QAAA,QACX,8BAAW,QAAA,QACX,2BAAW,QAAA,QACX,6BAAW,QAAA,QACX,4BAAW,QAAA,QACX,8BAAW,QAAA,QACX,+BAAW,QAAA,QACX,mCAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,2BAAW,QAAA,QACX,4BAAW,QAAA,QACX,+BAAW,QAAA,QACX,wBAAW,QAAA,QACX,2BAAW,QAAA,QACX,yBAAW,QAAA,QACX,0BAAW,QAAA,QACX,yBAAW,QAAA,QACX,6BAAW,QAAA,QACX,+BAAW,QAAA,QACX,0BAAW,QAAA,QACX,gCAAW,QAAA,QACX,+BAAW,QAAA,QACX,8BAAW,QAAA,QACX,kCAAW,QAAA,QACX,oCAAW,QAAA,QACX,sBAAW,QAAA,QACX,2BAAW,QAAA,QACX,uBAAW,QAAA,QACX,8BAAW,QAAA,QACX,4BAAW,QAAA,QACX,8BAAW,QAAA,QACX,6BAAW,QAAA,QACX,4BAAW,QAAA,QACX,0BAAW,QAAA,QACX,4BAAW,QAAA,QACX,qCAAW,QAAA,QACX,oCAAW,QAAA,QACX,kCAAW,QAAA,QACX,oCAAW,QAAA,QACX,wBAAW,QAAA,QACX,yBAAW,QAAA,QACX,wBAAW,QAAA,QACX,yBAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,4BAAW,QAAA,QACX,4BAAW,QAAA,QACX,8BAAW,QAAA,QACX,uBAAW,QAAA,QACX,wBAAW,QAAA,QACX,0BAAW,QAAA,QACX,sBAAW,QAAA,QACX,sBAAW,QAAA,QACX,uBAAW,QAAA,QACX,mCAAW,QAAA,QACX,uCAAW,QAAA,QACX,gCAAW,QAAA,QACX,oCAAW,QAAA,QACX,qCAAW,QAAA,QACX,yCAAW,QAAA,QACX,4BAAW,QAAA,QACX,yBAAW,QAAA,QACX,gCAAW,QAAA,QACX,8BAAW,QAAA,QACX,yBAAW,QAAA,QACX,wBAAW,QAAA,QACX,0BAAW,QAAA,QACX,6BAAW,QAAA,QACX,yBAAW,QAAA,QACX,uBAAW,QAAA,QACX,uBAAW,QAAA,QACX,wBAAW,QAAA,QACX,yBAAW,QAAA,QACX,yBAAW,QAAA,QACX,uBAAW,QAAA,QACX,8BAAW,QAAA,QACX,+BAAW,QAAA,QACX,gCAAW,QAAA,QACX,8BAAW,QAAA,QACX,8BAAW,QAAA,QACX,8BAAW,QAAA,QACX,2BAAW,QAAA,QACX,0BAAW,QAAA,QACX,yBAAW,QAAA,QACX,6BAAW,QAAA,QACX,2BAAW,QAAA,QACX,4BAAW,QAAA,QACX,wBAAW,QAAA,QACX,wBAAW,QAAA,QACX,2BAAW,QAAA,QACX,2BAAW,QAAA,QACX,4BAAW,QAAA,QACX,+BAAW,QAAA,QACX,8BAAW,QAAA,QACX,4BAAW,QAAA,QACX,4BAAW,QAAA,QACX,4BAAW,QAAA,QACX,iCAAW,QAAA,QACX,oCAAW,QAAA,QACX,iCAAW,QAAA,QACX,+BAAW,QAAA,QACX,+BAAW,QAAA,QACX,iCAAW,QAAA,QACX,qBAAW,QAAA,QACX,4BAAW,QAAA,QACX,4BAAW,QAAA,QACX,2BAAW,QAAA,QACX,uBAAW,QAAA,QACX,wBAAW,QAAA,QASX,wBAAW,QAAA,QACX,4BAAW,QAAA,QACX,uBAAW,QAAA,QACX,wBAAW,QAAA,QACX,uBAAW,QAAA,QACX,yBAAW,QAAA,QACX,yBAAW,QAAA,QACX,+BAAW,QAAA,QACX,uBAAW,QAAA,QACX,6BAAW,QAAA,QACX,sBAAW,QAAA,QACX,wBAAW,QAAA,QACX,wBAAW,QAAA,QACX,4BAAW,QAAA,QACX,uBAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,2BAAW,QAAA,QACX,0BAAW,QAAA,QACX,sBAAW,QAAA,QACX,sBAAW,QAAA,QACX,sBAAW,QAAA,QACX,sBAAW,QAAA,QACX,wBAAW,QAAA,QACX,sBAAW,QAAA,QACX,wBAAW,QAAA,QACX,4BAAW,QAAA,QACX,mCAAW,QAAA,QACX,4BAAW,QAAA,QACX,oCAAW,QAAA,QACX,kCAAW,QAAA,QACX,iCAAW,QAAA,QACX,+BAAW,QAAA,QACX,sBAAW,QAAA,QACX,wBAAW,QAAA,QACX,6BAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,kCAAW,QAAA,QACX,mCAAW,QAAA,QACX,sCAAW,QAAA,QACX,0CAAW,QAAA,QACX,oCAAW,QAAA,QACX,wCAAW,QAAA,QACX,qCAAW,QAAA,QACX,iCAAW,QAAA,QACX,gCAAW,QAAA,QACX,kCAAW,QAAA,QACX,+BAAW,QAAA,QACX,0BAAW,QAAA,QACX,8BAAW,QAAA,QACX,4BAAW,QAAA,QACX,4BAAW,QAAA,QACX,6BAAW,QAAA,QACX,4BAAW,QAAA,QACX,0BAAW,QAAA,QCxS/C,ECkEE,mBAAA,WACG,gBAAA,WACK,WAAA,WJo+BV,OGriCA,QC+DE,mBAAA,WACG,gBAAA,WACK,WAAA,WDzDV,KACE,UAAA,KACA,4BAAA,cAGF,KACE,YAAA,gBAAA,CAAA,SAAA,CAAA,KAAA,CAAA,WACA,UAAA,KACA,YAAA,WACA,MAAA,KACA,iBAAA,KHoiCF,OGhiCA,MHiiCA,OACA,SG9hCE,YAAA,QACA,UAAA,QACA,YAAA,QAMF,EACE,MAAA,QACA,gBAAA,KH8hCF,QG5hCE,QAEE,MAAA,QACA,gBAAA,UAGF,QEnDA,QAAA,IAAA,KAAA,yBACA,eAAA,KF6DF,OACE,OAAA,EAMF,IACE,eAAA,OHqhCF,4BADA,0BGhhCA,gBH+gCA,iBADA,eMxlCE,QAAA,MACA,UAAA,KACA,OAAA,KH6EF,aACE,cAAA,IAMF,eACE,QAAA,IACA,YAAA,WACA,iBAAA,KACA,OAAA,IAAA,MAAA,KACA,cAAA,IC+FA,mBAAA,IAAA,IAAA,YACK,cAAA,IAAA,IAAA,YACG,WAAA,IAAA,IAAA,YE5LR,QAAA,aACA,UAAA,KACA,OAAA,KHiGF,YACE,cAAA,IAMF,GACE,WAAA,KACA,cAAA,KACA,OAAA,EACA,WAAA,IAAA,MAAA,KAQF,SACE,SAAA,SACA,MAAA,IACA,OAAA,IACA,QAAA,EACA,OAAA,KACA,SAAA,OACA,KAAA,cACA,OAAA,EAQA,0BH8/BF,yBG5/BI,SAAA,OACA,MAAA,KACA,OAAA,KACA,OAAA,EACA,SAAA,QACA,KAAA,KAWJ,cACE,OAAA,QH4/BF,IACA,IACA,IACA,IACA,IACA,IOtpCA,GP4oCA,GACA,GACA,GACA,GACA,GO9oCE,YAAA,QACA,YAAA,IACA,YAAA,IACA,MAAA,QPyqCF,WAZA,UAaA,WAZA,UAaA,WAZA,UAaA,WAZA,UAaA,WAZA,UAaA,WAZA,UACA,UOxqCA,SPyqCA,UAZA,SAaA,UAZA,SAaA,UAZA,SAaA,UAZA,SAaA,UAZA,SOxpCI,YAAA,IACA,YAAA,EACA,MAAA,KP8qCJ,IAEA,IAEA,IO9qCA,GP2qCA,GAEA,GO1qCE,WAAA,KACA,cAAA,KPqrCF,WANA,UAQA,WANA,UAQA,WANA,UACA,UOxrCA,SP0rCA,UANA,SAQA,UANA,SO9qCI,UAAA,IPyrCJ,IAEA,IAEA,IO1rCA,GPurCA,GAEA,GOtrCE,WAAA,KACA,cAAA,KPisCF,WANA,UAQA,WANA,UAQA,WANA,UACA,UOpsCA,SPssCA,UANA,SAQA,UANA,SO1rCI,UAAA,IPqsCJ,IOjsCA,GAAU,UAAA,KPqsCV,IOpsCA,GAAU,UAAA,KPwsCV,IOvsCA,GAAU,UAAA,KP2sCV,IO1sCA,GAAU,UAAA,KP8sCV,IO7sCA,GAAU,UAAA,KPitCV,IOhtCA,GAAU,UAAA,KAMV,EACE,OAAA,EAAA,EAAA,KAGF,MACE,cAAA,KACA,UAAA,KACA,YAAA,IACA,YAAA,IAEA,yBAAA,MACE,UAAA,MPitCJ,OOxsCA,MAEE,UAAA,IP0sCF,MOvsCA,KAEE,QAAA,KACA,iBAAA,QAIF,WAAuB,WAAA,KACvB,YAAuB,WAAA,MACvB,aAAuB,WAAA,OACvB,cAAuB,WAAA,QACvB,aAAuB,YAAA,OAGvB,gBAAuB,eAAA,UACvB,gBAAuB,eAAA,UACvB,iBAAuB,eAAA,WAGvB,YACE,MAAA,KAEF,cCvGE,MAAA,QR2zCF,qBQ1zCE,qBAEE,MAAA,QDuGJ,cC1GE,MAAA,QRk0CF,qBQj0CE,qBAEE,MAAA,QD0GJ,WC7GE,MAAA,QRy0CF,kBQx0CE,kBAEE,MAAA,QD6GJ,cChHE,MAAA,QRg1CF,qBQ/0CE,qBAEE,MAAA,QDgHJ,aCnHE,MAAA,QRu1CF,oBQt1CE,oBAEE,MAAA,QDuHJ,YAGE,MAAA,KE7HA,iBAAA,QT+1CF,mBS91CE,mBAEE,iBAAA,QF6HJ,YEhIE,iBAAA,QTs2CF,mBSr2CE,mBAEE,iBAAA,QFgIJ,SEnIE,iBAAA,QT62CF,gBS52CE,gBAEE,iBAAA,QFmIJ,YEtIE,iBAAA,QTo3CF,mBSn3CE,mBAEE,iBAAA,QFsIJ,WEzIE,iBAAA,QT23CF,kBS13CE,kBAEE,iBAAA,QF8IJ,aACE,eAAA,IACA,OAAA,KAAA,EAAA,KACA,cAAA,IAAA,MAAA,KPgvCF,GOxuCA,GAEE,WAAA,EACA,cAAA,KP4uCF,MAFA,MACA,MO9uCA,MAMI,cAAA,EAOJ,eACE,aAAA,EACA,WAAA,KAIF,aALE,aAAA,EACA,WAAA,KAMA,YAAA,KAFF,gBAKI,QAAA,aACA,cAAA,IACA,aAAA,IAKJ,GACE,WAAA,EACA,cAAA,KPouCF,GOluCA,GAEE,YAAA,WAEF,GACE,YAAA,IAEF,GACE,YAAA,EAaA,yBAAA,kBAEI,MAAA,KACA,MAAA,MACA,MAAA,KACA,WAAA,MGxNJ,SAAA,OACA,cAAA,SACA,YAAA,OHiNA,kBASI,YAAA,OP4tCN,0BOjtCA,YAEE,OAAA,KAGF,YACE,UAAA,IA9IqB,eAAA,UAmJvB,WACE,QAAA,KAAA,KACA,OAAA,EAAA,EAAA,KACA,UAAA,OACA,YAAA,IAAA,MAAA,KPitCF,yBO5sCI,wBP2sCJ,yBO1sCM,cAAA,EPgtCN,kBO1tCA,kBPytCA,iBOtsCI,QAAA,MACA,UAAA,IACA,YAAA,WACA,MAAA,KP4sCJ,yBO1sCI,yBPysCJ,wBOxsCM,QAAA,cAQN,oBPqsCA,sBOnsCE,cAAA,KACA,aAAA,EACA,WAAA,MACA,aAAA,IAAA,MAAA,KACA,YAAA,EP0sCF,kCOpsCI,kCPksCJ,iCAGA,oCAJA,oCAEA,mCOnsCe,QAAA,GP4sCf,iCO3sCI,iCPysCJ,gCAGA,mCAJA,mCAEA,kCOzsCM,QAAA,cAMN,QACE,cAAA,KACA,WAAA,OACA,YAAA,WIxSF,KXm/CA,IACA,IACA,KWj/CE,YAAA,KAAA,CAAA,MAAA,CAAA,QAAA,CAAA,aAAA,CAAA,UAIF,KACE,QAAA,IAAA,IACA,UAAA,IACA,MAAA,QACA,iBAAA,QACA,cAAA,IAIF,IACE,QAAA,IAAA,IACA,UAAA,IACA,MAAA,KACA,iBAAA,KACA,cAAA,IACA,mBAAA,MAAA,EAAA,KAAA,EAAA,gBAAA,WAAA,MAAA,EAAA,KAAA,EAAA,gBANF,QASI,QAAA,EACA,UAAA,KACA,YAAA,IACA,mBAAA,KAAA,WAAA,KAKJ,IACE,QAAA,MACA,QAAA,MACA,OAAA,EAAA,EAAA,KACA,UAAA,KACA,YAAA,WACA,MAAA,KACA,WAAA,UACA,UAAA,WACA,iBAAA,QACA,OAAA,IAAA,MAAA,KACA,cAAA,IAXF,SAeI,QAAA,EACA,UAAA,QACA,MAAA,QACA,YAAA,SACA,iBAAA,YACA,cAAA,EAKJ,gBACE,WAAA,MACA,WAAA,OC1DF,WCHE,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KDGA,yBAAA,WACE,MAAA,OAEF,yBAAA,WACE,MAAA,OAEF,0BAAA,WACE,MAAA,QAUJ,iBCvBE,cAAA,KACA,aAAA,KACA,aAAA,KACA,YAAA,KD6BF,KCvBE,aAAA,MACA,YAAA,MD0BF,gBACE,aAAA,EACA,YAAA,EAFF,8BAKI,cAAA,EACA,aAAA,EZwiDJ,UAoCA,WAIA,WAIA,WAxCA,UAIA,UAIA,UAIA,UAIA,UAIA,UAIA,UAIA,UAjCA,UAoCA,WAIA,WAIA,WAxCA,UAIA,UAIA,UAIA,UAIA,UAIA,UAIA,UAIA,UAjCA,UAoCA,WAIA,WAIA,WAxCA,UAIA,UAIA,UAIA,UAIA,UAIA,UAIA,UAIA,UatnDC,UbynDD,WAIA,WAIA,WAxCA,UAIA,UAIA,UAIA,UAIA,UAIA,UAIA,UAIA,UcpmDM,SAAA,SAEA,WAAA,IAEA,cAAA,KACA,aAAA,KDtBL,UbmpDD,WACA,WACA,WAVA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,Uc3mDM,MAAA,KDvCL,WC+CG,MAAA,KD/CH,WC+CG,MAAA,aD/CH,WC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,YD/CH,gBC8DG,MAAA,KD9DH,gBC8DG,MAAA,aD9DH,gBC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,YD9DH,eCmEG,MAAA,KDnEH,gBCoDG,KAAA,KDpDH,gBCoDG,KAAA,aDpDH,gBCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,YDpDH,eCyDG,KAAA,KDzDH,kBCwEG,YAAA,KDxEH,kBCwEG,YAAA,aDxEH,kBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,YDxEH,iBCwEG,YAAA,EFCJ,yBCzEC,Ub2zDC,WACA,WACA,WAVA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UcnxDI,MAAA,KDvCL,WC+CG,MAAA,KD/CH,WC+CG,MAAA,aD/CH,WC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,YD/CH,gBC8DG,MAAA,KD9DH,gBC8DG,MAAA,aD9DH,gBC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,YD9DH,eCmEG,MAAA,KDnEH,gBCoDG,KAAA,KDpDH,gBCoDG,KAAA,aDpDH,gBCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,YDpDH,eCyDG,KAAA,KDzDH,kBCwEG,YAAA,KDxEH,kBCwEG,YAAA,aDxEH,kBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,YDxEH,iBCwEG,YAAA,GFUJ,yBClFC,Ubo+DC,WACA,WACA,WAVA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,Uc57DI,MAAA,KDvCL,WC+CG,MAAA,KD/CH,WC+CG,MAAA,aD/CH,WC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,YD/CH,gBC8DG,MAAA,KD9DH,gBC8DG,MAAA,aD9DH,gBC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,YD9DH,eCmEG,MAAA,KDnEH,gBCoDG,KAAA,KDpDH,gBCoDG,KAAA,aDpDH,gBCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,YDpDH,eCyDG,KAAA,KDzDH,kBCwEG,YAAA,KDxEH,kBCwEG,YAAA,aDxEH,kBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,YDxEH,iBCwEG,YAAA,GFmBJ,0BC3FC,Ub6oEC,WACA,WACA,WAVA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UcrmEI,MAAA,KDvCL,WC+CG,MAAA,KD/CH,WC+CG,MAAA,aD/CH,WC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,ID/CH,UC+CG,MAAA,aD/CH,UC+CG,MAAA,YD/CH,gBC8DG,MAAA,KD9DH,gBC8DG,MAAA,aD9DH,gBC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,ID9DH,eC8DG,MAAA,aD9DH,eC8DG,MAAA,YD9DH,eCmEG,MAAA,KDnEH,gBCoDG,KAAA,KDpDH,gBCoDG,KAAA,aDpDH,gBCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,IDpDH,eCoDG,KAAA,aDpDH,eCoDG,KAAA,YDpDH,eCyDG,KAAA,KDzDH,kBCwEG,YAAA,KDxEH,kBCwEG,YAAA,aDxEH,kBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,IDxEH,iBCwEG,YAAA,aDxEH,iBCwEG,YAAA,YDxEH,iBCwEG,YAAA,GCjEJ,MACE,iBAAA,YADF,uBAQI,SAAA,OACA,QAAA,aACA,MAAA,KAKA,sBf+xEJ,sBe9xEM,SAAA,OACA,QAAA,WACA,MAAA,KAKN,QACE,YAAA,IACA,eAAA,IACA,MAAA,KACA,WAAA,KAGF,GACE,WAAA,KAMF,OACE,MAAA,KACA,UAAA,KACA,cAAA,Kf6xEF,mBAHA,mBAIA,mBAHA,mBACA,mBe/xEA,mBAWQ,QAAA,IACA,YAAA,WACA,eAAA,IACA,WAAA,IAAA,MAAA,KAdR,mBAoBI,eAAA,OACA,cAAA,IAAA,MAAA,KfyxEJ,uCe9yEA,uCf+yEA,wCAHA,wCAIA,2CAHA,2Ce/wEQ,WAAA,EA9BR,mBAoCI,WAAA,IAAA,MAAA,KApCJ,cAyCI,iBAAA,KfoxEJ,6BAHA,6BAIA,6BAHA,6BACA,6Be5wEA,6BAOQ,QAAA,IAWR,gBACE,OAAA,IAAA,MAAA,KfqwEF,4BAHA,4BAIA,4BAHA,4BACA,4BerwEA,4BAQQ,OAAA,IAAA,MAAA,KfmwER,4Be3wEA,4BAeM,oBAAA,IAUN,yCAEI,iBAAA,QASJ,4BAEI,iBAAA,QfqvEJ,0BAGA,0BATA,0BAGA,0BAIA,0BAGA,0BATA,0BAGA,0BACA,0BAGA,0BgBt4EE,0BhBg4EF,0BgBz3EM,iBAAA,QhBs4EN,sCAEA,sCADA,oCgBj4EE,sChB+3EF,sCgBz3EM,iBAAA,QhBs4EN,2BAGA,2BATA,2BAGA,2BAIA,2BAGA,2BATA,2BAGA,2BACA,2BAGA,2BgB35EE,2BhBq5EF,2BgB94EM,iBAAA,QhB25EN,uCAEA,uCADA,qCgBt5EE,uChBo5EF,uCgB94EM,iBAAA,QhB25EN,wBAGA,wBATA,wBAGA,wBAIA,wBAGA,wBATA,wBAGA,wBACA,wBAGA,wBgBh7EE,wBhB06EF,wBgBn6EM,iBAAA,QhBg7EN,oCAEA,oCADA,kCgB36EE,oChBy6EF,oCgBn6EM,iBAAA,QhBg7EN,2BAGA,2BATA,2BAGA,2BAIA,2BAGA,2BATA,2BAGA,2BACA,2BAGA,2BgBr8EE,2BhB+7EF,2BgBx7EM,iBAAA,QhBq8EN,uCAEA,uCADA,qCgBh8EE,uChB87EF,uCgBx7EM,iBAAA,QhBq8EN,0BAGA,0BATA,0BAGA,0BAIA,0BAGA,0BATA,0BAGA,0BACA,0BAGA,0BgB19EE,0BhBo9EF,0BgB78EM,iBAAA,QhB09EN,sCAEA,sCADA,oCgBr9EE,sChBm9EF,sCgB78EM,iBAAA,QDoJN,kBACE,WAAA,KACA,WAAA,KAEA,oCAAA,kBACE,MAAA,KACA,cAAA,KACA,WAAA,OACA,mBAAA,yBACA,OAAA,IAAA,MAAA,KALF,yBASI,cAAA,Efq0EJ,qCAHA,qCAIA,qCAHA,qCACA,qCe70EA,qCAkBU,YAAA,OAlBV,kCA0BI,OAAA,Ef+zEJ,0DAHA,0DAIA,0DAHA,0DACA,0Dex1EA,0DAmCU,YAAA,Ef8zEV,yDAHA,yDAIA,yDAHA,yDACA,yDeh2EA,yDAuCU,aAAA,Efg0EV,yDev2EA,yDfw2EA,yDAFA,yDelzEU,cAAA,GEzNZ,SAIE,UAAA,EACA,QAAA,EACA,OAAA,EACA,OAAA,EAGF,OACE,QAAA,MACA,MAAA,KACA,QAAA,EACA,cAAA,KACA,UAAA,KACA,YAAA,QACA,MAAA,KACA,OAAA,EACA,cAAA,IAAA,MAAA,QAGF,MACE,QAAA,aACA,UAAA,KACA,cAAA,IACA,YAAA,IAUF,mBb6BE,mBAAA,WACG,gBAAA,WACK,WAAA,WarBR,mBAAA,KACA,gBAAA,KAAA,WAAA,KjBkgFF,qBiB9/EA,kBAEE,OAAA,IAAA,EAAA,EACA,WAAA,MACA,YAAA,OjBogFF,wCADA,qCADA,8BAFA,+BACA,2BiB3/EE,4BAGE,OAAA,YAIJ,iBACE,QAAA,MAIF,kBACE,QAAA,MACA,MAAA,KAIF,iBjBu/EA,aiBr/EE,OAAA,KjB0/EF,2BiBt/EA,uBjBq/EA,wBK/kFE,QAAA,IAAA,KAAA,yBACA,eAAA,KYgGF,OACE,QAAA,MACA,YAAA,IACA,UAAA,KACA,YAAA,WACA,MAAA,KA0BF,cACE,QAAA,MACA,MAAA,KACA,OAAA,KACA,QAAA,IAAA,KACA,UAAA,KACA,YAAA,WACA,MAAA,KACA,iBAAA,KACA,iBAAA,KACA,OAAA,IAAA,MAAA,KACA,cAAA,Ib3EA,mBAAA,MAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,iBAyHR,mBAAA,aAAA,YAAA,IAAA,CAAA,WAAA,YAAA,KACK,cAAA,aAAA,YAAA,IAAA,CAAA,WAAA,YAAA,KACG,mBAAA,aAAA,YAAA,IAAA,CAAA,mBAAA,YAAA,KAAA,WAAA,aAAA,YAAA,IAAA,CAAA,mBAAA,YAAA,KAAA,WAAA,aAAA,YAAA,IAAA,CAAA,WAAA,YAAA,KAAA,WAAA,aAAA,YAAA,IAAA,CAAA,WAAA,YAAA,IAAA,CAAA,mBAAA,YAAA,Kc1IR,oBACE,aAAA,QACA,QAAA,EdYF,mBAAA,MAAA,EAAA,IAAA,IAAA,gBAAA,CAAA,EAAA,EAAA,IAAA,qBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,gBAAA,CAAA,EAAA,EAAA,IAAA,qBAiCR,gCACE,MAAA,KACA,QAAA,EAEF,oCAA0B,MAAA,KAC1B,yCAAgC,MAAA,Ka+ChC,0BACE,iBAAA,YACA,OAAA,EAQF,wBjBq+EF,wBACA,iCiBn+EI,iBAAA,KACA,QAAA,EAGF,wBjBo+EF,iCiBl+EI,OAAA,YAIF,sBACE,OAAA,KAcJ,qDAKI,8BjBm9EF,wCACA,+BAFA,8BiBj9EI,YAAA,KjB09EJ,iCAEA,2CACA,kCAFA,iCiBx9EE,0BjBq9EF,oCACA,2BAFA,0BiBl9EI,YAAA,KjB+9EJ,iCAEA,2CACA,kCAFA,iCiB79EE,0BjB09EF,oCACA,2BAFA,0BiBv9EI,YAAA,MAWN,YACE,cAAA,KjBy9EF,UiBj9EA,OAEE,SAAA,SACA,QAAA,MACA,WAAA,KACA,cAAA,KjBm9EF,yBiBh9EE,sBjBk9EF,mCADA,gCiB98EM,OAAA,YjBm9EN,gBiB99EA,aAgBI,WAAA,KACA,aAAA,KACA,cAAA,EACA,YAAA,IACA,OAAA,QjBm9EJ,+BACA,sCiBj9EA,yBjB+8EA,gCiB38EE,SAAA,SACA,WAAA,MACA,YAAA,MjBi9EF,oBiB98EA,cAEE,WAAA,KjBg9EF,iBiB58EA,cAEE,SAAA,SACA,QAAA,aACA,aAAA,KACA,cAAA,EACA,YAAA,IACA,eAAA,OACA,OAAA,QjB88EF,0BiB38EE,uBjB68EF,oCADA,iCiB18EI,OAAA,YjB+8EJ,kCiB58EA,4BAEE,WAAA,EACA,YAAA,KASF,qBACE,WAAA,KAEA,YAAA,IACA,eAAA,IAEA,cAAA,EAEA,8BjBm8EF,8BiBj8EI,cAAA,EACA,aAAA,EAaJ,UC3PE,OAAA,KACA,QAAA,IAAA,KACA,UAAA,KACA,YAAA,IACA,cAAA,IAEA,gBACE,OAAA,KACA,YAAA,KlBsrFJ,0BkBnrFE,kBAEE,OAAA,KDiPJ,6BAEI,OAAA,KACA,QAAA,IAAA,KACA,UAAA,KACA,YAAA,IACA,cAAA,IANJ,mCASI,OAAA,KACA,YAAA,KjBq8EJ,6CiB/8EA,qCAcI,OAAA,KAdJ,oCAiBI,OAAA,KACA,WAAA,KACA,QAAA,IAAA,KACA,UAAA,KACA,YAAA,IAIJ,UCvRE,OAAA,KACA,QAAA,KAAA,KACA,UAAA,KACA,YAAA,UACA,cAAA,IAEA,gBACE,OAAA,KACA,YAAA,KlB2tFJ,0BkBxtFE,kBAEE,OAAA,KD6QJ,6BAEI,OAAA,KACA,QAAA,KAAA,KACA,UAAA,KACA,YAAA,UACA,cAAA,IANJ,mCASI,OAAA,KACA,YAAA,KjB88EJ,6CiBx9EA,qCAcI,OAAA,KAdJ,oCAiBI,OAAA,KACA,WAAA,KACA,QAAA,KAAA,KACA,UAAA,KACA,YAAA,UASJ,cAEE,SAAA,SAFF,4BAMI,cAAA,OAIJ,uBACE,SAAA,SACA,IAAA,EACA,MAAA,EACA,QAAA,EACA,QAAA,MACA,MAAA,KACA,OAAA,KACA,YAAA,KACA,WAAA,OACA,eAAA,KjBo8EF,oDADA,uCiBj8EA,iCAGE,MAAA,KACA,OAAA,KACA,YAAA,KjBo8EF,oDADA,uCiBj8EA,iCAGE,MAAA,KACA,OAAA,KACA,YAAA,KjBq8EF,uBAEA,8BAJA,4BiB/7EA,yBjBg8EA,oBAEA,2BAGA,4BAEA,mCAHA,yBAEA,gCkBx1FI,MAAA,QDkZJ,2BC9YI,aAAA,QdiDF,mBAAA,MAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,iBchDN,iCACE,aAAA,Qd8CJ,mBAAA,MAAA,EAAA,IAAA,IAAA,gBAAA,CAAA,EAAA,EAAA,IAAA,QACQ,WAAA,MAAA,EAAA,IAAA,IAAA,gBAAA,CAAA,EAAA,EAAA,IAAA,Qa4VV,gCCpYI,MAAA,QACA,iBAAA,QACA,aAAA,QDkYJ,oCC9XI,MAAA,QlB61FJ,uBAEA,8BAJA,4BiB19EA,yBjB29EA,oBAEA,2BAGA,4BAEA,mCAHA,yBAEA,gCkBt3FI,MAAA,QDqZJ,2BCjZI,aAAA,QdiDF,mBAAA,MAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,iBchDN,iCACE,aAAA,Qd8CJ,mBAAA,MAAA,EAAA,IAAA,IAAA,gBAAA,CAAA,EAAA,EAAA,IAAA,QACQ,WAAA,MAAA,EAAA,IAAA,IAAA,gBAAA,CAAA,EAAA,EAAA,IAAA,Qa+VV,gCCvYI,MAAA,QACA,iBAAA,QACA,aAAA,QDqYJ,oCCjYI,MAAA,QlB23FJ,qBAEA,4BAJA,0BiBr/EA,uBjBs/EA,kBAEA,yBAGA,0BAEA,iCAHA,uBAEA,8BkBp5FI,MAAA,QDwZJ,yBCpZI,aAAA,QdiDF,mBAAA,MAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,iBchDN,+BACE,aAAA,Qd8CJ,mBAAA,MAAA,EAAA,IAAA,IAAA,gBAAA,CAAA,EAAA,EAAA,IAAA,QACQ,WAAA,MAAA,EAAA,IAAA,IAAA,gBAAA,CAAA,EAAA,EAAA,IAAA,QakWV,8BC1YI,MAAA,QACA,iBAAA,QACA,aAAA,QDwYJ,kCCpYI,MAAA,QD2YF,2CACE,IAAA,KAEF,mDACE,IAAA,EAUJ,YACE,QAAA,MACA,WAAA,IACA,cAAA,KACA,MAAA,QAkBA,yBAAA,yBAGI,QAAA,aACA,cAAA,EACA,eAAA,OALJ,2BAUI,QAAA,aACA,MAAA,KACA,eAAA,OAZJ,kCAiBI,QAAA,aAjBJ,0BAqBI,QAAA,aACA,eAAA,OjBi/EJ,wCiBvgFA,6CjBsgFA,2CiB3+EM,MAAA,KA3BN,wCAiCI,MAAA,KAjCJ,4BAqCI,cAAA,EACA,eAAA,OjB4+EJ,uBiBlhFA,oBA6CI,QAAA,aACA,WAAA,EACA,cAAA,EACA,eAAA,OjBy+EJ,6BiBzhFA,0BAmDM,aAAA,EjB0+EN,4CiB7hFA,sCAwDI,SAAA,SACA,YAAA,EAzDJ,kDA8DI,IAAA,GjBw+EN,2BAEA,kCiB/9EA,wBjB89EA,+BiBr9EI,YAAA,IACA,WAAA,EACA,cAAA,EjB09EJ,2BiBr+EA,wBAiBI,WAAA,KAjBJ,6BJ9gBE,aAAA,MACA,YAAA,MIwiBA,yBAAA,gCAEI,YAAA,IACA,cAAA,EACA,WAAA,OA/BN,sDAwCI,MAAA,KAQA,yBAAA,+CAEI,YAAA,KACA,UAAA,MAKJ,yBAAA,+CAEI,YAAA,IACA,UAAA,ME9kBR,KACE,QAAA,aACA,cAAA,EACA,YAAA,IACA,WAAA,OACA,YAAA,OACA,eAAA,OACA,iBAAA,aAAA,aAAA,aACA,OAAA,QACA,iBAAA,KACA,OAAA,IAAA,MAAA,YCoCA,QAAA,IAAA,KACA,UAAA,KACA,YAAA,WACA,cAAA,IhBqKA,oBAAA,KACG,iBAAA,KACC,gBAAA,KACI,YAAA,KJs1FV,kBAHA,kBACA,WACA,kBAHA,kBmB1hGI,WdrBF,QAAA,IAAA,KAAA,yBACA,eAAA,KLwjGF,WADA,WmB7hGE,WAGE,MAAA,KACA,gBAAA,KnB+hGJ,YmB5hGE,YAEE,iBAAA,KACA,QAAA,Ef2BF,mBAAA,MAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,iBexBR,cnB4hGF,eACA,wBmB1hGI,OAAA,YE9CF,OAAA,kBACA,QAAA,IjBiEA,mBAAA,KACQ,WAAA,KefN,enB4hGJ,yBmB1hGM,eAAA,KASN,aC7DE,MAAA,KACA,iBAAA,KACA,aAAA,KpBqlGF,mBoBnlGE,mBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAEF,mBACE,MAAA,KACA,iBAAA,QACA,aAAA,QpBqlGJ,oBoBnlGE,oBpBolGF,mCoBjlGI,MAAA,KACA,iBAAA,QACA,iBAAA,KACA,aAAA,QpB2lGJ,0BAHA,0BAHA,0BAKA,0BAHA,0BoBrlGI,0BpB0lGJ,yCAHA,yCAHA,yCoBjlGM,MAAA,KACA,iBAAA,QACA,aAAA,QpBgmGN,4BAHA,4BoBvlGI,4BpB2lGJ,6BAHA,6BAHA,6BAOA,sCAHA,sCAHA,sCoBnlGM,iBAAA,KACA,aAAA,KDuBN,oBClBI,MAAA,KACA,iBAAA,KDoBJ,aChEE,MAAA,KACA,iBAAA,QACA,aAAA,QpB0oGF,mBoBxoGE,mBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAEF,mBACE,MAAA,KACA,iBAAA,QACA,aAAA,QpB0oGJ,oBoBxoGE,oBpByoGF,mCoBtoGI,MAAA,KACA,iBAAA,QACA,iBAAA,KACA,aAAA,QpBgpGJ,0BAHA,0BAHA,0BAKA,0BAHA,0BoB1oGI,0BpB+oGJ,yCAHA,yCAHA,yCoBtoGM,MAAA,KACA,iBAAA,QACA,aAAA,QpBqpGN,4BAHA,4BoB5oGI,4BpBgpGJ,6BAHA,6BAHA,6BAOA,sCAHA,sCAHA,sCoBxoGM,iBAAA,QACA,aAAA,QD0BN,oBCrBI,MAAA,QACA,iBAAA,KDwBJ,aCpEE,MAAA,KACA,iBAAA,QACA,aAAA,QpB+rGF,mBoB7rGE,mBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAEF,mBACE,MAAA,KACA,iBAAA,QACA,aAAA,QpB+rGJ,oBoB7rGE,oBpB8rGF,mCoB3rGI,MAAA,KACA,iBAAA,QACA,iBAAA,KACA,aAAA,QpBqsGJ,0BAHA,0BAHA,0BAKA,0BAHA,0BoB/rGI,0BpBosGJ,yCAHA,yCAHA,yCoB3rGM,MAAA,KACA,iBAAA,QACA,aAAA,QpB0sGN,4BAHA,4BoBjsGI,4BpBqsGJ,6BAHA,6BAHA,6BAOA,sCAHA,sCAHA,sCoB7rGM,iBAAA,QACA,aAAA,QD8BN,oBCzBI,MAAA,QACA,iBAAA,KD4BJ,UCxEE,MAAA,KACA,iBAAA,QACA,aAAA,QpBovGF,gBoBlvGE,gBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAEF,gBACE,MAAA,KACA,iBAAA,QACA,aAAA,QpBovGJ,iBoBlvGE,iBpBmvGF,gCoBhvGI,MAAA,KACA,iBAAA,QACA,iBAAA,KACA,aAAA,QpB0vGJ,uBAHA,uBAHA,uBAKA,uBAHA,uBoBpvGI,uBpByvGJ,sCAHA,sCAHA,sCoBhvGM,MAAA,KACA,iBAAA,QACA,aAAA,QpB+vGN,yBAHA,yBoBtvGI,yBpB0vGJ,0BAHA,0BAHA,0BAOA,mCAHA,mCAHA,mCoBlvGM,iBAAA,QACA,aAAA,QDkCN,iBC7BI,MAAA,QACA,iBAAA,KDgCJ,aC5EE,MAAA,KACA,iBAAA,QACA,aAAA,QpByyGF,mBoBvyGE,mBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAEF,mBACE,MAAA,KACA,iBAAA,QACA,aAAA,QpByyGJ,oBoBvyGE,oBpBwyGF,mCoBryGI,MAAA,KACA,iBAAA,QACA,iBAAA,KACA,aAAA,QpB+yGJ,0BAHA,0BAHA,0BAKA,0BAHA,0BoBzyGI,0BpB8yGJ,yCAHA,yCAHA,yCoBryGM,MAAA,KACA,iBAAA,QACA,aAAA,QpBozGN,4BAHA,4BoB3yGI,4BpB+yGJ,6BAHA,6BAHA,6BAOA,sCAHA,sCAHA,sCoBvyGM,iBAAA,QACA,aAAA,QDsCN,oBCjCI,MAAA,QACA,iBAAA,KDoCJ,YChFE,MAAA,KACA,iBAAA,QACA,aAAA,QpB81GF,kBoB51GE,kBAEE,MAAA,KACA,iBAAA,QACA,aAAA,QAEF,kBACE,MAAA,KACA,iBAAA,QACA,aAAA,QpB81GJ,mBoB51GE,mBpB61GF,kCoB11GI,MAAA,KACA,iBAAA,QACA,iBAAA,KACA,aAAA,QpBo2GJ,yBAHA,yBAHA,yBAKA,yBAHA,yBoB91GI,yBpBm2GJ,wCAHA,wCAHA,wCoB11GM,MAAA,KACA,iBAAA,QACA,aAAA,QpBy2GN,2BAHA,2BoBh2GI,2BpBo2GJ,4BAHA,4BAHA,4BAOA,qCAHA,qCAHA,qCoB51GM,iBAAA,QACA,aAAA,QD0CN,mBCrCI,MAAA,QACA,iBAAA,KD6CJ,UACE,YAAA,IACA,MAAA,QACA,cAAA,EAEA,UnBwzGF,iBADA,iBAEA,oBACA,6BmBrzGI,iBAAA,YfnCF,mBAAA,KACQ,WAAA,KeqCR,UnB0zGF,iBADA,gBADA,gBmBpzGI,aAAA,YnB0zGJ,gBmBxzGE,gBAEE,MAAA,QACA,gBAAA,UACA,iBAAA,YnB2zGJ,0BmBvzGI,0BnBwzGJ,mCAFA,mCmBpzGM,MAAA,KACA,gBAAA,KnB0zGN,mBmBjzGA,QC9EE,QAAA,KAAA,KACA,UAAA,KACA,YAAA,UACA,cAAA,IpBm4GF,mBmBpzGA,QClFE,QAAA,IAAA,KACA,UAAA,KACA,YAAA,IACA,cAAA,IpB04GF,mBmBvzGA,QCtFE,QAAA,IAAA,IACA,UAAA,KACA,YAAA,IACA,cAAA,ID2FF,WACE,QAAA,MACA,MAAA,KAIF,sBACE,WAAA,InBuzGF,6BADA,4BmB/yGE,6BACE,MAAA,KG1JJ,MACE,QAAA,ElBoLA,mBAAA,QAAA,KAAA,OACK,cAAA,QAAA,KAAA,OACG,WAAA,QAAA,KAAA,OkBnLR,SACE,QAAA,EAIJ,UACE,QAAA,KAEA,aAAY,QAAA,MACZ,eAAY,QAAA,UACZ,kBAAY,QAAA,gBAGd,YACE,SAAA,SACA,OAAA,EACA,SAAA,OlBsKA,4BAAA,MAAA,CAAA,WACQ,uBAAA,MAAA,CAAA,WAAA,oBAAA,MAAA,CAAA,WAOR,4BAAA,KACQ,uBAAA,KAAA,oBAAA,KAGR,mCAAA,KACQ,8BAAA,KAAA,2BAAA,KmB5MV,OACE,QAAA,aACA,MAAA,EACA,OAAA,EACA,YAAA,IACA,eAAA,OACA,WAAA,IAAA,OACA,WAAA,IAAA,QACA,aAAA,IAAA,MAAA,YACA,YAAA,IAAA,MAAA,YvBu/GF,UuBn/GA,QAEE,SAAA,SAIF,uBACE,QAAA,EAIF,eACE,SAAA,SACA,IAAA,KACA,KAAA,EACA,QAAA,KACA,QAAA,KACA,MAAA,KACA,UAAA,MACA,QAAA,IAAA,EACA,OAAA,IAAA,EAAA,EACA,UAAA,KACA,WAAA,KACA,WAAA,KACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,KACA,OAAA,IAAA,MAAA,gBACA,cAAA,InBuBA,mBAAA,EAAA,IAAA,KAAA,iBACQ,WAAA,EAAA,IAAA,KAAA,iBmBlBR,0BACE,MAAA,EACA,KAAA,KAzBJ,wBCzBE,OAAA,IACA,OAAA,IAAA,EACA,SAAA,OACA,iBAAA,QDsBF,oBAmCI,QAAA,MACA,QAAA,IAAA,KACA,MAAA,KACA,YAAA,IACA,YAAA,WACA,MAAA,KACA,YAAA,OvB8+GJ,0BuB5+GI,0BAEE,MAAA,QACA,gBAAA,KACA,iBAAA,QAOJ,yBvBw+GF,+BADA,+BuBp+GI,MAAA,KACA,gBAAA,KACA,iBAAA,QACA,QAAA,EASF,2BvBi+GF,iCADA,iCuB79GI,MAAA,KvBk+GJ,iCuB99GE,iCAEE,gBAAA,KACA,OAAA,YACA,iBAAA,YACA,iBAAA,KEzGF,OAAA,0DF+GF,qBAGI,QAAA,MAHJ,QAQI,QAAA,EAQJ,qBACE,MAAA,EACA,KAAA,KAQF,oBACE,MAAA,KACA,KAAA,EAIF,iBACE,QAAA,MACA,QAAA,IAAA,KACA,UAAA,KACA,YAAA,WACA,MAAA,KACA,YAAA,OAIF,mBACE,SAAA,MACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,IAIF,2BACE,MAAA,EACA,KAAA,KAQF,evB+7GA,sCuB37GI,QAAA,GACA,WAAA,EACA,cAAA,IAAA,OACA,cAAA,IAAA,QAPJ,uBvBs8GA,8CuB37GI,IAAA,KACA,OAAA,KACA,cAAA,IASJ,yBACE,6BApEA,MAAA,EACA,KAAA,KAmEA,kCA1DA,MAAA,KACA,KAAA,GG1IF,W1BkoHA,oB0BhoHE,SAAA,SACA,QAAA,aACA,eAAA,O1BooHF,yB0BxoHA,gBAMI,SAAA,SACA,MAAA,K1B4oHJ,gCAFA,gCAFA,+BAFA,+BAKA,uBAFA,uBAFA,sB0BroHI,sBAIE,QAAA,EAMN,qB1BooHA,2BACA,2BACA,iC0BjoHI,YAAA,KAKJ,aACE,YAAA,KADF,kB1BmoHA,wBACA,0B0B7nHI,MAAA,KAPJ,kB1BwoHA,wBACA,0B0B7nHI,YAAA,IAIJ,yEACE,cAAA,EAIF,4BACE,YAAA,EACA,mECpDA,wBAAA,EACA,2BAAA,EDwDF,6C1B2nHA,8C2B5qHE,uBAAA,EACA,0BAAA,EDsDF,sBACE,MAAA,KAEF,8DACE,cAAA,EAEF,mE1B0nHA,oE2B/rHE,wBAAA,EACA,2BAAA,ED0EF,oECnEE,uBAAA,EACA,0BAAA,EDuEF,mC1BwnHA,iC0BtnHE,QAAA,EAiBF,iCACE,cAAA,IACA,aAAA,IAEF,oCACE,cAAA,KACA,aAAA,KAKF,iCtB/CE,mBAAA,MAAA,EAAA,IAAA,IAAA,iBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,iBsBkDR,0CtBnDA,mBAAA,KACQ,WAAA,KsByDV,YACE,YAAA,EAGF,eACE,aAAA,IAAA,IAAA,EACA,oBAAA,EAGF,uBACE,aAAA,EAAA,IAAA,IAOF,yB1B4lHA,+BACA,oC0BzlHI,QAAA,MACA,MAAA,KACA,MAAA,KACA,UAAA,KAPJ,oCAcM,MAAA,KAdN,8B1BumHA,oCACA,oCACA,0C0BnlHI,WAAA,KACA,YAAA,EAKF,4DACE,cAAA,EAEF,sDC7KA,uBAAA,IACA,wBAAA,IAOA,2BAAA,EACA,0BAAA,EDwKA,sDCjLA,uBAAA,EACA,wBAAA,EAOA,2BAAA,IACA,0BAAA,ID6KF,uEACE,cAAA,EAEF,4E1BqlHA,6E2BtwHE,2BAAA,EACA,0BAAA,EDsLF,6EC/LE,uBAAA,EACA,wBAAA,EDsMF,qBACE,QAAA,MACA,MAAA,KACA,aAAA,MACA,gBAAA,SAJF,0B1BslHA,gC0B/kHI,QAAA,WACA,MAAA,KACA,MAAA,GATJ,qCAYI,MAAA,KAZJ,+CAgBI,KAAA,K1BmlHJ,gD0BlkHA,6C1BmkHA,2DAFA,wD0B5jHM,SAAA,SACA,KAAA,cACA,eAAA,KE1ON,aACE,SAAA,SACA,QAAA,MACA,gBAAA,SAGA,0BACE,MAAA,KACA,cAAA,EACA,aAAA,EATJ,2BAeI,SAAA,SACA,QAAA,EAKA,MAAA,KAEA,MAAA,KACA,cAAA,EAEA,iCACE,QAAA,EAUN,8B5B2xHA,mCACA,sCkBpwHE,OAAA,KACA,QAAA,KAAA,KACA,UAAA,KACA,YAAA,UACA,cAAA,IAEA,oClBswHF,yCACA,4CkBtwHI,OAAA,KACA,YAAA,KlB4wHJ,8CACA,mDACA,sDkB3wHE,sClBuwHF,2CACA,8CkBtwHI,OAAA,KUhCJ,8B5B6yHA,mCACA,sCkB3xHE,OAAA,KACA,QAAA,IAAA,KACA,UAAA,KACA,YAAA,IACA,cAAA,IAEA,oClB6xHF,yCACA,4CkB7xHI,OAAA,KACA,YAAA,KlBmyHJ,8CACA,mDACA,sDkBlyHE,sClB8xHF,2CACA,8CkB7xHI,OAAA,KlBqyHJ,2B4B5zHA,mB5B2zHA,iB4BxzHE,QAAA,W5B8zHF,8D4B5zHE,sD5B2zHF,oD4B1zHI,cAAA,EAIJ,mB5B2zHA,iB4BzzHE,MAAA,GACA,YAAA,OACA,eAAA,OAKF,mBACE,QAAA,IAAA,KACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,MAAA,KACA,WAAA,OACA,iBAAA,KACA,OAAA,IAAA,MAAA,KACA,cAAA,IAGA,4BACE,QAAA,IAAA,KACA,UAAA,KACA,cAAA,IAEF,4BACE,QAAA,KAAA,KACA,UAAA,KACA,cAAA,I5ByzHJ,wC4B70HA,qCA0BI,WAAA,EAKJ,uC5BkzHA,+BACA,kCACA,6CACA,8CAEA,6DADA,wE2B55HE,wBAAA,EACA,2BAAA,EC8GF,+BACE,aAAA,EAEF,sC5BmzHA,8BAKA,+DADA,oDAHA,iCACA,4CACA,6C2Bh6HE,uBAAA,EACA,0BAAA,ECkHF,8BACE,YAAA,EAKF,iBACE,SAAA,SAGA,UAAA,EACA,YAAA,OALF,sBAUI,SAAA,SAVJ,2BAYM,YAAA,K5BizHN,6BADA,4B4B7yHI,4BAGE,QAAA,EAKJ,kC5B0yHF,wC4BvyHM,aAAA,KAGJ,iC5BwyHF,uC4BryHM,QAAA,EACA,YAAA,KC/JN,KACE,aAAA,EACA,cAAA,EACA,WAAA,KAHF,QAOI,SAAA,SACA,QAAA,MARJ,UAWM,SAAA,SACA,QAAA,MACA,QAAA,KAAA,K7By8HN,gB6Bx8HM,gBAEE,gBAAA,KACA,iBAAA,KAKJ,mBACE,MAAA,K7Bu8HN,yB6Br8HM,yBAEE,MAAA,KACA,gBAAA,KACA,OAAA,YACA,iBAAA,YAOJ,a7Bi8HJ,mBADA,mB6B77HM,iBAAA,KACA,aAAA,QAzCN,kBLLE,OAAA,IACA,OAAA,IAAA,EACA,SAAA,OACA,iBAAA,QKEF,cA0DI,UAAA,KASJ,UACE,cAAA,IAAA,MAAA,KADF,aAGI,MAAA,KAEA,cAAA,KALJ,eASM,aAAA,IACA,YAAA,WACA,OAAA,IAAA,MAAA,YACA,cAAA,IAAA,IAAA,EAAA,EACA,qBACE,aAAA,KAAA,KAAA,KAMF,sB7B86HN,4BADA,4B6B16HQ,MAAA,KACA,OAAA,QACA,iBAAA,KACA,OAAA,IAAA,MAAA,KACA,oBAAA,YAKN,wBAqDA,MAAA,KA8BA,cAAA,EAnFA,2BAwDE,MAAA,KAxDF,6BA0DI,cAAA,IACA,WAAA,OA3DJ,iDAgEE,IAAA,KACA,KAAA,KAGF,yBAAA,2BAEI,QAAA,WACA,MAAA,GAHJ,6BAKM,cAAA,GAzEN,6BAuFE,aAAA,EACA,cAAA,IAxFF,kC7Bu8HF,wCADA,wC6Bx2HI,OAAA,IAAA,MAAA,KAGF,yBAAA,6BAEI,cAAA,IAAA,MAAA,KACA,cAAA,IAAA,IAAA,EAAA,EAHJ,kC7Bg3HA,wCADA,wC6Bv2HI,oBAAA,MAhGN,cAEI,MAAA,KAFJ,gBAMM,cAAA,IANN,iBASM,YAAA,IAKA,uB7By8HN,6BADA,6B6Br8HQ,MAAA,KACA,iBAAA,QAQR,gBAEI,MAAA,KAFJ,mBAIM,WAAA,IACA,YAAA,EAYN,eACE,MAAA,KADF,kBAII,MAAA,KAJJ,oBAMM,cAAA,IACA,WAAA,OAPN,wCAYI,IAAA,KACA,KAAA,KAGF,yBAAA,kBAEI,QAAA,WACA,MAAA,GAHJ,oBAKM,cAAA,GASR,oBACE,cAAA,EADF,yBAKI,aAAA,EACA,cAAA,IANJ,8B7By7HA,oCADA,oC6B56HI,OAAA,IAAA,MAAA,KAGF,yBAAA,yBAEI,cAAA,IAAA,MAAA,KACA,cAAA,IAAA,IAAA,EAAA,EAHJ,8B7Bo7HA,oCADA,oC6B36HI,oBAAA,MAUN,uBAEI,QAAA,KAFJ,qBAKI,QAAA,MASJ,yBAEE,WAAA,KF7OA,uBAAA,EACA,wBAAA,EGQF,QACE,SAAA,SACA,WAAA,KACA,cAAA,KACA,OAAA,IAAA,MAAA,YAKA,yBAAA,QACE,cAAA,KAaF,yBAAA,eACE,MAAA,MAeJ,iBACE,cAAA,KACA,aAAA,KACA,WAAA,QACA,WAAA,IAAA,MAAA,YACA,mBAAA,MAAA,EAAA,IAAA,EAAA,qBAAA,WAAA,MAAA,EAAA,IAAA,EAAA,qBAEA,2BAAA,MAEA,oBACE,WAAA,KAGF,yBAAA,iBACE,MAAA,KACA,WAAA,EACA,mBAAA,KAAA,WAAA,KAEA,0BACE,QAAA,gBACA,OAAA,eACA,eAAA,EACA,SAAA,kBAGF,oBACE,WAAA,Q9BknIJ,sC8B7mIE,mC9B4mIF,oC8BzmII,cAAA,EACA,aAAA,G9B+mIN,qB8B1mIA,kBAWE,SAAA,MACA,MAAA,EACA,KAAA,EACA,QAAA,K9BmmIF,sC8BjnIA,mCAGI,WAAA,MAEA,4D9BinIF,sC8BjnIE,mCACE,WAAA,OAWJ,yB9B2mIA,qB8B3mIA,kBACE,cAAA,GAIJ,kBACE,IAAA,EACA,aAAA,EAAA,EAAA,IAEF,qBACE,OAAA,EACA,cAAA,EACA,aAAA,IAAA,EAAA,E9B+mIF,kCAFA,gCACA,4B8BtmIA,0BAII,aAAA,MACA,YAAA,MAEA,yB9BwmIF,kCAFA,gCACA,4B8BvmIE,0BACE,aAAA,EACA,YAAA,GAaN,mBACE,QAAA,KACA,aAAA,EAAA,EAAA,IAEA,yBAAA,mBACE,cAAA,GAOJ,cACE,MAAA,KACA,OAAA,KACA,QAAA,KAAA,KACA,UAAA,KACA,YAAA,K9B8lIF,oB8B5lIE,oBAEE,gBAAA,KATJ,kBAaI,QAAA,MAGF,yBACE,iC9B0lIF,uC8BxlII,YAAA,OAWN,eACE,SAAA,SACA,MAAA,MACA,QAAA,IAAA,KACA,aAAA,KC9LA,WAAA,IACA,cAAA,ID+LA,iBAAA,YACA,iBAAA,KACA,OAAA,IAAA,MAAA,YACA,cAAA,IAIA,qBACE,QAAA,EAdJ,yBAmBI,QAAA,MACA,MAAA,KACA,OAAA,IACA,cAAA,IAtBJ,mCAyBI,WAAA,IAGF,yBAAA,eACE,QAAA,MAUJ,YACE,OAAA,MAAA,MADF,iBAII,YAAA,KACA,eAAA,KACA,YAAA,KAGF,yBAAA,iCAGI,SAAA,OACA,MAAA,KACA,MAAA,KACA,WAAA,EACA,iBAAA,YACA,OAAA,EACA,mBAAA,KAAA,WAAA,K9BykIJ,kD8BllIA,sCAYM,QAAA,IAAA,KAAA,IAAA,KAZN,sCAeM,YAAA,K9B0kIN,4C8BzkIM,4CAEE,iBAAA,MAOR,yBAAA,YACE,MAAA,KACA,OAAA,EAFF,eAKI,MAAA,KALJ,iBAOM,YAAA,KACA,eAAA,MAYR,aACE,QAAA,KAAA,KACA,aAAA,MACA,YAAA,MACA,WAAA,IAAA,MAAA,YACA,cAAA,IAAA,MAAA,Y1B5NA,mBAAA,MAAA,EAAA,IAAA,EAAA,oBAAA,CAAA,EAAA,IAAA,EAAA,qBACQ,WAAA,MAAA,EAAA,IAAA,EAAA,oBAAA,CAAA,EAAA,IAAA,EAAA,qB2BjER,WAAA,IACA,cAAA,Id6cA,yBAAA,yBAGI,QAAA,aACA,cAAA,EACA,eAAA,OALJ,2BAUI,QAAA,aACA,MAAA,KACA,eAAA,OAZJ,kCAiBI,QAAA,aAjBJ,0BAqBI,QAAA,aACA,eAAA,OjB+4HJ,wCiBr6HA,6CjBo6HA,2CiBz4HM,MAAA,KA3BN,wCAiCI,MAAA,KAjCJ,4BAqCI,cAAA,EACA,eAAA,OjB04HJ,uBiBh7HA,oBA6CI,QAAA,aACA,WAAA,EACA,cAAA,EACA,eAAA,OjBu4HJ,6BiBv7HA,0BAmDM,aAAA,EjBw4HN,4CiB37HA,sCAwDI,SAAA,SACA,YAAA,EAzDJ,kDA8DI,IAAA,GaxOF,yBAAA,yBACE,cAAA,IAEA,oCACE,cAAA,GASN,yBAAA,aACE,MAAA,KACA,YAAA,EACA,eAAA,EACA,aAAA,EACA,YAAA,EACA,OAAA,E1BvPF,mBAAA,KACQ,WAAA,M0B+PV,8BACE,WAAA,EHpUA,uBAAA,EACA,wBAAA,EGuUF,mDACE,cAAA,EHzUA,uBAAA,IACA,wBAAA,IAOA,2BAAA,EACA,0BAAA,EG0UF,YChVE,WAAA,IACA,cAAA,IDkVA,mBCnVA,WAAA,KACA,cAAA,KDqVA,mBCtVA,WAAA,KACA,cAAA,KD+VF,aChWE,WAAA,KACA,cAAA,KDkWA,yBAAA,aACE,MAAA,KACA,aAAA,KACA,YAAA,MAaJ,yBACE,aEtWA,MAAA,eFuWA,cE1WA,MAAA,gBF4WE,aAAA,MAFF,4BAKI,aAAA,GAUN,gBACE,iBAAA,QACA,aAAA,QAFF,8BAKI,MAAA,K9BmlIJ,oC8BllII,oCAEE,MAAA,QACA,iBAAA,YATN,6BAcI,MAAA,KAdJ,iCAmBM,MAAA,K9BglIN,uC8B9kIM,uCAEE,MAAA,KACA,iBAAA,YAIF,sC9B6kIN,4CADA,4C8BzkIQ,MAAA,KACA,iBAAA,QAIF,wC9B2kIN,8CADA,8C8BvkIQ,MAAA,KACA,iBAAA,YAOF,oC9BskIN,0CADA,0C8BlkIQ,MAAA,KACA,iBAAA,QAIJ,yBAAA,sDAIM,MAAA,K9BmkIR,4D8BlkIQ,4DAEE,MAAA,KACA,iBAAA,YAIF,2D9BikIR,iEADA,iE8B7jIU,MAAA,KACA,iBAAA,QAIF,6D9B+jIR,mEADA,mE8B3jIU,MAAA,KACA,iBAAA,aA/EZ,+BAuFI,aAAA,K9B4jIJ,qC8B3jII,qCAEE,iBAAA,KA1FN,yCA6FM,iBAAA,KA7FN,iC9B0pIA,6B8BvjII,aAAA,QAnGJ,6BA4GI,MAAA,KACA,mCACE,MAAA,KA9GN,0BAmHI,MAAA,K9BojIJ,gC8BnjII,gCAEE,MAAA,K9BsjIN,0C8BljIM,0C9BmjIN,mDAFA,mD8B/iIQ,MAAA,KAQR,gBACE,iBAAA,KACA,aAAA,QAFF,8BAKI,MAAA,Q9B+iIJ,oC8B9iII,oCAEE,MAAA,KACA,iBAAA,YATN,6BAcI,MAAA,QAdJ,iCAmBM,MAAA,Q9B4iIN,uC8B1iIM,uCAEE,MAAA,KACA,iBAAA,YAIF,sC9ByiIN,4CADA,4C8BriIQ,MAAA,KACA,iBAAA,QAIF,wC9BuiIN,8CADA,8C8BniIQ,MAAA,KACA,iBAAA,YAMF,oC9BmiIN,0CADA,0C8B/hIQ,MAAA,KACA,iBAAA,QAIJ,yBAAA,kEAIM,aAAA,QAJN,0DAOM,iBAAA,QAPN,sDAUM,MAAA,Q9BgiIR,4D8B/hIQ,4DAEE,MAAA,KACA,iBAAA,YAIF,2D9B8hIR,iEADA,iE8B1hIU,MAAA,KACA,iBAAA,QAIF,6D9B4hIR,mEADA,mE8BxhIU,MAAA,KACA,iBAAA,aApFZ,+BA6FI,aAAA,K9BwhIJ,qC8BvhII,qCAEE,iBAAA,KAhGN,yCAmGM,iBAAA,KAnGN,iC9B4nIA,6B8BnhII,aAAA,QAzGJ,6BA6GI,MAAA,QACA,mCACE,MAAA,KA/GN,0BAoHI,MAAA,Q9BqhIJ,gC8BphII,gCAEE,MAAA,K9BuhIN,0C8BnhIM,0C9BohIN,mDAFA,mD8BhhIQ,MAAA,KGtoBR,YACE,QAAA,IAAA,KACA,cAAA,KACA,WAAA,KACA,iBAAA,QACA,cAAA,IALF,eAQI,QAAA,aARJ,yBAWM,QAAA,EAAA,IACA,MAAA,KACA,QAAA,SAbN,oBAkBI,MAAA,KCpBJ,YACE,QAAA,aACA,aAAA,EACA,OAAA,KAAA,EACA,cAAA,IAJF,eAOI,QAAA,OAPJ,iBlCyrJA,oBkC/qJM,SAAA,SACA,MAAA,KACA,QAAA,IAAA,KACA,YAAA,KACA,YAAA,WACA,MAAA,QACA,gBAAA,KACA,iBAAA,KACA,OAAA,IAAA,MAAA,KlCorJN,uBkClrJM,uBlCmrJN,0BAFA,0BkC/qJQ,QAAA,EACA,MAAA,QACA,iBAAA,KACA,aAAA,KAGJ,6BlCkrJJ,gCkC/qJQ,YAAA,EPnBN,uBAAA,IACA,0BAAA,IOsBE,4BlCirJJ,+B2BhtJE,wBAAA,IACA,2BAAA,IOwCE,sBlC+qJJ,4BAFA,4BADA,yBAIA,+BAFA,+BkC3qJM,QAAA,EACA,MAAA,KACA,OAAA,QACA,iBAAA,QACA,aAAA,QlCmrJN,wBAEA,8BADA,8BkCxuJA,2BlCsuJA,iCADA,iCkCtqJM,MAAA,KACA,OAAA,YACA,iBAAA,KACA,aAAA,KASN,oBlCqqJA,uBmC7uJM,QAAA,KAAA,KACA,UAAA,KACA,YAAA,UAEF,gCnC+uJJ,mC2B1uJE,uBAAA,IACA,0BAAA,IQAE,+BnC8uJJ,kC2BvvJE,wBAAA,IACA,2BAAA,IO2EF,oBlCgrJA,uBmC7vJM,QAAA,IAAA,KACA,UAAA,KACA,YAAA,IAEF,gCnC+vJJ,mC2B1vJE,uBAAA,IACA,0BAAA,IQAE,+BnC8vJJ,kC2BvwJE,wBAAA,IACA,2BAAA,ISHF,OACE,aAAA,EACA,OAAA,KAAA,EACA,WAAA,OACA,WAAA,KAJF,UAOI,QAAA,OAPJ,YpCuxJA,eoC7wJM,QAAA,aACA,QAAA,IAAA,KACA,iBAAA,KACA,OAAA,IAAA,MAAA,KACA,cAAA,KpCixJN,kBoC/xJA,kBAmBM,gBAAA,KACA,iBAAA,KApBN,epCoyJA,kBoCzwJM,MAAA,MA3BN,mBpCwyJA,sBoCtwJM,MAAA,KAlCN,mBpC6yJA,yBADA,yBAEA,sBoCnwJM,MAAA,KACA,OAAA,YACA,iBAAA,KC9CN,OACE,QAAA,OACA,QAAA,KAAA,KAAA,KACA,UAAA,IACA,YAAA,IACA,YAAA,EACA,MAAA,KACA,WAAA,OACA,YAAA,OACA,eAAA,SACA,cAAA,MrCuzJF,cqCnzJI,cAEE,MAAA,KACA,gBAAA,KACA,OAAA,QAKJ,aACE,QAAA,KAIF,YACE,SAAA,SACA,IAAA,KAOJ,eCtCE,iBAAA,KtCk1JF,2BsC/0JI,2BAEE,iBAAA,QDqCN,eC1CE,iBAAA,QtCy1JF,2BsCt1JI,2BAEE,iBAAA,QDyCN,eC9CE,iBAAA,QtCg2JF,2BsC71JI,2BAEE,iBAAA,QD6CN,YClDE,iBAAA,QtCu2JF,wBsCp2JI,wBAEE,iBAAA,QDiDN,eCtDE,iBAAA,QtC82JF,2BsC32JI,2BAEE,iBAAA,QDqDN,cC1DE,iBAAA,QtCq3JF,0BsCl3JI,0BAEE,iBAAA,QCFN,OACE,QAAA,aACA,UAAA,KACA,QAAA,IAAA,IACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,MAAA,KACA,WAAA,OACA,YAAA,OACA,eAAA,OACA,iBAAA,KACA,cAAA,KAGA,aACE,QAAA,KAIF,YACE,SAAA,SACA,IAAA,KvCq3JJ,0BuCl3JE,eAEE,IAAA,EACA,QAAA,IAAA,IvCo3JJ,cuC/2JI,cAEE,MAAA,KACA,gBAAA,KACA,OAAA,QAKJ,+BvC42JF,4BuC12JI,MAAA,QACA,iBAAA,KAGF,wBACE,MAAA,MAGF,+BACE,aAAA,IAGF,uBACE,YAAA,IC1DJ,WACE,YAAA,KACA,eAAA,KACA,cAAA,KACA,MAAA,QACA,iBAAA,KxCu6JF,ewC56JA,cASI,MAAA,QATJ,aAaI,cAAA,KACA,UAAA,KACA,YAAA,IAfJ,cAmBI,iBAAA,QAGF,sBxCk6JF,4BwCh6JI,cAAA,KACA,aAAA,KACA,cAAA,IA1BJ,sBA8BI,UAAA,KAGF,oCAAA,WACE,YAAA,KACA,eAAA,KAEA,sBxCi6JF,4BwC/5JI,cAAA,KACA,aAAA,KxCm6JJ,ewC16JA,cAYI,UAAA,MC1CN,WACE,QAAA,MACA,QAAA,IACA,cAAA,KACA,YAAA,WACA,iBAAA,KACA,OAAA,IAAA,MAAA,KACA,cAAA,IrCiLA,mBAAA,OAAA,IAAA,YACK,cAAA,OAAA,IAAA,YACG,WAAA,OAAA,IAAA,YJ+xJV,iByCz9JA,eAaI,aAAA,KACA,YAAA,KzCi9JJ,mBADA,kByC58JE,kBAGE,aAAA,QArBJ,oBA0BI,QAAA,IACA,MAAA,KC3BJ,OACE,QAAA,KACA,cAAA,KACA,OAAA,IAAA,MAAA,YACA,cAAA,IAJF,UAQI,WAAA,EACA,MAAA,QATJ,mBAcI,YAAA,IAdJ,S1Co/JA,U0Ch+JI,cAAA,EApBJ,WAwBI,WAAA,IASJ,mB1C09JA,mB0Cx9JE,cAAA,KAFF,0B1C89JA,0B0Cx9JI,SAAA,SACA,IAAA,KACA,MAAA,MACA,MAAA,QAQJ,eCvDE,MAAA,QACA,iBAAA,QACA,aAAA,QDqDF,kBClDI,iBAAA,QDkDJ,2BC9CI,MAAA,QDkDJ,YC3DE,MAAA,QACA,iBAAA,QACA,aAAA,QDyDF,eCtDI,iBAAA,QDsDJ,wBClDI,MAAA,QDsDJ,eC/DE,MAAA,QACA,iBAAA,QACA,aAAA,QD6DF,kBC1DI,iBAAA,QD0DJ,2BCtDI,MAAA,QD0DJ,cCnEE,MAAA,QACA,iBAAA,QACA,aAAA,QDiEF,iBC9DI,iBAAA,QD8DJ,0BC1DI,MAAA,QCDJ,wCACE,KAAQ,oBAAA,KAAA,EACR,GAAQ,oBAAA,EAAA,GAIV,mCACE,KAAQ,oBAAA,KAAA,EACR,GAAQ,oBAAA,EAAA,GAFV,gCACE,KAAQ,oBAAA,KAAA,EACR,GAAQ,oBAAA,EAAA,GAQV,UACE,OAAA,KACA,cAAA,KACA,SAAA,OACA,iBAAA,QACA,cAAA,IxCsCA,mBAAA,MAAA,EAAA,IAAA,IAAA,eACQ,WAAA,MAAA,EAAA,IAAA,IAAA,ewClCV,cACE,MAAA,KACA,MAAA,GACA,OAAA,KACA,UAAA,KACA,YAAA,KACA,MAAA,KACA,WAAA,OACA,iBAAA,QxCyBA,mBAAA,MAAA,EAAA,KAAA,EAAA,gBACQ,WAAA,MAAA,EAAA,KAAA,EAAA,gBAyHR,mBAAA,MAAA,IAAA,KACK,cAAA,MAAA,IAAA,KACG,WAAA,MAAA,IAAA,KJw6JV,sB4CnjKA,gCCDI,iBAAA,yKACA,iBAAA,oKACA,iBAAA,iKDEF,wBAAA,KAAA,KAAA,gBAAA,KAAA,K5CwjKF,qB4CjjKA,+BxC5CE,kBAAA,qBAAA,GAAA,OAAA,SACK,aAAA,qBAAA,GAAA,OAAA,SACG,UAAA,qBAAA,GAAA,OAAA,SwCmDV,sBEvEE,iBAAA,QAGA,wCDgDE,iBAAA,yKACA,iBAAA,oKACA,iBAAA,iKDsBJ,mBE3EE,iBAAA,QAGA,qCDgDE,iBAAA,yKACA,iBAAA,oKACA,iBAAA,iKD0BJ,sBE/EE,iBAAA,QAGA,wCDgDE,iBAAA,yKACA,iBAAA,oKACA,iBAAA,iKD8BJ,qBEnFE,iBAAA,QAGA,uCDgDE,iBAAA,yKACA,iBAAA,oKACA,iBAAA,iKExDJ,OAEE,WAAA,KAEA,mBACE,WAAA,EAIJ,O/CqpKA,Y+CnpKE,SAAA,OACA,KAAA,EAGF,YACE,MAAA,QAGF,cACE,QAAA,MAGA,4BACE,UAAA,KAIJ,a/CgpKA,mB+C9oKE,aAAA,KAGF,Y/C+oKA,kB+C7oKE,cAAA,K/CkpKF,Y+C/oKA,Y/C8oKA,a+C3oKE,QAAA,WACA,eAAA,IAGF,cACE,eAAA,OAGF,cACE,eAAA,OAIF,eACE,WAAA,EACA,cAAA,IAMF,YACE,aAAA,EACA,WAAA,KCrDF,YAEE,aAAA,EACA,cAAA,KAQF,iBACE,SAAA,SACA,QAAA,MACA,QAAA,KAAA,KAEA,cAAA,KACA,iBAAA,KACA,OAAA,IAAA,MAAA,KAGA,6BrB7BA,uBAAA,IACA,wBAAA,IqB+BA,4BACE,cAAA,ErBzBF,2BAAA,IACA,0BAAA,IqB6BA,0BhDqrKF,gCADA,gCgDjrKI,MAAA,KACA,OAAA,YACA,iBAAA,KALF,mDhD4rKF,yDADA,yDgDlrKM,MAAA,QATJ,gDhDisKF,sDADA,sDgDprKM,MAAA,KAKJ,wBhDqrKF,8BADA,8BgDjrKI,QAAA,EACA,MAAA,KACA,iBAAA,QACA,aAAA,QANF,iDhDisKF,wDAHA,uDADA,uDAMA,8DAHA,6DAJA,uDAMA,8DAHA,6DgDnrKM,MAAA,QAZJ,8ChDwsKF,oDADA,oDgDxrKM,MAAA,QAWN,kBhDkrKA,uBgDhrKE,MAAA,KAFF,2ChDsrKA,gDgDjrKI,MAAA,KhDsrKJ,wBgDlrKE,wBhDmrKF,6BAFA,6BgD/qKI,MAAA,KACA,gBAAA,KACA,iBAAA,QAIJ,uBACE,MAAA,KACA,WAAA,KnCvGD,yBoCIG,MAAA,QACA,iBAAA,QAEA,0BjDuxKJ,+BiDrxKM,MAAA,QAFF,mDjD2xKJ,wDiDtxKQ,MAAA,QjD2xKR,gCiDxxKM,gCjDyxKN,qCAFA,qCiDrxKQ,MAAA,QACA,iBAAA,QAEF,iCjD4xKN,uCAFA,uCADA,sCAIA,4CAFA,4CiDxxKQ,MAAA,KACA,iBAAA,QACA,aAAA,QpCzBP,sBoCIG,MAAA,QACA,iBAAA,QAEA,uBjDozKJ,4BiDlzKM,MAAA,QAFF,gDjDwzKJ,qDiDnzKQ,MAAA,QjDwzKR,6BiDrzKM,6BjDszKN,kCAFA,kCiDlzKQ,MAAA,QACA,iBAAA,QAEF,8BjDyzKN,oCAFA,oCADA,mCAIA,yCAFA,yCiDrzKQ,MAAA,KACA,iBAAA,QACA,aAAA,QpCzBP,yBoCIG,MAAA,QACA,iBAAA,QAEA,0BjDi1KJ,+BiD/0KM,MAAA,QAFF,mDjDq1KJ,wDiDh1KQ,MAAA,QjDq1KR,gCiDl1KM,gCjDm1KN,qCAFA,qCiD/0KQ,MAAA,QACA,iBAAA,QAEF,iCjDs1KN,uCAFA,uCADA,sCAIA,4CAFA,4CiDl1KQ,MAAA,KACA,iBAAA,QACA,aAAA,QpCzBP,wBoCIG,MAAA,QACA,iBAAA,QAEA,yBjD82KJ,8BiD52KM,MAAA,QAFF,kDjDk3KJ,uDiD72KQ,MAAA,QjDk3KR,+BiD/2KM,+BjDg3KN,oCAFA,oCiD52KQ,MAAA,QACA,iBAAA,QAEF,gCjDm3KN,sCAFA,sCADA,qCAIA,2CAFA,2CiD/2KQ,MAAA,KACA,iBAAA,QACA,aAAA,QDiGR,yBACE,WAAA,EACA,cAAA,IAEF,sBACE,cAAA,EACA,YAAA,IExHF,OACE,cAAA,KACA,iBAAA,KACA,OAAA,IAAA,MAAA,YACA,cAAA,I9C0DA,mBAAA,EAAA,IAAA,IAAA,gBACQ,WAAA,EAAA,IAAA,IAAA,gB8CtDV,YACE,QAAA,KAKF,eACE,QAAA,KAAA,KACA,cAAA,IAAA,MAAA,YvBtBA,uBAAA,IACA,wBAAA,IuBmBF,0CAMI,MAAA,QAKJ,aACE,WAAA,EACA,cAAA,EACA,UAAA,KACA,MAAA,QlD24KF,oBAEA,sBkDj5KA,elD84KA,mBAEA,qBkDr4KI,MAAA,QAKJ,cACE,QAAA,KAAA,KACA,iBAAA,QACA,WAAA,IAAA,MAAA,KvB1CA,2BAAA,IACA,0BAAA,IuBmDF,mBlD+3KA,mCkD53KI,cAAA,EAHJ,oClDm4KA,oDkD73KM,aAAA,IAAA,EACA,cAAA,EAIF,4DlD63KJ,4EkD33KQ,WAAA,EvBzEN,uBAAA,IACA,wBAAA,IuB8EE,0DlD23KJ,0EkDz3KQ,cAAA,EvBzEN,2BAAA,IACA,0BAAA,IuBmDF,+EvB5DE,uBAAA,EACA,wBAAA,EuB4FF,wDAEI,iBAAA,EAGJ,0BACE,iBAAA,ElDw3KF,8BkDh3KA,clD+2KA,gCkD32KI,cAAA,ElDi3KJ,sCkDr3KA,sBlDo3KA,wCkD72KM,cAAA,KACA,aAAA,KlDk3KN,wDkD13KA,0BvB3GE,uBAAA,IACA,wBAAA,I3B2+KF,yFAFA,yFACA,2DkDh4KA,2DAmBQ,uBAAA,IACA,wBAAA,IlDo3KR,wGAIA,wGANA,wGAIA,wGAHA,0EAIA,0EkD34KA,0ElDy4KA,0EkDj3KU,uBAAA,IlD03KV,uGAIA,uGANA,uGAIA,uGAHA,yEAIA,yEkDr5KA,yElDm5KA,yEkDv3KU,wBAAA,IlD83KV,sDkD15KA,yBvBnGE,2BAAA,IACA,0BAAA,I3BigLF,qFAEA,qFkDj6KA,wDlDg6KA,wDkDv3KQ,2BAAA,IACA,0BAAA,IlD43KR,oGAIA,oGAFA,oGAIA,oGkD56KA,uElDy6KA,uEAFA,uEAIA,uEkD73KU,0BAAA,IlDk4KV,mGAIA,mGAFA,mGAIA,mGkDt7KA,sElDm7KA,sEAFA,sEAIA,sEkDn4KU,2BAAA,IAlDV,0BlD07KA,qCACA,0BACA,qCkDj4KI,WAAA,IAAA,MAAA,KlDq4KJ,kDkDh8KA,kDA+DI,WAAA,EA/DJ,uBlDo8KA,yCkDj4KI,OAAA,ElD44KJ,+CANA,+CAQA,+CANA,+CAEA,+CkD78KA,+ClDg9KA,iEANA,iEAQA,iEANA,iEAEA,iEANA,iEkD93KU,YAAA,ElDm5KV,8CANA,8CAQA,8CANA,8CAEA,8CkD39KA,8ClD89KA,gEANA,gEAQA,gEANA,gEAEA,gEANA,gEkDx4KU,aAAA,ElDu5KV,+CAIA,+CkDz+KA,+ClDu+KA,+CADA,iEAIA,iEANA,iEAIA,iEkDj5KU,cAAA,EAvFV,8ClDi/KA,8CAFA,8CAIA,8CALA,gEAIA,gEAFA,gEAIA,gEkDp5KU,cAAA,EAhGV,yBAsGI,cAAA,EACA,OAAA,EAUJ,aACE,cAAA,KADF,oBAKI,cAAA,EACA,cAAA,IANJ,2BASM,WAAA,IATN,4BAcI,cAAA,ElD04KJ,wDkDx5KA,wDAkBM,WAAA,IAAA,MAAA,KAlBN,2BAuBI,WAAA,EAvBJ,uDAyBM,cAAA,IAAA,MAAA,KAON,eC5PE,aAAA,KAEA,8BACE,MAAA,KACA,iBAAA,QACA,aAAA,KAHF,0DAMI,iBAAA,KANJ,qCASI,MAAA,QACA,iBAAA,KAGJ,yDAEI,oBAAA,KD8ON,eC/PE,aAAA,QAEA,8BACE,MAAA,KACA,iBAAA,QACA,aAAA,QAHF,0DAMI,iBAAA,QANJ,qCASI,MAAA,QACA,iBAAA,KAGJ,yDAEI,oBAAA,QDiPN,eClQE,aAAA,QAEA,8BACE,MAAA,QACA,iBAAA,QACA,aAAA,QAHF,0DAMI,iBAAA,QANJ,qCASI,MAAA,QACA,iBAAA,QAGJ,yDAEI,oBAAA,QDoPN,YCrQE,aAAA,QAEA,2BACE,MAAA,QACA,iBAAA,QACA,aAAA,QAHF,uDAMI,iBAAA,QANJ,kCASI,MAAA,QACA,iBAAA,QAGJ,sDAEI,oBAAA,QDuPN,eCxQE,aAAA,QAEA,8BACE,MAAA,QACA,iBAAA,QACA,aAAA,QAHF,0DAMI,iBAAA,QANJ,qCASI,MAAA,QACA,iBAAA,QAGJ,yDAEI,oBAAA,QD0PN,cC3QE,aAAA,QAEA,6BACE,MAAA,QACA,iBAAA,QACA,aAAA,QAHF,yDAMI,iBAAA,QANJ,oCASI,MAAA,QACA,iBAAA,QAGJ,wDAEI,oBAAA,QChBN,kBACE,SAAA,SACA,QAAA,MACA,OAAA,EACA,QAAA,EACA,SAAA,OALF,yCpDivLA,wBADA,yBAEA,yBACA,wBoDvuLI,SAAA,SACA,IAAA,EACA,OAAA,EACA,KAAA,EACA,MAAA,KACA,OAAA,KACA,OAAA,EAKJ,wBACE,eAAA,OAIF,uBACE,eAAA,IC3BF,MACE,WAAA,KACA,QAAA,KACA,cAAA,KACA,iBAAA,QACA,OAAA,IAAA,MAAA,QACA,cAAA,IjD0DA,mBAAA,MAAA,EAAA,IAAA,IAAA,gBACQ,WAAA,MAAA,EAAA,IAAA,IAAA,gBiDjEV,iBASI,aAAA,KACA,aAAA,gBAKJ,SACE,QAAA,KACA,cAAA,IAEF,SACE,QAAA,IACA,cAAA,ICpBF,OACE,MAAA,MACA,UAAA,KACA,YAAA,IACA,YAAA,EACA,MAAA,KACA,YAAA,EAAA,IAAA,EAAA,KjCTA,OAAA,kBACA,QAAA,GrBkyLF,asDvxLE,aAEE,MAAA,KACA,gBAAA,KACA,OAAA,QjChBF,OAAA,kBACA,QAAA,GiCuBA,aACE,QAAA,EACA,OAAA,QACA,WAAA,IACA,OAAA,EACA,mBAAA,KACA,gBAAA,KAAA,WAAA,KCxBJ,YACE,SAAA,OAIF,OACE,SAAA,MACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,KACA,QAAA,KACA,SAAA,OACA,2BAAA,MAIA,QAAA,EAGA,0BnDiHA,kBAAA,kBACI,cAAA,kBACC,aAAA,kBACG,UAAA,kBAkER,mBAAA,kBAAA,IAAA,SAEK,cAAA,aAAA,IAAA,SACG,WAAA,kBAAA,IAAA,SAAA,WAAA,UAAA,IAAA,SAAA,WAAA,UAAA,IAAA,QAAA,CAAA,kBAAA,IAAA,QAAA,CAAA,aAAA,IAAA,SmDrLR,wBnD6GA,kBAAA,eACI,cAAA,eACC,aAAA,eACG,UAAA,emD9GV,mBACE,WAAA,OACA,WAAA,KAIF,cACE,SAAA,SACA,MAAA,KACA,OAAA,KAIF,eACE,SAAA,SACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,KACA,OAAA,IAAA,MAAA,eACA,cAAA,InDcA,mBAAA,EAAA,IAAA,IAAA,eACQ,WAAA,EAAA,IAAA,IAAA,emDZR,QAAA,EAIF,gBACE,SAAA,MACA,IAAA,EACA,MAAA,EACA,OAAA,EACA,KAAA,EACA,QAAA,KACA,iBAAA,KAEA,qBlCpEA,OAAA,iBACA,QAAA,EkCoEA,mBlCrEA,OAAA,kBACA,QAAA,GkCyEF,cACE,QAAA,KACA,cAAA,IAAA,MAAA,QAIF,qBACE,WAAA,KAIF,aACE,OAAA,EACA,YAAA,WAKF,YACE,SAAA,SACA,QAAA,KAIF,cACE,QAAA,KACA,WAAA,MACA,WAAA,IAAA,MAAA,QAHF,wBAQI,cAAA,EACA,YAAA,IATJ,mCAaI,YAAA,KAbJ,oCAiBI,YAAA,EAKJ,yBACE,SAAA,SACA,IAAA,QACA,MAAA,KACA,OAAA,KACA,SAAA,OAIF,yBAEE,cACE,MAAA,MACA,OAAA,KAAA,KAEF,enDrEA,mBAAA,EAAA,IAAA,KAAA,eACQ,WAAA,EAAA,IAAA,KAAA,emDyER,UAAY,MAAA,OAGd,yBACE,UAAY,MAAA,OC9Id,SACE,SAAA,SACA,QAAA,KACA,QAAA,MCRA,YAAA,gBAAA,CAAA,SAAA,CAAA,KAAA,CAAA,WAEA,WAAA,OACA,YAAA,IACA,YAAA,WACA,WAAA,KACA,WAAA,KACA,WAAA,MACA,gBAAA,KACA,YAAA,KACA,eAAA,KACA,eAAA,OACA,WAAA,OACA,aAAA,OACA,UAAA,OACA,YAAA,ODHA,UAAA,KnCTA,OAAA,iBACA,QAAA,EmCYA,YnCbA,OAAA,kBACA,QAAA,GmCaA,aACE,QAAA,IAAA,EACA,WAAA,KAEF,eACE,QAAA,EAAA,IACA,YAAA,IAEF,gBACE,QAAA,IAAA,EACA,WAAA,IAEF,cACE,QAAA,EAAA,IACA,YAAA,KAIF,4BACE,OAAA,EACA,KAAA,IACA,YAAA,KACA,aAAA,IAAA,IAAA,EACA,iBAAA,KAEF,iCACE,MAAA,IACA,OAAA,EACA,cAAA,KACA,aAAA,IAAA,IAAA,EACA,iBAAA,KAEF,kCACE,OAAA,EACA,KAAA,IACA,cAAA,KACA,aAAA,IAAA,IAAA,EACA,iBAAA,KAEF,8BACE,IAAA,IACA,KAAA,EACA,WAAA,KACA,aAAA,IAAA,IAAA,IAAA,EACA,mBAAA,KAEF,6BACE,IAAA,IACA,MAAA,EACA,WAAA,KACA,aAAA,IAAA,EAAA,IAAA,IACA,kBAAA,KAEF,+BACE,IAAA,EACA,KAAA,IACA,YAAA,KACA,aAAA,EAAA,IAAA,IACA,oBAAA,KAEF,oCACE,IAAA,EACA,MAAA,IACA,WAAA,KACA,aAAA,EAAA,IAAA,IACA,oBAAA,KAEF,qCACE,IAAA,EACA,KAAA,IACA,WAAA,KACA,aAAA,EAAA,IAAA,IACA,oBAAA,KAKJ,eACE,UAAA,MACA,QAAA,IAAA,IACA,MAAA,KACA,WAAA,OACA,iBAAA,KACA,cAAA,IAIF,eACE,SAAA,SACA,MAAA,EACA,OAAA,EACA,aAAA,YACA,aAAA,MEzGF,SACE,SAAA,SACA,IAAA,EACA,KAAA,EACA,QAAA,KACA,QAAA,KACA,UAAA,MACA,QAAA,IDXA,YAAA,gBAAA,CAAA,SAAA,CAAA,KAAA,CAAA,WAEA,WAAA,OACA,YAAA,IACA,YAAA,WACA,WAAA,KACA,WAAA,KACA,WAAA,MACA,gBAAA,KACA,YAAA,KACA,eAAA,KACA,eAAA,OACA,WAAA,OACA,aAAA,OACA,UAAA,OACA,YAAA,OCAA,UAAA,KACA,iBAAA,KACA,gBAAA,YACA,OAAA,IAAA,MAAA,KACA,OAAA,IAAA,MAAA,eACA,cAAA,ItDiDA,mBAAA,EAAA,IAAA,KAAA,eACQ,WAAA,EAAA,IAAA,KAAA,esD9CR,aAAQ,WAAA,MACR,eAAU,YAAA,KACV,gBAAW,WAAA,KACX,cAAS,YAAA,MAvBX,gBA4BI,aAAA,KAEA,gB1DkjMJ,sB0DhjMM,SAAA,SACA,QAAA,MACA,MAAA,EACA,OAAA,EACA,aAAA,YACA,aAAA,MAGF,sBACE,QAAA,GACA,aAAA,KAIJ,oBACE,OAAA,MACA,KAAA,IACA,YAAA,MACA,iBAAA,KACA,iBAAA,gBACA,oBAAA,EACA,0BACE,OAAA,IACA,YAAA,MACA,QAAA,IACA,iBAAA,KACA,oBAAA,EAGJ,sBACE,IAAA,IACA,KAAA,MACA,WAAA,MACA,mBAAA,KACA,mBAAA,gBACA,kBAAA,EACA,4BACE,OAAA,MACA,KAAA,IACA,QAAA,IACA,mBAAA,KACA,kBAAA,EAGJ,uBACE,IAAA,MACA,KAAA,IACA,YAAA,MACA,iBAAA,EACA,oBAAA,KACA,oBAAA,gBACA,6BACE,IAAA,IACA,YAAA,MACA,QAAA,IACA,iBAAA,EACA,oBAAA,KAIJ,qBACE,IAAA,IACA,MAAA,MACA,WAAA,MACA,mBAAA,EACA,kBAAA,KACA,kBAAA,gBACA,2BACE,MAAA,IACA,OAAA,MACA,QAAA,IACA,mBAAA,EACA,kBAAA,KAKN,eACE,QAAA,IAAA,KACA,OAAA,EACA,UAAA,KACA,iBAAA,QACA,cAAA,IAAA,MAAA,QACA,cAAA,IAAA,IAAA,EAAA,EAGF,iBACE,QAAA,IAAA,KCpHF,UACE,SAAA,SAGF,gBACE,SAAA,SACA,MAAA,KACA,SAAA,OAHF,sBAMI,SAAA,SACA,QAAA,KvD6KF,mBAAA,IAAA,YAAA,KACK,cAAA,IAAA,YAAA,KACG,WAAA,IAAA,YAAA,KJs/LV,4B2D5qMA,0BAcM,YAAA,EAIF,8BAAA,uBAAA,sBvDuLF,mBAAA,kBAAA,IAAA,YAEK,cAAA,aAAA,IAAA,YACG,WAAA,kBAAA,IAAA,YAAA,WAAA,UAAA,IAAA,YAAA,WAAA,UAAA,IAAA,WAAA,CAAA,kBAAA,IAAA,WAAA,CAAA,aAAA,IAAA,YA7JR,4BAAA,OAEQ,oBAAA,OA+GR,oBAAA,OAEQ,YAAA,OJ0hMR,mC2DrqMI,2BvDmHJ,kBAAA,sBACQ,UAAA,sBuDjHF,KAAA,E3DwqMN,kC2DtqMI,2BvD8GJ,kBAAA,uBACQ,UAAA,uBuD5GF,KAAA,E3D0qMN,6B2DxqMI,gC3DuqMJ,iCI9jMA,kBAAA,mBACQ,UAAA,mBuDtGF,KAAA,GArCR,wB3DgtMA,sBACA,sB2DpqMI,QAAA,MA7CJ,wBAiDI,KAAA,EAjDJ,sB3DwtMA,sB2DlqMI,SAAA,SACA,IAAA,EACA,MAAA,KAxDJ,sBA4DI,KAAA,KA5DJ,sBA+DI,KAAA,MA/DJ,2B3DouMA,4B2DjqMI,KAAA,EAnEJ,6BAuEI,KAAA,MAvEJ,8BA0EI,KAAA,KAQJ,kBACE,SAAA,SACA,IAAA,EACA,OAAA,EACA,KAAA,EACA,MAAA,IACA,UAAA,KACA,MAAA,KACA,WAAA,OACA,YAAA,EAAA,IAAA,IAAA,eACA,iBAAA,ctCpGA,OAAA,kBACA,QAAA,GsCyGA,uBdrGE,iBAAA,sEACA,iBAAA,iEACA,iBAAA,uFAAA,iBAAA,kEACA,OAAA,+GACA,kBAAA,ScoGF,wBACE,MAAA,EACA,KAAA,Kd1GA,iBAAA,sEACA,iBAAA,iEACA,iBAAA,uFAAA,iBAAA,kEACA,OAAA,+GACA,kBAAA,S7C6wMJ,wB2DlqME,wBAEE,MAAA,KACA,gBAAA,KACA,QAAA,EtCxHF,OAAA,kBACA,QAAA,GrB8xMF,0CACA,2CAFA,6B2DpsMA,6BAuCI,SAAA,SACA,IAAA,IACA,QAAA,EACA,QAAA,aACA,WAAA,M3DmqMJ,0C2D9sMA,6BA+CI,KAAA,IACA,YAAA,M3DmqMJ,2C2DntMA,6BAoDI,MAAA,IACA,aAAA,M3DmqMJ,6B2DxtMA,6BAyDI,MAAA,KACA,OAAA,KACA,YAAA,MACA,YAAA,EAIA,oCACE,QAAA,QAIF,oCACE,QAAA,QAUN,qBACE,SAAA,SACA,OAAA,KACA,KAAA,IACA,QAAA,GACA,MAAA,IACA,aAAA,EACA,YAAA,KACA,WAAA,OACA,WAAA,KATF,wBAYI,QAAA,aACA,MAAA,KACA,OAAA,KACA,OAAA,IACA,YAAA,OACA,OAAA,QAUA,iBAAA,OACA,iBAAA,cAEA,OAAA,IAAA,MAAA,KACA,cAAA,KA/BJ,6BAmCI,MAAA,KACA,OAAA,KACA,OAAA,EACA,iBAAA,KAOJ,kBACE,SAAA,SACA,MAAA,IACA,OAAA,KACA,KAAA,IACA,QAAA,GACA,YAAA,KACA,eAAA,KACA,MAAA,KACA,WAAA,OACA,YAAA,EAAA,IAAA,IAAA,eAEA,uBACE,YAAA,KAMJ,oCAGE,0C3D+nMA,2CAEA,6BADA,6B2D3nMI,MAAA,KACA,OAAA,KACA,WAAA,MACA,UAAA,KARJ,0C3DwoMA,6B2D5nMI,YAAA,MAZJ,2C3D4oMA,6B2D5nMI,aAAA,MAKJ,kBACE,MAAA,IACA,KAAA,IACA,eAAA,KAIF,qBACE,OAAA,M3D0oMJ,qCADA,sCADA,mBADA,oBAXA,gB4D73ME,iB5Dm4MF,uBADA,wBADA,iBADA,kBADA,wBADA,yBASA,mCADA,oCAqBA,oBADA,qBADA,oBADA,qBAXA,WADA,YAOA,uBADA,wBADA,qBADA,sBADA,cADA,eAOA,aADA,cAGA,kBADA,mBAjBA,WADA,Y4Dl4MI,QAAA,MACA,QAAA,I5Dm6MJ,qCADA,mB4Dh6ME,gB5D65MF,uBADA,iBADA,wBAIA,mCAUA,oBADA,oBANA,WAGA,uBADA,qBADA,cAGA,aACA,kBATA,W4D75MI,MAAA,K5BNJ,c6BVE,QAAA,MACA,aAAA,KACA,YAAA,K7BWF,YACE,MAAA,gBAEF,WACE,MAAA,eAQF,MACE,QAAA,eAEF,MACE,QAAA,gBAEF,WACE,WAAA,OAEF,W8BzBE,KAAA,CAAA,CAAA,EAAA,EACA,MAAA,YACA,YAAA,KACA,iBAAA,YACA,OAAA,E9B8BF,QACE,QAAA,eAOF,OACE,SAAA,M+BjCF,cACE,MAAA,a/D88MF,YADA,YADA,Y+Dt8MA,YClBE,QAAA,ehEs+MF,kBACA,mBACA,yBALA,kBACA,mBACA,yBALA,kBACA,mBACA,yB+Dz8MA,kB/Dq8MA,mBACA,yB+D17ME,QAAA,eAIA,yBAAA,YCjDA,QAAA,gBACA,iBAAU,QAAA,gBACV,cAAU,QAAA,oBhE4/MV,cgE3/MA,cACU,QAAA,sBDkDV,yBAAA,kBACE,QAAA,iBAIF,yBAAA,mBACE,QAAA,kBAIF,yBAAA,yBACE,QAAA,wBAKF,+CAAA,YCtEA,QAAA,gBACA,iBAAU,QAAA,gBACV,cAAU,QAAA,oBhE0hNV,cgEzhNA,cACU,QAAA,sBDuEV,+CAAA,kBACE,QAAA,iBAIF,+CAAA,mBACE,QAAA,kBAIF,+CAAA,yBACE,QAAA,wBAKF,gDAAA,YC3FA,QAAA,gBACA,iBAAU,QAAA,gBACV,cAAU,QAAA,oBhEwjNV,cgEvjNA,cACU,QAAA,sBD4FV,gDAAA,kBACE,QAAA,iBAIF,gDAAA,mBACE,QAAA,kBAIF,gDAAA,yBACE,QAAA,wBAKF,0BAAA,YChHA,QAAA,gBACA,iBAAU,QAAA,gBACV,cAAU,QAAA,oBhEslNV,cgErlNA,cACU,QAAA,sBDiHV,0BAAA,kBACE,QAAA,iBAIF,0BAAA,mBACE,QAAA,kBAIF,0BAAA,yBACE,QAAA,wBAKF,yBAAA,WC7HA,QAAA,gBDkIA,+CAAA,WClIA,QAAA,gBDuIA,gDAAA,WCvIA,QAAA,gBD4IA,0BAAA,WC5IA,QAAA,gBDuJF,eCvJE,QAAA,eD0JA,aAAA,eClKA,QAAA,gBACA,oBAAU,QAAA,gBACV,iBAAU,QAAA,oBhE2oNV,iBgE1oNA,iBACU,QAAA,sBDkKZ,qBACE,QAAA,eAEA,aAAA,qBACE,QAAA,iBAGJ,sBACE,QAAA,eAEA,aAAA,sBACE,QAAA,kBAGJ,4BACE,QAAA,eAEA,aAAA,4BACE,QAAA,wBAKF,aAAA,cCrLA,QAAA","sourcesContent":["/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n text-decoration: underline dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: \"Glyphicons Halflings\";\n src: url(\"../fonts/glyphicons-halflings-regular.eot\");\n src: url(\"../fonts/glyphicons-halflings-regular.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/glyphicons-halflings-regular.woff2\") format(\"woff2\"), url(\"../fonts/glyphicons-halflings-regular.woff\") format(\"woff\"), url(\"../fonts/glyphicons-halflings-regular.ttf\") format(\"truetype\"), url(\"../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\") format(\"svg\");\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: \"Glyphicons Halflings\";\n font-style: normal;\n font-weight: 400;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: 400;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: 700;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: \"\\2014 \\00A0\";\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: \"\";\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: \"\\00A0 \\2014\";\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n.row-no-gutters [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n.col-xs-1,\n.col-sm-1,\n.col-md-1,\n.col-lg-1,\n.col-xs-2,\n.col-sm-2,\n.col-md-2,\n.col-lg-2,\n.col-xs-3,\n.col-sm-3,\n.col-md-3,\n.col-lg-3,\n.col-xs-4,\n.col-sm-4,\n.col-md-4,\n.col-lg-4,\n.col-xs-5,\n.col-sm-5,\n.col-md-5,\n.col-lg-5,\n.col-xs-6,\n.col-sm-6,\n.col-md-6,\n.col-lg-6,\n.col-xs-7,\n.col-sm-7,\n.col-md-7,\n.col-lg-7,\n.col-xs-8,\n.col-sm-8,\n.col-md-8,\n.col-lg-8,\n.col-xs-9,\n.col-sm-9,\n.col-md-9,\n.col-lg-9,\n.col-xs-10,\n.col-sm-10,\n.col-md-10,\n.col-lg-10,\n.col-xs-11,\n.col-sm-11,\n.col-md-11,\n.col-lg-11,\n.col-xs-12,\n.col-sm-12,\n.col-md-12,\n.col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n.col-xs-1,\n.col-xs-2,\n.col-xs-3,\n.col-xs-4,\n.col-xs-5,\n.col-xs-6,\n.col-xs-7,\n.col-xs-8,\n.col-xs-9,\n.col-xs-10,\n.col-xs-11,\n.col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1,\n .col-sm-2,\n .col-sm-3,\n .col-sm-4,\n .col-sm-5,\n .col-sm-6,\n .col-sm-7,\n .col-sm-8,\n .col-sm-9,\n .col-sm-10,\n .col-sm-11,\n .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1,\n .col-md-2,\n .col-md-3,\n .col-md-4,\n .col-md-5,\n .col-md-6,\n .col-md-7,\n .col-md-8,\n .col-md-9,\n .col-md-10,\n .col-md-11,\n .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1,\n .col-lg-2,\n .col-lg-3,\n .col-lg-4,\n .col-lg-5,\n .col-lg-6,\n .col-lg-7,\n .col-lg-8,\n .col-lg-9,\n .col-lg-10,\n .col-lg-11,\n .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ntable col[class*=\"col-\"] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n display: table-cell;\n float: none;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: 0.01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: 700;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-appearance: none;\n appearance: none;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n filter: alpha(opacity=65);\n opacity: 0.65;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n background-image: none;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: 400;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: 400;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: 400;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-right: 15px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: 0.2em 0.6em 0.3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n padding-right: 15px;\n padding-left: 15px;\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #eeeeee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: 0.2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -moz-transition: -moz-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 12px;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow:after {\n content: \"\";\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: \" \";\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: \" \";\n border-right-width: 0;\n border-left-color: #fff;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -moz-transition: -moz-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n -moz-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n -moz-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: \"\\2039\";\n}\n.carousel-control .icon-next:before {\n content: \"\\203a\";\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable\n\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-serif.\n// 2. Prevent iOS and IE text size adjust after device orientation change,\n// without disabling user zoom.\n//\n\nhtml {\n font-family: sans-serif; // 1\n -ms-text-size-adjust: 100%; // 2\n -webkit-text-size-adjust: 100%; // 2\n}\n\n//\n// Remove default margin.\n//\n\nbody {\n margin: 0;\n}\n\n// HTML5 display definitions\n// ==========================================================================\n\n//\n// Correct `block` display not defined for any HTML5 element in IE 8/9.\n// Correct `block` display not defined for `details` or `summary` in IE 10/11\n// and Firefox.\n// Correct `block` display not defined for `main` in IE 11.\n//\n\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\n\n//\n// 1. Correct `inline-block` display not defined in IE 8/9.\n// 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.\n//\n\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block; // 1\n vertical-align: baseline; // 2\n}\n\n//\n// Prevent modern browsers from displaying `audio` without controls.\n// Remove excess height in iOS 5 devices.\n//\n\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n\n//\n// Address `[hidden]` styling not present in IE 8/9/10.\n// Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.\n//\n\n[hidden],\ntemplate {\n display: none;\n}\n\n// Links\n// ==========================================================================\n\n//\n// Remove the gray background color from active links in IE 10.\n//\n\na {\n background-color: transparent;\n}\n\n//\n// Improve readability of focused elements when they are also in an\n// active/hover state.\n//\n\na:active,\na:hover {\n outline: 0;\n}\n\n// Text-level semantics\n// ==========================================================================\n\n//\n// 1. Remove the bottom border in Chrome 57- and Firefox 39-.\n// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n//\n\nabbr[title] {\n border-bottom: none; // 1\n text-decoration: underline; // 2\n text-decoration: underline dotted; // 2\n}\n\n//\n// Address style set to `bolder` in Firefox 4+, Safari, and Chrome.\n//\n\nb,\nstrong {\n font-weight: bold;\n}\n\n//\n// Address styling not present in Safari and Chrome.\n//\n\ndfn {\n font-style: italic;\n}\n\n//\n// Address variable `h1` font-size and margin within `section` and `article`\n// contexts in Firefox 4+, Safari, and Chrome.\n//\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n//\n// Address styling not present in IE 8/9.\n//\n\nmark {\n background: #ff0;\n color: #000;\n}\n\n//\n// Address inconsistent and variable font size in all browsers.\n//\n\nsmall {\n font-size: 80%;\n}\n\n//\n// Prevent `sub` and `sup` affecting `line-height` in all browsers.\n//\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsup {\n top: -0.5em;\n}\n\nsub {\n bottom: -0.25em;\n}\n\n// Embedded content\n// ==========================================================================\n\n//\n// Remove border when inside `a` element in IE 8/9/10.\n//\n\nimg {\n border: 0;\n}\n\n//\n// Correct overflow not hidden in IE 9/10/11.\n//\n\nsvg:not(:root) {\n overflow: hidden;\n}\n\n// Grouping content\n// ==========================================================================\n\n//\n// Address margin not present in IE 8/9 and Safari.\n//\n\nfigure {\n margin: 1em 40px;\n}\n\n//\n// Address differences between Firefox and other browsers.\n//\n\nhr {\n box-sizing: content-box;\n height: 0;\n}\n\n//\n// Contain overflow in all browsers.\n//\n\npre {\n overflow: auto;\n}\n\n//\n// Address odd `em`-unit font size rendering in all browsers.\n//\n\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\n\n// Forms\n// ==========================================================================\n\n//\n// Known limitation: by default, Chrome and Safari on OS X allow very limited\n// styling of `select`, unless a `border` property is set.\n//\n\n//\n// 1. Correct color not being inherited.\n// Known issue: affects color of disabled elements.\n// 2. Correct font properties not being inherited.\n// 3. Address margins set differently in Firefox 4+, Safari, and Chrome.\n//\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit; // 1\n font: inherit; // 2\n margin: 0; // 3\n}\n\n//\n// Address `overflow` set to `hidden` in IE 8/9/10/11.\n//\n\nbutton {\n overflow: visible;\n}\n\n//\n// Address inconsistent `text-transform` inheritance for `button` and `select`.\n// All other form control elements do not inherit `text-transform` values.\n// Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.\n// Correct `select` style inheritance in Firefox.\n//\n\nbutton,\nselect {\n text-transform: none;\n}\n\n//\n// 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`\n// and `video` controls.\n// 2. Correct inability to style clickable `input` types in iOS.\n// 3. Improve usability and consistency of cursor style between image-type\n// `input` and others.\n//\n\nbutton,\nhtml input[type=\"button\"], // 1\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button; // 2\n cursor: pointer; // 3\n}\n\n//\n// Re-set default cursor for disabled elements.\n//\n\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\n\n//\n// Remove inner padding and border in Firefox 4+.\n//\n\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\n\n//\n// Address Firefox 4+ setting `line-height` on `input` using `!important` in\n// the UA stylesheet.\n//\n\ninput {\n line-height: normal;\n}\n\n//\n// It's recommended that you don't attempt to style these elements.\n// Firefox's implementation doesn't respect box-sizing, padding, or width.\n//\n// 1. Address box sizing set to `content-box` in IE 8/9/10.\n// 2. Remove excess padding in IE 8/9/10.\n//\n\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n box-sizing: border-box; // 1\n padding: 0; // 2\n}\n\n//\n// Fix the cursor style for Chrome's increment/decrement buttons. For certain\n// `font-size` values of the `input`, it causes the cursor style of the\n// decrement button to change from `default` to `text`.\n//\n\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n//\n// 1. Address `appearance` set to `searchfield` in Safari and Chrome.\n// 2. Address `box-sizing` set to `border-box` in Safari and Chrome.\n//\n\ninput[type=\"search\"] {\n -webkit-appearance: textfield; // 1\n box-sizing: content-box; //2\n}\n\n//\n// Remove inner padding and search cancel button in Safari and Chrome on OS X.\n// Safari (but not Chrome) clips the cancel button when the search input has\n// padding (and `textfield` appearance).\n//\n\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n//\n// Define consistent border, margin, and padding.\n//\n\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\n\n//\n// 1. Correct `color` not being inherited in IE 8/9/10/11.\n// 2. Remove padding so people aren't caught out if they zero out fieldsets.\n//\n\nlegend {\n border: 0; // 1\n padding: 0; // 2\n}\n\n//\n// Remove default vertical scrollbar in IE 8/9/10/11.\n//\n\ntextarea {\n overflow: auto;\n}\n\n//\n// Don't inherit the `font-weight` (applied by a rule above).\n// NOTE: the default cannot safely be changed in Chrome and Safari on OS X.\n//\n\noptgroup {\n font-weight: bold;\n}\n\n// Tables\n// ==========================================================================\n\n//\n// Remove most spacing between table cells.\n//\n\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\n\ntd,\nth {\n padding: 0;\n}\n","/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)\n */\n/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\nhtml {\n font-family: sans-serif;\n -ms-text-size-adjust: 100%;\n -webkit-text-size-adjust: 100%;\n}\nbody {\n margin: 0;\n}\narticle,\naside,\ndetails,\nfigcaption,\nfigure,\nfooter,\nheader,\nhgroup,\nmain,\nmenu,\nnav,\nsection,\nsummary {\n display: block;\n}\naudio,\ncanvas,\nprogress,\nvideo {\n display: inline-block;\n vertical-align: baseline;\n}\naudio:not([controls]) {\n display: none;\n height: 0;\n}\n[hidden],\ntemplate {\n display: none;\n}\na {\n background-color: transparent;\n}\na:active,\na:hover {\n outline: 0;\n}\nabbr[title] {\n border-bottom: none;\n text-decoration: underline;\n -webkit-text-decoration: underline dotted;\n -moz-text-decoration: underline dotted;\n text-decoration: underline dotted;\n}\nb,\nstrong {\n font-weight: bold;\n}\ndfn {\n font-style: italic;\n}\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\nmark {\n background: #ff0;\n color: #000;\n}\nsmall {\n font-size: 80%;\n}\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\nsup {\n top: -0.5em;\n}\nsub {\n bottom: -0.25em;\n}\nimg {\n border: 0;\n}\nsvg:not(:root) {\n overflow: hidden;\n}\nfigure {\n margin: 1em 40px;\n}\nhr {\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n height: 0;\n}\npre {\n overflow: auto;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: monospace, monospace;\n font-size: 1em;\n}\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n color: inherit;\n font: inherit;\n margin: 0;\n}\nbutton {\n overflow: visible;\n}\nbutton,\nselect {\n text-transform: none;\n}\nbutton,\nhtml input[type=\"button\"],\ninput[type=\"reset\"],\ninput[type=\"submit\"] {\n -webkit-appearance: button;\n cursor: pointer;\n}\nbutton[disabled],\nhtml input[disabled] {\n cursor: default;\n}\nbutton::-moz-focus-inner,\ninput::-moz-focus-inner {\n border: 0;\n padding: 0;\n}\ninput {\n line-height: normal;\n}\ninput[type=\"checkbox\"],\ninput[type=\"radio\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n padding: 0;\n}\ninput[type=\"number\"]::-webkit-inner-spin-button,\ninput[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\ninput[type=\"search\"] {\n -webkit-appearance: textfield;\n -webkit-box-sizing: content-box;\n -moz-box-sizing: content-box;\n box-sizing: content-box;\n}\ninput[type=\"search\"]::-webkit-search-cancel-button,\ninput[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\nfieldset {\n border: 1px solid #c0c0c0;\n margin: 0 2px;\n padding: 0.35em 0.625em 0.75em;\n}\nlegend {\n border: 0;\n padding: 0;\n}\ntextarea {\n overflow: auto;\n}\noptgroup {\n font-weight: bold;\n}\ntable {\n border-collapse: collapse;\n border-spacing: 0;\n}\ntd,\nth {\n padding: 0;\n}\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important;\n text-shadow: none !important;\n background: transparent !important;\n -webkit-box-shadow: none !important;\n box-shadow: none !important;\n }\n a,\n a:visited {\n text-decoration: underline;\n }\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n thead {\n display: table-header-group;\n }\n tr,\n img {\n page-break-inside: avoid;\n }\n img {\n max-width: 100% !important;\n }\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n h2,\n h3 {\n page-break-after: avoid;\n }\n .navbar {\n display: none;\n }\n .btn > .caret,\n .dropup > .btn > .caret {\n border-top-color: #000 !important;\n }\n .label {\n border: 1px solid #000;\n }\n .table {\n border-collapse: collapse !important;\n }\n .table td,\n .table th {\n background-color: #fff !important;\n }\n .table-bordered th,\n .table-bordered td {\n border: 1px solid #ddd !important;\n }\n}\n@font-face {\n font-family: \"Glyphicons Halflings\";\n src: url(\"../fonts/glyphicons-halflings-regular.eot\");\n src: url(\"../fonts/glyphicons-halflings-regular.eot?#iefix\") format(\"embedded-opentype\"), url(\"../fonts/glyphicons-halflings-regular.woff2\") format(\"woff2\"), url(\"../fonts/glyphicons-halflings-regular.woff\") format(\"woff\"), url(\"../fonts/glyphicons-halflings-regular.ttf\") format(\"truetype\"), url(\"../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular\") format(\"svg\");\n}\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: \"Glyphicons Halflings\";\n font-style: normal;\n font-weight: 400;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n.glyphicon-asterisk:before {\n content: \"\\002a\";\n}\n.glyphicon-plus:before {\n content: \"\\002b\";\n}\n.glyphicon-euro:before,\n.glyphicon-eur:before {\n content: \"\\20ac\";\n}\n.glyphicon-minus:before {\n content: \"\\2212\";\n}\n.glyphicon-cloud:before {\n content: \"\\2601\";\n}\n.glyphicon-envelope:before {\n content: \"\\2709\";\n}\n.glyphicon-pencil:before {\n content: \"\\270f\";\n}\n.glyphicon-glass:before {\n content: \"\\e001\";\n}\n.glyphicon-music:before {\n content: \"\\e002\";\n}\n.glyphicon-search:before {\n content: \"\\e003\";\n}\n.glyphicon-heart:before {\n content: \"\\e005\";\n}\n.glyphicon-star:before {\n content: \"\\e006\";\n}\n.glyphicon-star-empty:before {\n content: \"\\e007\";\n}\n.glyphicon-user:before {\n content: \"\\e008\";\n}\n.glyphicon-film:before {\n content: \"\\e009\";\n}\n.glyphicon-th-large:before {\n content: \"\\e010\";\n}\n.glyphicon-th:before {\n content: \"\\e011\";\n}\n.glyphicon-th-list:before {\n content: \"\\e012\";\n}\n.glyphicon-ok:before {\n content: \"\\e013\";\n}\n.glyphicon-remove:before {\n content: \"\\e014\";\n}\n.glyphicon-zoom-in:before {\n content: \"\\e015\";\n}\n.glyphicon-zoom-out:before {\n content: \"\\e016\";\n}\n.glyphicon-off:before {\n content: \"\\e017\";\n}\n.glyphicon-signal:before {\n content: \"\\e018\";\n}\n.glyphicon-cog:before {\n content: \"\\e019\";\n}\n.glyphicon-trash:before {\n content: \"\\e020\";\n}\n.glyphicon-home:before {\n content: \"\\e021\";\n}\n.glyphicon-file:before {\n content: \"\\e022\";\n}\n.glyphicon-time:before {\n content: \"\\e023\";\n}\n.glyphicon-road:before {\n content: \"\\e024\";\n}\n.glyphicon-download-alt:before {\n content: \"\\e025\";\n}\n.glyphicon-download:before {\n content: \"\\e026\";\n}\n.glyphicon-upload:before {\n content: \"\\e027\";\n}\n.glyphicon-inbox:before {\n content: \"\\e028\";\n}\n.glyphicon-play-circle:before {\n content: \"\\e029\";\n}\n.glyphicon-repeat:before {\n content: \"\\e030\";\n}\n.glyphicon-refresh:before {\n content: \"\\e031\";\n}\n.glyphicon-list-alt:before {\n content: \"\\e032\";\n}\n.glyphicon-lock:before {\n content: \"\\e033\";\n}\n.glyphicon-flag:before {\n content: \"\\e034\";\n}\n.glyphicon-headphones:before {\n content: \"\\e035\";\n}\n.glyphicon-volume-off:before {\n content: \"\\e036\";\n}\n.glyphicon-volume-down:before {\n content: \"\\e037\";\n}\n.glyphicon-volume-up:before {\n content: \"\\e038\";\n}\n.glyphicon-qrcode:before {\n content: \"\\e039\";\n}\n.glyphicon-barcode:before {\n content: \"\\e040\";\n}\n.glyphicon-tag:before {\n content: \"\\e041\";\n}\n.glyphicon-tags:before {\n content: \"\\e042\";\n}\n.glyphicon-book:before {\n content: \"\\e043\";\n}\n.glyphicon-bookmark:before {\n content: \"\\e044\";\n}\n.glyphicon-print:before {\n content: \"\\e045\";\n}\n.glyphicon-camera:before {\n content: \"\\e046\";\n}\n.glyphicon-font:before {\n content: \"\\e047\";\n}\n.glyphicon-bold:before {\n content: \"\\e048\";\n}\n.glyphicon-italic:before {\n content: \"\\e049\";\n}\n.glyphicon-text-height:before {\n content: \"\\e050\";\n}\n.glyphicon-text-width:before {\n content: \"\\e051\";\n}\n.glyphicon-align-left:before {\n content: \"\\e052\";\n}\n.glyphicon-align-center:before {\n content: \"\\e053\";\n}\n.glyphicon-align-right:before {\n content: \"\\e054\";\n}\n.glyphicon-align-justify:before {\n content: \"\\e055\";\n}\n.glyphicon-list:before {\n content: \"\\e056\";\n}\n.glyphicon-indent-left:before {\n content: \"\\e057\";\n}\n.glyphicon-indent-right:before {\n content: \"\\e058\";\n}\n.glyphicon-facetime-video:before {\n content: \"\\e059\";\n}\n.glyphicon-picture:before {\n content: \"\\e060\";\n}\n.glyphicon-map-marker:before {\n content: \"\\e062\";\n}\n.glyphicon-adjust:before {\n content: \"\\e063\";\n}\n.glyphicon-tint:before {\n content: \"\\e064\";\n}\n.glyphicon-edit:before {\n content: \"\\e065\";\n}\n.glyphicon-share:before {\n content: \"\\e066\";\n}\n.glyphicon-check:before {\n content: \"\\e067\";\n}\n.glyphicon-move:before {\n content: \"\\e068\";\n}\n.glyphicon-step-backward:before {\n content: \"\\e069\";\n}\n.glyphicon-fast-backward:before {\n content: \"\\e070\";\n}\n.glyphicon-backward:before {\n content: \"\\e071\";\n}\n.glyphicon-play:before {\n content: \"\\e072\";\n}\n.glyphicon-pause:before {\n content: \"\\e073\";\n}\n.glyphicon-stop:before {\n content: \"\\e074\";\n}\n.glyphicon-forward:before {\n content: \"\\e075\";\n}\n.glyphicon-fast-forward:before {\n content: \"\\e076\";\n}\n.glyphicon-step-forward:before {\n content: \"\\e077\";\n}\n.glyphicon-eject:before {\n content: \"\\e078\";\n}\n.glyphicon-chevron-left:before {\n content: \"\\e079\";\n}\n.glyphicon-chevron-right:before {\n content: \"\\e080\";\n}\n.glyphicon-plus-sign:before {\n content: \"\\e081\";\n}\n.glyphicon-minus-sign:before {\n content: \"\\e082\";\n}\n.glyphicon-remove-sign:before {\n content: \"\\e083\";\n}\n.glyphicon-ok-sign:before {\n content: \"\\e084\";\n}\n.glyphicon-question-sign:before {\n content: \"\\e085\";\n}\n.glyphicon-info-sign:before {\n content: \"\\e086\";\n}\n.glyphicon-screenshot:before {\n content: \"\\e087\";\n}\n.glyphicon-remove-circle:before {\n content: \"\\e088\";\n}\n.glyphicon-ok-circle:before {\n content: \"\\e089\";\n}\n.glyphicon-ban-circle:before {\n content: \"\\e090\";\n}\n.glyphicon-arrow-left:before {\n content: \"\\e091\";\n}\n.glyphicon-arrow-right:before {\n content: \"\\e092\";\n}\n.glyphicon-arrow-up:before {\n content: \"\\e093\";\n}\n.glyphicon-arrow-down:before {\n content: \"\\e094\";\n}\n.glyphicon-share-alt:before {\n content: \"\\e095\";\n}\n.glyphicon-resize-full:before {\n content: \"\\e096\";\n}\n.glyphicon-resize-small:before {\n content: \"\\e097\";\n}\n.glyphicon-exclamation-sign:before {\n content: \"\\e101\";\n}\n.glyphicon-gift:before {\n content: \"\\e102\";\n}\n.glyphicon-leaf:before {\n content: \"\\e103\";\n}\n.glyphicon-fire:before {\n content: \"\\e104\";\n}\n.glyphicon-eye-open:before {\n content: \"\\e105\";\n}\n.glyphicon-eye-close:before {\n content: \"\\e106\";\n}\n.glyphicon-warning-sign:before {\n content: \"\\e107\";\n}\n.glyphicon-plane:before {\n content: \"\\e108\";\n}\n.glyphicon-calendar:before {\n content: \"\\e109\";\n}\n.glyphicon-random:before {\n content: \"\\e110\";\n}\n.glyphicon-comment:before {\n content: \"\\e111\";\n}\n.glyphicon-magnet:before {\n content: \"\\e112\";\n}\n.glyphicon-chevron-up:before {\n content: \"\\e113\";\n}\n.glyphicon-chevron-down:before {\n content: \"\\e114\";\n}\n.glyphicon-retweet:before {\n content: \"\\e115\";\n}\n.glyphicon-shopping-cart:before {\n content: \"\\e116\";\n}\n.glyphicon-folder-close:before {\n content: \"\\e117\";\n}\n.glyphicon-folder-open:before {\n content: \"\\e118\";\n}\n.glyphicon-resize-vertical:before {\n content: \"\\e119\";\n}\n.glyphicon-resize-horizontal:before {\n content: \"\\e120\";\n}\n.glyphicon-hdd:before {\n content: \"\\e121\";\n}\n.glyphicon-bullhorn:before {\n content: \"\\e122\";\n}\n.glyphicon-bell:before {\n content: \"\\e123\";\n}\n.glyphicon-certificate:before {\n content: \"\\e124\";\n}\n.glyphicon-thumbs-up:before {\n content: \"\\e125\";\n}\n.glyphicon-thumbs-down:before {\n content: \"\\e126\";\n}\n.glyphicon-hand-right:before {\n content: \"\\e127\";\n}\n.glyphicon-hand-left:before {\n content: \"\\e128\";\n}\n.glyphicon-hand-up:before {\n content: \"\\e129\";\n}\n.glyphicon-hand-down:before {\n content: \"\\e130\";\n}\n.glyphicon-circle-arrow-right:before {\n content: \"\\e131\";\n}\n.glyphicon-circle-arrow-left:before {\n content: \"\\e132\";\n}\n.glyphicon-circle-arrow-up:before {\n content: \"\\e133\";\n}\n.glyphicon-circle-arrow-down:before {\n content: \"\\e134\";\n}\n.glyphicon-globe:before {\n content: \"\\e135\";\n}\n.glyphicon-wrench:before {\n content: \"\\e136\";\n}\n.glyphicon-tasks:before {\n content: \"\\e137\";\n}\n.glyphicon-filter:before {\n content: \"\\e138\";\n}\n.glyphicon-briefcase:before {\n content: \"\\e139\";\n}\n.glyphicon-fullscreen:before {\n content: \"\\e140\";\n}\n.glyphicon-dashboard:before {\n content: \"\\e141\";\n}\n.glyphicon-paperclip:before {\n content: \"\\e142\";\n}\n.glyphicon-heart-empty:before {\n content: \"\\e143\";\n}\n.glyphicon-link:before {\n content: \"\\e144\";\n}\n.glyphicon-phone:before {\n content: \"\\e145\";\n}\n.glyphicon-pushpin:before {\n content: \"\\e146\";\n}\n.glyphicon-usd:before {\n content: \"\\e148\";\n}\n.glyphicon-gbp:before {\n content: \"\\e149\";\n}\n.glyphicon-sort:before {\n content: \"\\e150\";\n}\n.glyphicon-sort-by-alphabet:before {\n content: \"\\e151\";\n}\n.glyphicon-sort-by-alphabet-alt:before {\n content: \"\\e152\";\n}\n.glyphicon-sort-by-order:before {\n content: \"\\e153\";\n}\n.glyphicon-sort-by-order-alt:before {\n content: \"\\e154\";\n}\n.glyphicon-sort-by-attributes:before {\n content: \"\\e155\";\n}\n.glyphicon-sort-by-attributes-alt:before {\n content: \"\\e156\";\n}\n.glyphicon-unchecked:before {\n content: \"\\e157\";\n}\n.glyphicon-expand:before {\n content: \"\\e158\";\n}\n.glyphicon-collapse-down:before {\n content: \"\\e159\";\n}\n.glyphicon-collapse-up:before {\n content: \"\\e160\";\n}\n.glyphicon-log-in:before {\n content: \"\\e161\";\n}\n.glyphicon-flash:before {\n content: \"\\e162\";\n}\n.glyphicon-log-out:before {\n content: \"\\e163\";\n}\n.glyphicon-new-window:before {\n content: \"\\e164\";\n}\n.glyphicon-record:before {\n content: \"\\e165\";\n}\n.glyphicon-save:before {\n content: \"\\e166\";\n}\n.glyphicon-open:before {\n content: \"\\e167\";\n}\n.glyphicon-saved:before {\n content: \"\\e168\";\n}\n.glyphicon-import:before {\n content: \"\\e169\";\n}\n.glyphicon-export:before {\n content: \"\\e170\";\n}\n.glyphicon-send:before {\n content: \"\\e171\";\n}\n.glyphicon-floppy-disk:before {\n content: \"\\e172\";\n}\n.glyphicon-floppy-saved:before {\n content: \"\\e173\";\n}\n.glyphicon-floppy-remove:before {\n content: \"\\e174\";\n}\n.glyphicon-floppy-save:before {\n content: \"\\e175\";\n}\n.glyphicon-floppy-open:before {\n content: \"\\e176\";\n}\n.glyphicon-credit-card:before {\n content: \"\\e177\";\n}\n.glyphicon-transfer:before {\n content: \"\\e178\";\n}\n.glyphicon-cutlery:before {\n content: \"\\e179\";\n}\n.glyphicon-header:before {\n content: \"\\e180\";\n}\n.glyphicon-compressed:before {\n content: \"\\e181\";\n}\n.glyphicon-earphone:before {\n content: \"\\e182\";\n}\n.glyphicon-phone-alt:before {\n content: \"\\e183\";\n}\n.glyphicon-tower:before {\n content: \"\\e184\";\n}\n.glyphicon-stats:before {\n content: \"\\e185\";\n}\n.glyphicon-sd-video:before {\n content: \"\\e186\";\n}\n.glyphicon-hd-video:before {\n content: \"\\e187\";\n}\n.glyphicon-subtitles:before {\n content: \"\\e188\";\n}\n.glyphicon-sound-stereo:before {\n content: \"\\e189\";\n}\n.glyphicon-sound-dolby:before {\n content: \"\\e190\";\n}\n.glyphicon-sound-5-1:before {\n content: \"\\e191\";\n}\n.glyphicon-sound-6-1:before {\n content: \"\\e192\";\n}\n.glyphicon-sound-7-1:before {\n content: \"\\e193\";\n}\n.glyphicon-copyright-mark:before {\n content: \"\\e194\";\n}\n.glyphicon-registration-mark:before {\n content: \"\\e195\";\n}\n.glyphicon-cloud-download:before {\n content: \"\\e197\";\n}\n.glyphicon-cloud-upload:before {\n content: \"\\e198\";\n}\n.glyphicon-tree-conifer:before {\n content: \"\\e199\";\n}\n.glyphicon-tree-deciduous:before {\n content: \"\\e200\";\n}\n.glyphicon-cd:before {\n content: \"\\e201\";\n}\n.glyphicon-save-file:before {\n content: \"\\e202\";\n}\n.glyphicon-open-file:before {\n content: \"\\e203\";\n}\n.glyphicon-level-up:before {\n content: \"\\e204\";\n}\n.glyphicon-copy:before {\n content: \"\\e205\";\n}\n.glyphicon-paste:before {\n content: \"\\e206\";\n}\n.glyphicon-alert:before {\n content: \"\\e209\";\n}\n.glyphicon-equalizer:before {\n content: \"\\e210\";\n}\n.glyphicon-king:before {\n content: \"\\e211\";\n}\n.glyphicon-queen:before {\n content: \"\\e212\";\n}\n.glyphicon-pawn:before {\n content: \"\\e213\";\n}\n.glyphicon-bishop:before {\n content: \"\\e214\";\n}\n.glyphicon-knight:before {\n content: \"\\e215\";\n}\n.glyphicon-baby-formula:before {\n content: \"\\e216\";\n}\n.glyphicon-tent:before {\n content: \"\\26fa\";\n}\n.glyphicon-blackboard:before {\n content: \"\\e218\";\n}\n.glyphicon-bed:before {\n content: \"\\e219\";\n}\n.glyphicon-apple:before {\n content: \"\\f8ff\";\n}\n.glyphicon-erase:before {\n content: \"\\e221\";\n}\n.glyphicon-hourglass:before {\n content: \"\\231b\";\n}\n.glyphicon-lamp:before {\n content: \"\\e223\";\n}\n.glyphicon-duplicate:before {\n content: \"\\e224\";\n}\n.glyphicon-piggy-bank:before {\n content: \"\\e225\";\n}\n.glyphicon-scissors:before {\n content: \"\\e226\";\n}\n.glyphicon-bitcoin:before {\n content: \"\\e227\";\n}\n.glyphicon-btc:before {\n content: \"\\e227\";\n}\n.glyphicon-xbt:before {\n content: \"\\e227\";\n}\n.glyphicon-yen:before {\n content: \"\\00a5\";\n}\n.glyphicon-jpy:before {\n content: \"\\00a5\";\n}\n.glyphicon-ruble:before {\n content: \"\\20bd\";\n}\n.glyphicon-rub:before {\n content: \"\\20bd\";\n}\n.glyphicon-scale:before {\n content: \"\\e230\";\n}\n.glyphicon-ice-lolly:before {\n content: \"\\e231\";\n}\n.glyphicon-ice-lolly-tasted:before {\n content: \"\\e232\";\n}\n.glyphicon-education:before {\n content: \"\\e233\";\n}\n.glyphicon-option-horizontal:before {\n content: \"\\e234\";\n}\n.glyphicon-option-vertical:before {\n content: \"\\e235\";\n}\n.glyphicon-menu-hamburger:before {\n content: \"\\e236\";\n}\n.glyphicon-modal-window:before {\n content: \"\\e237\";\n}\n.glyphicon-oil:before {\n content: \"\\e238\";\n}\n.glyphicon-grain:before {\n content: \"\\e239\";\n}\n.glyphicon-sunglasses:before {\n content: \"\\e240\";\n}\n.glyphicon-text-size:before {\n content: \"\\e241\";\n}\n.glyphicon-text-color:before {\n content: \"\\e242\";\n}\n.glyphicon-text-background:before {\n content: \"\\e243\";\n}\n.glyphicon-object-align-top:before {\n content: \"\\e244\";\n}\n.glyphicon-object-align-bottom:before {\n content: \"\\e245\";\n}\n.glyphicon-object-align-horizontal:before {\n content: \"\\e246\";\n}\n.glyphicon-object-align-left:before {\n content: \"\\e247\";\n}\n.glyphicon-object-align-vertical:before {\n content: \"\\e248\";\n}\n.glyphicon-object-align-right:before {\n content: \"\\e249\";\n}\n.glyphicon-triangle-right:before {\n content: \"\\e250\";\n}\n.glyphicon-triangle-left:before {\n content: \"\\e251\";\n}\n.glyphicon-triangle-bottom:before {\n content: \"\\e252\";\n}\n.glyphicon-triangle-top:before {\n content: \"\\e253\";\n}\n.glyphicon-console:before {\n content: \"\\e254\";\n}\n.glyphicon-superscript:before {\n content: \"\\e255\";\n}\n.glyphicon-subscript:before {\n content: \"\\e256\";\n}\n.glyphicon-menu-left:before {\n content: \"\\e257\";\n}\n.glyphicon-menu-right:before {\n content: \"\\e258\";\n}\n.glyphicon-menu-down:before {\n content: \"\\e259\";\n}\n.glyphicon-menu-up:before {\n content: \"\\e260\";\n}\n* {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\n*:before,\n*:after {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n}\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\nbody {\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-size: 14px;\n line-height: 1.42857143;\n color: #333333;\n background-color: #fff;\n}\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\na {\n color: #337ab7;\n text-decoration: none;\n}\na:hover,\na:focus {\n color: #23527c;\n text-decoration: underline;\n}\na:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\nfigure {\n margin: 0;\n}\nimg {\n vertical-align: middle;\n}\n.img-responsive,\n.thumbnail > img,\n.thumbnail a > img,\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n display: block;\n max-width: 100%;\n height: auto;\n}\n.img-rounded {\n border-radius: 6px;\n}\n.img-thumbnail {\n padding: 4px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: all 0.2s ease-in-out;\n -o-transition: all 0.2s ease-in-out;\n transition: all 0.2s ease-in-out;\n display: inline-block;\n max-width: 100%;\n height: auto;\n}\n.img-circle {\n border-radius: 50%;\n}\nhr {\n margin-top: 20px;\n margin-bottom: 20px;\n border: 0;\n border-top: 1px solid #eeeeee;\n}\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n.sr-only-focusable:active,\n.sr-only-focusable:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n}\n[role=\"button\"] {\n cursor: pointer;\n}\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\n.h1,\n.h2,\n.h3,\n.h4,\n.h5,\n.h6 {\n font-family: inherit;\n font-weight: 500;\n line-height: 1.1;\n color: inherit;\n}\nh1 small,\nh2 small,\nh3 small,\nh4 small,\nh5 small,\nh6 small,\n.h1 small,\n.h2 small,\n.h3 small,\n.h4 small,\n.h5 small,\n.h6 small,\nh1 .small,\nh2 .small,\nh3 .small,\nh4 .small,\nh5 .small,\nh6 .small,\n.h1 .small,\n.h2 .small,\n.h3 .small,\n.h4 .small,\n.h5 .small,\n.h6 .small {\n font-weight: 400;\n line-height: 1;\n color: #777777;\n}\nh1,\n.h1,\nh2,\n.h2,\nh3,\n.h3 {\n margin-top: 20px;\n margin-bottom: 10px;\n}\nh1 small,\n.h1 small,\nh2 small,\n.h2 small,\nh3 small,\n.h3 small,\nh1 .small,\n.h1 .small,\nh2 .small,\n.h2 .small,\nh3 .small,\n.h3 .small {\n font-size: 65%;\n}\nh4,\n.h4,\nh5,\n.h5,\nh6,\n.h6 {\n margin-top: 10px;\n margin-bottom: 10px;\n}\nh4 small,\n.h4 small,\nh5 small,\n.h5 small,\nh6 small,\n.h6 small,\nh4 .small,\n.h4 .small,\nh5 .small,\n.h5 .small,\nh6 .small,\n.h6 .small {\n font-size: 75%;\n}\nh1,\n.h1 {\n font-size: 36px;\n}\nh2,\n.h2 {\n font-size: 30px;\n}\nh3,\n.h3 {\n font-size: 24px;\n}\nh4,\n.h4 {\n font-size: 18px;\n}\nh5,\n.h5 {\n font-size: 14px;\n}\nh6,\n.h6 {\n font-size: 12px;\n}\np {\n margin: 0 0 10px;\n}\n.lead {\n margin-bottom: 20px;\n font-size: 16px;\n font-weight: 300;\n line-height: 1.4;\n}\n@media (min-width: 768px) {\n .lead {\n font-size: 21px;\n }\n}\nsmall,\n.small {\n font-size: 85%;\n}\nmark,\n.mark {\n padding: 0.2em;\n background-color: #fcf8e3;\n}\n.text-left {\n text-align: left;\n}\n.text-right {\n text-align: right;\n}\n.text-center {\n text-align: center;\n}\n.text-justify {\n text-align: justify;\n}\n.text-nowrap {\n white-space: nowrap;\n}\n.text-lowercase {\n text-transform: lowercase;\n}\n.text-uppercase {\n text-transform: uppercase;\n}\n.text-capitalize {\n text-transform: capitalize;\n}\n.text-muted {\n color: #777777;\n}\n.text-primary {\n color: #337ab7;\n}\na.text-primary:hover,\na.text-primary:focus {\n color: #286090;\n}\n.text-success {\n color: #3c763d;\n}\na.text-success:hover,\na.text-success:focus {\n color: #2b542c;\n}\n.text-info {\n color: #31708f;\n}\na.text-info:hover,\na.text-info:focus {\n color: #245269;\n}\n.text-warning {\n color: #8a6d3b;\n}\na.text-warning:hover,\na.text-warning:focus {\n color: #66512c;\n}\n.text-danger {\n color: #a94442;\n}\na.text-danger:hover,\na.text-danger:focus {\n color: #843534;\n}\n.bg-primary {\n color: #fff;\n background-color: #337ab7;\n}\na.bg-primary:hover,\na.bg-primary:focus {\n background-color: #286090;\n}\n.bg-success {\n background-color: #dff0d8;\n}\na.bg-success:hover,\na.bg-success:focus {\n background-color: #c1e2b3;\n}\n.bg-info {\n background-color: #d9edf7;\n}\na.bg-info:hover,\na.bg-info:focus {\n background-color: #afd9ee;\n}\n.bg-warning {\n background-color: #fcf8e3;\n}\na.bg-warning:hover,\na.bg-warning:focus {\n background-color: #f7ecb5;\n}\n.bg-danger {\n background-color: #f2dede;\n}\na.bg-danger:hover,\na.bg-danger:focus {\n background-color: #e4b9b9;\n}\n.page-header {\n padding-bottom: 9px;\n margin: 40px 0 20px;\n border-bottom: 1px solid #eeeeee;\n}\nul,\nol {\n margin-top: 0;\n margin-bottom: 10px;\n}\nul ul,\nol ul,\nul ol,\nol ol {\n margin-bottom: 0;\n}\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n.list-inline {\n padding-left: 0;\n list-style: none;\n margin-left: -5px;\n}\n.list-inline > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n}\ndl {\n margin-top: 0;\n margin-bottom: 20px;\n}\ndt,\ndd {\n line-height: 1.42857143;\n}\ndt {\n font-weight: 700;\n}\ndd {\n margin-left: 0;\n}\n@media (min-width: 768px) {\n .dl-horizontal dt {\n float: left;\n width: 160px;\n clear: left;\n text-align: right;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n .dl-horizontal dd {\n margin-left: 180px;\n }\n}\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n.initialism {\n font-size: 90%;\n text-transform: uppercase;\n}\nblockquote {\n padding: 10px 20px;\n margin: 0 0 20px;\n font-size: 17.5px;\n border-left: 5px solid #eeeeee;\n}\nblockquote p:last-child,\nblockquote ul:last-child,\nblockquote ol:last-child {\n margin-bottom: 0;\n}\nblockquote footer,\nblockquote small,\nblockquote .small {\n display: block;\n font-size: 80%;\n line-height: 1.42857143;\n color: #777777;\n}\nblockquote footer:before,\nblockquote small:before,\nblockquote .small:before {\n content: \"\\2014 \\00A0\";\n}\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid #eeeeee;\n border-left: 0;\n}\n.blockquote-reverse footer:before,\nblockquote.pull-right footer:before,\n.blockquote-reverse small:before,\nblockquote.pull-right small:before,\n.blockquote-reverse .small:before,\nblockquote.pull-right .small:before {\n content: \"\";\n}\n.blockquote-reverse footer:after,\nblockquote.pull-right footer:after,\n.blockquote-reverse small:after,\nblockquote.pull-right small:after,\n.blockquote-reverse .small:after,\nblockquote.pull-right .small:after {\n content: \"\\00A0 \\2014\";\n}\naddress {\n margin-bottom: 20px;\n font-style: normal;\n line-height: 1.42857143;\n}\ncode,\nkbd,\npre,\nsamp {\n font-family: Menlo, Monaco, Consolas, \"Courier New\", monospace;\n}\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: #c7254e;\n background-color: #f9f2f4;\n border-radius: 4px;\n}\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: #fff;\n background-color: #333;\n border-radius: 3px;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);\n}\nkbd kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\npre {\n display: block;\n padding: 9.5px;\n margin: 0 0 10px;\n font-size: 13px;\n line-height: 1.42857143;\n color: #333333;\n word-break: break-all;\n word-wrap: break-word;\n background-color: #f5f5f5;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\npre code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n}\n.pre-scrollable {\n max-height: 340px;\n overflow-y: scroll;\n}\n.container {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n@media (min-width: 768px) {\n .container {\n width: 750px;\n }\n}\n@media (min-width: 992px) {\n .container {\n width: 970px;\n }\n}\n@media (min-width: 1200px) {\n .container {\n width: 1170px;\n }\n}\n.container-fluid {\n padding-right: 15px;\n padding-left: 15px;\n margin-right: auto;\n margin-left: auto;\n}\n.row {\n margin-right: -15px;\n margin-left: -15px;\n}\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0;\n}\n.row-no-gutters [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n}\n.col-xs-1,\n.col-sm-1,\n.col-md-1,\n.col-lg-1,\n.col-xs-2,\n.col-sm-2,\n.col-md-2,\n.col-lg-2,\n.col-xs-3,\n.col-sm-3,\n.col-md-3,\n.col-lg-3,\n.col-xs-4,\n.col-sm-4,\n.col-md-4,\n.col-lg-4,\n.col-xs-5,\n.col-sm-5,\n.col-md-5,\n.col-lg-5,\n.col-xs-6,\n.col-sm-6,\n.col-md-6,\n.col-lg-6,\n.col-xs-7,\n.col-sm-7,\n.col-md-7,\n.col-lg-7,\n.col-xs-8,\n.col-sm-8,\n.col-md-8,\n.col-lg-8,\n.col-xs-9,\n.col-sm-9,\n.col-md-9,\n.col-lg-9,\n.col-xs-10,\n.col-sm-10,\n.col-md-10,\n.col-lg-10,\n.col-xs-11,\n.col-sm-11,\n.col-md-11,\n.col-lg-11,\n.col-xs-12,\n.col-sm-12,\n.col-md-12,\n.col-lg-12 {\n position: relative;\n min-height: 1px;\n padding-right: 15px;\n padding-left: 15px;\n}\n.col-xs-1,\n.col-xs-2,\n.col-xs-3,\n.col-xs-4,\n.col-xs-5,\n.col-xs-6,\n.col-xs-7,\n.col-xs-8,\n.col-xs-9,\n.col-xs-10,\n.col-xs-11,\n.col-xs-12 {\n float: left;\n}\n.col-xs-12 {\n width: 100%;\n}\n.col-xs-11 {\n width: 91.66666667%;\n}\n.col-xs-10 {\n width: 83.33333333%;\n}\n.col-xs-9 {\n width: 75%;\n}\n.col-xs-8 {\n width: 66.66666667%;\n}\n.col-xs-7 {\n width: 58.33333333%;\n}\n.col-xs-6 {\n width: 50%;\n}\n.col-xs-5 {\n width: 41.66666667%;\n}\n.col-xs-4 {\n width: 33.33333333%;\n}\n.col-xs-3 {\n width: 25%;\n}\n.col-xs-2 {\n width: 16.66666667%;\n}\n.col-xs-1 {\n width: 8.33333333%;\n}\n.col-xs-pull-12 {\n right: 100%;\n}\n.col-xs-pull-11 {\n right: 91.66666667%;\n}\n.col-xs-pull-10 {\n right: 83.33333333%;\n}\n.col-xs-pull-9 {\n right: 75%;\n}\n.col-xs-pull-8 {\n right: 66.66666667%;\n}\n.col-xs-pull-7 {\n right: 58.33333333%;\n}\n.col-xs-pull-6 {\n right: 50%;\n}\n.col-xs-pull-5 {\n right: 41.66666667%;\n}\n.col-xs-pull-4 {\n right: 33.33333333%;\n}\n.col-xs-pull-3 {\n right: 25%;\n}\n.col-xs-pull-2 {\n right: 16.66666667%;\n}\n.col-xs-pull-1 {\n right: 8.33333333%;\n}\n.col-xs-pull-0 {\n right: auto;\n}\n.col-xs-push-12 {\n left: 100%;\n}\n.col-xs-push-11 {\n left: 91.66666667%;\n}\n.col-xs-push-10 {\n left: 83.33333333%;\n}\n.col-xs-push-9 {\n left: 75%;\n}\n.col-xs-push-8 {\n left: 66.66666667%;\n}\n.col-xs-push-7 {\n left: 58.33333333%;\n}\n.col-xs-push-6 {\n left: 50%;\n}\n.col-xs-push-5 {\n left: 41.66666667%;\n}\n.col-xs-push-4 {\n left: 33.33333333%;\n}\n.col-xs-push-3 {\n left: 25%;\n}\n.col-xs-push-2 {\n left: 16.66666667%;\n}\n.col-xs-push-1 {\n left: 8.33333333%;\n}\n.col-xs-push-0 {\n left: auto;\n}\n.col-xs-offset-12 {\n margin-left: 100%;\n}\n.col-xs-offset-11 {\n margin-left: 91.66666667%;\n}\n.col-xs-offset-10 {\n margin-left: 83.33333333%;\n}\n.col-xs-offset-9 {\n margin-left: 75%;\n}\n.col-xs-offset-8 {\n margin-left: 66.66666667%;\n}\n.col-xs-offset-7 {\n margin-left: 58.33333333%;\n}\n.col-xs-offset-6 {\n margin-left: 50%;\n}\n.col-xs-offset-5 {\n margin-left: 41.66666667%;\n}\n.col-xs-offset-4 {\n margin-left: 33.33333333%;\n}\n.col-xs-offset-3 {\n margin-left: 25%;\n}\n.col-xs-offset-2 {\n margin-left: 16.66666667%;\n}\n.col-xs-offset-1 {\n margin-left: 8.33333333%;\n}\n.col-xs-offset-0 {\n margin-left: 0%;\n}\n@media (min-width: 768px) {\n .col-sm-1,\n .col-sm-2,\n .col-sm-3,\n .col-sm-4,\n .col-sm-5,\n .col-sm-6,\n .col-sm-7,\n .col-sm-8,\n .col-sm-9,\n .col-sm-10,\n .col-sm-11,\n .col-sm-12 {\n float: left;\n }\n .col-sm-12 {\n width: 100%;\n }\n .col-sm-11 {\n width: 91.66666667%;\n }\n .col-sm-10 {\n width: 83.33333333%;\n }\n .col-sm-9 {\n width: 75%;\n }\n .col-sm-8 {\n width: 66.66666667%;\n }\n .col-sm-7 {\n width: 58.33333333%;\n }\n .col-sm-6 {\n width: 50%;\n }\n .col-sm-5 {\n width: 41.66666667%;\n }\n .col-sm-4 {\n width: 33.33333333%;\n }\n .col-sm-3 {\n width: 25%;\n }\n .col-sm-2 {\n width: 16.66666667%;\n }\n .col-sm-1 {\n width: 8.33333333%;\n }\n .col-sm-pull-12 {\n right: 100%;\n }\n .col-sm-pull-11 {\n right: 91.66666667%;\n }\n .col-sm-pull-10 {\n right: 83.33333333%;\n }\n .col-sm-pull-9 {\n right: 75%;\n }\n .col-sm-pull-8 {\n right: 66.66666667%;\n }\n .col-sm-pull-7 {\n right: 58.33333333%;\n }\n .col-sm-pull-6 {\n right: 50%;\n }\n .col-sm-pull-5 {\n right: 41.66666667%;\n }\n .col-sm-pull-4 {\n right: 33.33333333%;\n }\n .col-sm-pull-3 {\n right: 25%;\n }\n .col-sm-pull-2 {\n right: 16.66666667%;\n }\n .col-sm-pull-1 {\n right: 8.33333333%;\n }\n .col-sm-pull-0 {\n right: auto;\n }\n .col-sm-push-12 {\n left: 100%;\n }\n .col-sm-push-11 {\n left: 91.66666667%;\n }\n .col-sm-push-10 {\n left: 83.33333333%;\n }\n .col-sm-push-9 {\n left: 75%;\n }\n .col-sm-push-8 {\n left: 66.66666667%;\n }\n .col-sm-push-7 {\n left: 58.33333333%;\n }\n .col-sm-push-6 {\n left: 50%;\n }\n .col-sm-push-5 {\n left: 41.66666667%;\n }\n .col-sm-push-4 {\n left: 33.33333333%;\n }\n .col-sm-push-3 {\n left: 25%;\n }\n .col-sm-push-2 {\n left: 16.66666667%;\n }\n .col-sm-push-1 {\n left: 8.33333333%;\n }\n .col-sm-push-0 {\n left: auto;\n }\n .col-sm-offset-12 {\n margin-left: 100%;\n }\n .col-sm-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-sm-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-sm-offset-9 {\n margin-left: 75%;\n }\n .col-sm-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-sm-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-sm-offset-6 {\n margin-left: 50%;\n }\n .col-sm-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-sm-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-sm-offset-3 {\n margin-left: 25%;\n }\n .col-sm-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-sm-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-sm-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 992px) {\n .col-md-1,\n .col-md-2,\n .col-md-3,\n .col-md-4,\n .col-md-5,\n .col-md-6,\n .col-md-7,\n .col-md-8,\n .col-md-9,\n .col-md-10,\n .col-md-11,\n .col-md-12 {\n float: left;\n }\n .col-md-12 {\n width: 100%;\n }\n .col-md-11 {\n width: 91.66666667%;\n }\n .col-md-10 {\n width: 83.33333333%;\n }\n .col-md-9 {\n width: 75%;\n }\n .col-md-8 {\n width: 66.66666667%;\n }\n .col-md-7 {\n width: 58.33333333%;\n }\n .col-md-6 {\n width: 50%;\n }\n .col-md-5 {\n width: 41.66666667%;\n }\n .col-md-4 {\n width: 33.33333333%;\n }\n .col-md-3 {\n width: 25%;\n }\n .col-md-2 {\n width: 16.66666667%;\n }\n .col-md-1 {\n width: 8.33333333%;\n }\n .col-md-pull-12 {\n right: 100%;\n }\n .col-md-pull-11 {\n right: 91.66666667%;\n }\n .col-md-pull-10 {\n right: 83.33333333%;\n }\n .col-md-pull-9 {\n right: 75%;\n }\n .col-md-pull-8 {\n right: 66.66666667%;\n }\n .col-md-pull-7 {\n right: 58.33333333%;\n }\n .col-md-pull-6 {\n right: 50%;\n }\n .col-md-pull-5 {\n right: 41.66666667%;\n }\n .col-md-pull-4 {\n right: 33.33333333%;\n }\n .col-md-pull-3 {\n right: 25%;\n }\n .col-md-pull-2 {\n right: 16.66666667%;\n }\n .col-md-pull-1 {\n right: 8.33333333%;\n }\n .col-md-pull-0 {\n right: auto;\n }\n .col-md-push-12 {\n left: 100%;\n }\n .col-md-push-11 {\n left: 91.66666667%;\n }\n .col-md-push-10 {\n left: 83.33333333%;\n }\n .col-md-push-9 {\n left: 75%;\n }\n .col-md-push-8 {\n left: 66.66666667%;\n }\n .col-md-push-7 {\n left: 58.33333333%;\n }\n .col-md-push-6 {\n left: 50%;\n }\n .col-md-push-5 {\n left: 41.66666667%;\n }\n .col-md-push-4 {\n left: 33.33333333%;\n }\n .col-md-push-3 {\n left: 25%;\n }\n .col-md-push-2 {\n left: 16.66666667%;\n }\n .col-md-push-1 {\n left: 8.33333333%;\n }\n .col-md-push-0 {\n left: auto;\n }\n .col-md-offset-12 {\n margin-left: 100%;\n }\n .col-md-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-md-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-md-offset-9 {\n margin-left: 75%;\n }\n .col-md-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-md-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-md-offset-6 {\n margin-left: 50%;\n }\n .col-md-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-md-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-md-offset-3 {\n margin-left: 25%;\n }\n .col-md-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-md-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-md-offset-0 {\n margin-left: 0%;\n }\n}\n@media (min-width: 1200px) {\n .col-lg-1,\n .col-lg-2,\n .col-lg-3,\n .col-lg-4,\n .col-lg-5,\n .col-lg-6,\n .col-lg-7,\n .col-lg-8,\n .col-lg-9,\n .col-lg-10,\n .col-lg-11,\n .col-lg-12 {\n float: left;\n }\n .col-lg-12 {\n width: 100%;\n }\n .col-lg-11 {\n width: 91.66666667%;\n }\n .col-lg-10 {\n width: 83.33333333%;\n }\n .col-lg-9 {\n width: 75%;\n }\n .col-lg-8 {\n width: 66.66666667%;\n }\n .col-lg-7 {\n width: 58.33333333%;\n }\n .col-lg-6 {\n width: 50%;\n }\n .col-lg-5 {\n width: 41.66666667%;\n }\n .col-lg-4 {\n width: 33.33333333%;\n }\n .col-lg-3 {\n width: 25%;\n }\n .col-lg-2 {\n width: 16.66666667%;\n }\n .col-lg-1 {\n width: 8.33333333%;\n }\n .col-lg-pull-12 {\n right: 100%;\n }\n .col-lg-pull-11 {\n right: 91.66666667%;\n }\n .col-lg-pull-10 {\n right: 83.33333333%;\n }\n .col-lg-pull-9 {\n right: 75%;\n }\n .col-lg-pull-8 {\n right: 66.66666667%;\n }\n .col-lg-pull-7 {\n right: 58.33333333%;\n }\n .col-lg-pull-6 {\n right: 50%;\n }\n .col-lg-pull-5 {\n right: 41.66666667%;\n }\n .col-lg-pull-4 {\n right: 33.33333333%;\n }\n .col-lg-pull-3 {\n right: 25%;\n }\n .col-lg-pull-2 {\n right: 16.66666667%;\n }\n .col-lg-pull-1 {\n right: 8.33333333%;\n }\n .col-lg-pull-0 {\n right: auto;\n }\n .col-lg-push-12 {\n left: 100%;\n }\n .col-lg-push-11 {\n left: 91.66666667%;\n }\n .col-lg-push-10 {\n left: 83.33333333%;\n }\n .col-lg-push-9 {\n left: 75%;\n }\n .col-lg-push-8 {\n left: 66.66666667%;\n }\n .col-lg-push-7 {\n left: 58.33333333%;\n }\n .col-lg-push-6 {\n left: 50%;\n }\n .col-lg-push-5 {\n left: 41.66666667%;\n }\n .col-lg-push-4 {\n left: 33.33333333%;\n }\n .col-lg-push-3 {\n left: 25%;\n }\n .col-lg-push-2 {\n left: 16.66666667%;\n }\n .col-lg-push-1 {\n left: 8.33333333%;\n }\n .col-lg-push-0 {\n left: auto;\n }\n .col-lg-offset-12 {\n margin-left: 100%;\n }\n .col-lg-offset-11 {\n margin-left: 91.66666667%;\n }\n .col-lg-offset-10 {\n margin-left: 83.33333333%;\n }\n .col-lg-offset-9 {\n margin-left: 75%;\n }\n .col-lg-offset-8 {\n margin-left: 66.66666667%;\n }\n .col-lg-offset-7 {\n margin-left: 58.33333333%;\n }\n .col-lg-offset-6 {\n margin-left: 50%;\n }\n .col-lg-offset-5 {\n margin-left: 41.66666667%;\n }\n .col-lg-offset-4 {\n margin-left: 33.33333333%;\n }\n .col-lg-offset-3 {\n margin-left: 25%;\n }\n .col-lg-offset-2 {\n margin-left: 16.66666667%;\n }\n .col-lg-offset-1 {\n margin-left: 8.33333333%;\n }\n .col-lg-offset-0 {\n margin-left: 0%;\n }\n}\ntable {\n background-color: transparent;\n}\ntable col[class*=\"col-\"] {\n position: static;\n display: table-column;\n float: none;\n}\ntable td[class*=\"col-\"],\ntable th[class*=\"col-\"] {\n position: static;\n display: table-cell;\n float: none;\n}\ncaption {\n padding-top: 8px;\n padding-bottom: 8px;\n color: #777777;\n text-align: left;\n}\nth {\n text-align: left;\n}\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: 20px;\n}\n.table > thead > tr > th,\n.table > tbody > tr > th,\n.table > tfoot > tr > th,\n.table > thead > tr > td,\n.table > tbody > tr > td,\n.table > tfoot > tr > td {\n padding: 8px;\n line-height: 1.42857143;\n vertical-align: top;\n border-top: 1px solid #ddd;\n}\n.table > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid #ddd;\n}\n.table > caption + thead > tr:first-child > th,\n.table > colgroup + thead > tr:first-child > th,\n.table > thead:first-child > tr:first-child > th,\n.table > caption + thead > tr:first-child > td,\n.table > colgroup + thead > tr:first-child > td,\n.table > thead:first-child > tr:first-child > td {\n border-top: 0;\n}\n.table > tbody + tbody {\n border-top: 2px solid #ddd;\n}\n.table .table {\n background-color: #fff;\n}\n.table-condensed > thead > tr > th,\n.table-condensed > tbody > tr > th,\n.table-condensed > tfoot > tr > th,\n.table-condensed > thead > tr > td,\n.table-condensed > tbody > tr > td,\n.table-condensed > tfoot > tr > td {\n padding: 5px;\n}\n.table-bordered {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > tbody > tr > th,\n.table-bordered > tfoot > tr > th,\n.table-bordered > thead > tr > td,\n.table-bordered > tbody > tr > td,\n.table-bordered > tfoot > tr > td {\n border: 1px solid #ddd;\n}\n.table-bordered > thead > tr > th,\n.table-bordered > thead > tr > td {\n border-bottom-width: 2px;\n}\n.table-striped > tbody > tr:nth-of-type(odd) {\n background-color: #f9f9f9;\n}\n.table-hover > tbody > tr:hover {\n background-color: #f5f5f5;\n}\n.table > thead > tr > td.active,\n.table > tbody > tr > td.active,\n.table > tfoot > tr > td.active,\n.table > thead > tr > th.active,\n.table > tbody > tr > th.active,\n.table > tfoot > tr > th.active,\n.table > thead > tr.active > td,\n.table > tbody > tr.active > td,\n.table > tfoot > tr.active > td,\n.table > thead > tr.active > th,\n.table > tbody > tr.active > th,\n.table > tfoot > tr.active > th {\n background-color: #f5f5f5;\n}\n.table-hover > tbody > tr > td.active:hover,\n.table-hover > tbody > tr > th.active:hover,\n.table-hover > tbody > tr.active:hover > td,\n.table-hover > tbody > tr:hover > .active,\n.table-hover > tbody > tr.active:hover > th {\n background-color: #e8e8e8;\n}\n.table > thead > tr > td.success,\n.table > tbody > tr > td.success,\n.table > tfoot > tr > td.success,\n.table > thead > tr > th.success,\n.table > tbody > tr > th.success,\n.table > tfoot > tr > th.success,\n.table > thead > tr.success > td,\n.table > tbody > tr.success > td,\n.table > tfoot > tr.success > td,\n.table > thead > tr.success > th,\n.table > tbody > tr.success > th,\n.table > tfoot > tr.success > th {\n background-color: #dff0d8;\n}\n.table-hover > tbody > tr > td.success:hover,\n.table-hover > tbody > tr > th.success:hover,\n.table-hover > tbody > tr.success:hover > td,\n.table-hover > tbody > tr:hover > .success,\n.table-hover > tbody > tr.success:hover > th {\n background-color: #d0e9c6;\n}\n.table > thead > tr > td.info,\n.table > tbody > tr > td.info,\n.table > tfoot > tr > td.info,\n.table > thead > tr > th.info,\n.table > tbody > tr > th.info,\n.table > tfoot > tr > th.info,\n.table > thead > tr.info > td,\n.table > tbody > tr.info > td,\n.table > tfoot > tr.info > td,\n.table > thead > tr.info > th,\n.table > tbody > tr.info > th,\n.table > tfoot > tr.info > th {\n background-color: #d9edf7;\n}\n.table-hover > tbody > tr > td.info:hover,\n.table-hover > tbody > tr > th.info:hover,\n.table-hover > tbody > tr.info:hover > td,\n.table-hover > tbody > tr:hover > .info,\n.table-hover > tbody > tr.info:hover > th {\n background-color: #c4e3f3;\n}\n.table > thead > tr > td.warning,\n.table > tbody > tr > td.warning,\n.table > tfoot > tr > td.warning,\n.table > thead > tr > th.warning,\n.table > tbody > tr > th.warning,\n.table > tfoot > tr > th.warning,\n.table > thead > tr.warning > td,\n.table > tbody > tr.warning > td,\n.table > tfoot > tr.warning > td,\n.table > thead > tr.warning > th,\n.table > tbody > tr.warning > th,\n.table > tfoot > tr.warning > th {\n background-color: #fcf8e3;\n}\n.table-hover > tbody > tr > td.warning:hover,\n.table-hover > tbody > tr > th.warning:hover,\n.table-hover > tbody > tr.warning:hover > td,\n.table-hover > tbody > tr:hover > .warning,\n.table-hover > tbody > tr.warning:hover > th {\n background-color: #faf2cc;\n}\n.table > thead > tr > td.danger,\n.table > tbody > tr > td.danger,\n.table > tfoot > tr > td.danger,\n.table > thead > tr > th.danger,\n.table > tbody > tr > th.danger,\n.table > tfoot > tr > th.danger,\n.table > thead > tr.danger > td,\n.table > tbody > tr.danger > td,\n.table > tfoot > tr.danger > td,\n.table > thead > tr.danger > th,\n.table > tbody > tr.danger > th,\n.table > tfoot > tr.danger > th {\n background-color: #f2dede;\n}\n.table-hover > tbody > tr > td.danger:hover,\n.table-hover > tbody > tr > th.danger:hover,\n.table-hover > tbody > tr.danger:hover > td,\n.table-hover > tbody > tr:hover > .danger,\n.table-hover > tbody > tr.danger:hover > th {\n background-color: #ebcccc;\n}\n.table-responsive {\n min-height: 0.01%;\n overflow-x: auto;\n}\n@media screen and (max-width: 767px) {\n .table-responsive {\n width: 100%;\n margin-bottom: 15px;\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid #ddd;\n }\n .table-responsive > .table {\n margin-bottom: 0;\n }\n .table-responsive > .table > thead > tr > th,\n .table-responsive > .table > tbody > tr > th,\n .table-responsive > .table > tfoot > tr > th,\n .table-responsive > .table > thead > tr > td,\n .table-responsive > .table > tbody > tr > td,\n .table-responsive > .table > tfoot > tr > td {\n white-space: nowrap;\n }\n .table-responsive > .table-bordered {\n border: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:first-child,\n .table-responsive > .table-bordered > tbody > tr > th:first-child,\n .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n .table-responsive > .table-bordered > thead > tr > td:first-child,\n .table-responsive > .table-bordered > tbody > tr > td:first-child,\n .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n }\n .table-responsive > .table-bordered > thead > tr > th:last-child,\n .table-responsive > .table-bordered > tbody > tr > th:last-child,\n .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n .table-responsive > .table-bordered > thead > tr > td:last-child,\n .table-responsive > .table-bordered > tbody > tr > td:last-child,\n .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n }\n .table-responsive > .table-bordered > tbody > tr:last-child > th,\n .table-responsive > .table-bordered > tfoot > tr:last-child > th,\n .table-responsive > .table-bordered > tbody > tr:last-child > td,\n .table-responsive > .table-bordered > tfoot > tr:last-child > td {\n border-bottom: 0;\n }\n}\nfieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: 20px;\n font-size: 21px;\n line-height: inherit;\n color: #333333;\n border: 0;\n border-bottom: 1px solid #e5e5e5;\n}\nlabel {\n display: inline-block;\n max-width: 100%;\n margin-bottom: 5px;\n font-weight: 700;\n}\ninput[type=\"search\"] {\n -webkit-box-sizing: border-box;\n -moz-box-sizing: border-box;\n box-sizing: border-box;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9;\n line-height: normal;\n}\ninput[type=\"radio\"][disabled],\ninput[type=\"checkbox\"][disabled],\ninput[type=\"radio\"].disabled,\ninput[type=\"checkbox\"].disabled,\nfieldset[disabled] input[type=\"radio\"],\nfieldset[disabled] input[type=\"checkbox\"] {\n cursor: not-allowed;\n}\ninput[type=\"file\"] {\n display: block;\n}\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\nselect[multiple],\nselect[size] {\n height: auto;\n}\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\noutput {\n display: block;\n padding-top: 7px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n}\n.form-control {\n display: block;\n width: 100%;\n height: 34px;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n color: #555555;\n background-color: #fff;\n background-image: none;\n border: 1px solid #ccc;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;\n transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;\n}\n.form-control:focus {\n border-color: #66afe9;\n outline: 0;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px rgba(102, 175, 233, 0.6);\n}\n.form-control::-moz-placeholder {\n color: #999;\n opacity: 1;\n}\n.form-control:-ms-input-placeholder {\n color: #999;\n}\n.form-control::-webkit-input-placeholder {\n color: #999;\n}\n.form-control::-ms-expand {\n background-color: transparent;\n border: 0;\n}\n.form-control[disabled],\n.form-control[readonly],\nfieldset[disabled] .form-control {\n background-color: #eeeeee;\n opacity: 1;\n}\n.form-control[disabled],\nfieldset[disabled] .form-control {\n cursor: not-allowed;\n}\ntextarea.form-control {\n height: auto;\n}\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"].form-control,\n input[type=\"time\"].form-control,\n input[type=\"datetime-local\"].form-control,\n input[type=\"month\"].form-control {\n line-height: 34px;\n }\n input[type=\"date\"].input-sm,\n input[type=\"time\"].input-sm,\n input[type=\"datetime-local\"].input-sm,\n input[type=\"month\"].input-sm,\n .input-group-sm input[type=\"date\"],\n .input-group-sm input[type=\"time\"],\n .input-group-sm input[type=\"datetime-local\"],\n .input-group-sm input[type=\"month\"] {\n line-height: 30px;\n }\n input[type=\"date\"].input-lg,\n input[type=\"time\"].input-lg,\n input[type=\"datetime-local\"].input-lg,\n input[type=\"month\"].input-lg,\n .input-group-lg input[type=\"date\"],\n .input-group-lg input[type=\"time\"],\n .input-group-lg input[type=\"datetime-local\"],\n .input-group-lg input[type=\"month\"] {\n line-height: 46px;\n }\n}\n.form-group {\n margin-bottom: 15px;\n}\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.radio.disabled label,\n.checkbox.disabled label,\nfieldset[disabled] .radio label,\nfieldset[disabled] .checkbox label {\n cursor: not-allowed;\n}\n.radio label,\n.checkbox label {\n min-height: 20px;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n cursor: pointer;\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px;\n}\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n vertical-align: middle;\n cursor: pointer;\n}\n.radio-inline.disabled,\n.checkbox-inline.disabled,\nfieldset[disabled] .radio-inline,\nfieldset[disabled] .checkbox-inline {\n cursor: not-allowed;\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px;\n}\n.form-control-static {\n min-height: 34px;\n padding-top: 7px;\n padding-bottom: 7px;\n margin-bottom: 0;\n}\n.form-control-static.input-lg,\n.form-control-static.input-sm {\n padding-right: 0;\n padding-left: 0;\n}\n.input-sm {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-sm {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-sm,\nselect[multiple].input-sm {\n height: auto;\n}\n.form-group-sm .form-control {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.form-group-sm select.form-control {\n height: 30px;\n line-height: 30px;\n}\n.form-group-sm textarea.form-control,\n.form-group-sm select[multiple].form-control {\n height: auto;\n}\n.form-group-sm .form-control-static {\n height: 30px;\n min-height: 32px;\n padding: 6px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.input-lg {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-lg {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-lg,\nselect[multiple].input-lg {\n height: auto;\n}\n.form-group-lg .form-control {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.form-group-lg select.form-control {\n height: 46px;\n line-height: 46px;\n}\n.form-group-lg textarea.form-control,\n.form-group-lg select[multiple].form-control {\n height: auto;\n}\n.form-group-lg .form-control-static {\n height: 46px;\n min-height: 38px;\n padding: 11px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.has-feedback {\n position: relative;\n}\n.has-feedback .form-control {\n padding-right: 42.5px;\n}\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2;\n display: block;\n width: 34px;\n height: 34px;\n line-height: 34px;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: 46px;\n height: 46px;\n line-height: 46px;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: 30px;\n height: 30px;\n line-height: 30px;\n}\n.has-success .help-block,\n.has-success .control-label,\n.has-success .radio,\n.has-success .checkbox,\n.has-success .radio-inline,\n.has-success .checkbox-inline,\n.has-success.radio label,\n.has-success.checkbox label,\n.has-success.radio-inline label,\n.has-success.checkbox-inline label {\n color: #3c763d;\n}\n.has-success .form-control {\n border-color: #3c763d;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-success .form-control:focus {\n border-color: #2b542c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #67b168;\n}\n.has-success .input-group-addon {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #3c763d;\n}\n.has-success .form-control-feedback {\n color: #3c763d;\n}\n.has-warning .help-block,\n.has-warning .control-label,\n.has-warning .radio,\n.has-warning .checkbox,\n.has-warning .radio-inline,\n.has-warning .checkbox-inline,\n.has-warning.radio label,\n.has-warning.checkbox label,\n.has-warning.radio-inline label,\n.has-warning.checkbox-inline label {\n color: #8a6d3b;\n}\n.has-warning .form-control {\n border-color: #8a6d3b;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-warning .form-control:focus {\n border-color: #66512c;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #c0a16b;\n}\n.has-warning .input-group-addon {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #8a6d3b;\n}\n.has-warning .form-control-feedback {\n color: #8a6d3b;\n}\n.has-error .help-block,\n.has-error .control-label,\n.has-error .radio,\n.has-error .checkbox,\n.has-error .radio-inline,\n.has-error .checkbox-inline,\n.has-error.radio label,\n.has-error.checkbox label,\n.has-error.radio-inline label,\n.has-error.checkbox-inline label {\n color: #a94442;\n}\n.has-error .form-control {\n border-color: #a94442;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);\n}\n.has-error .form-control:focus {\n border-color: #843534;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #ce8483;\n}\n.has-error .input-group-addon {\n color: #a94442;\n background-color: #f2dede;\n border-color: #a94442;\n}\n.has-error .form-control-feedback {\n color: #a94442;\n}\n.has-feedback label ~ .form-control-feedback {\n top: 25px;\n}\n.has-feedback label.sr-only ~ .form-control-feedback {\n top: 0;\n}\n.help-block {\n display: block;\n margin-top: 5px;\n margin-bottom: 10px;\n color: #737373;\n}\n@media (min-width: 768px) {\n .form-inline .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .form-inline .form-control-static {\n display: inline-block;\n }\n .form-inline .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .form-inline .input-group .input-group-addon,\n .form-inline .input-group .input-group-btn,\n .form-inline .input-group .form-control {\n width: auto;\n }\n .form-inline .input-group > .form-control {\n width: 100%;\n }\n .form-inline .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio,\n .form-inline .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .form-inline .radio label,\n .form-inline .checkbox label {\n padding-left: 0;\n }\n .form-inline .radio input[type=\"radio\"],\n .form-inline .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .form-inline .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox,\n.form-horizontal .radio-inline,\n.form-horizontal .checkbox-inline {\n padding-top: 7px;\n margin-top: 0;\n margin-bottom: 0;\n}\n.form-horizontal .radio,\n.form-horizontal .checkbox {\n min-height: 27px;\n}\n.form-horizontal .form-group {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .control-label {\n padding-top: 7px;\n margin-bottom: 0;\n text-align: right;\n }\n}\n.form-horizontal .has-feedback .form-control-feedback {\n right: 15px;\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-lg .control-label {\n padding-top: 11px;\n font-size: 18px;\n }\n}\n@media (min-width: 768px) {\n .form-horizontal .form-group-sm .control-label {\n padding-top: 6px;\n font-size: 12px;\n }\n}\n.btn {\n display: inline-block;\n margin-bottom: 0;\n font-weight: normal;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n -ms-touch-action: manipulation;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none;\n border: 1px solid transparent;\n padding: 6px 12px;\n font-size: 14px;\n line-height: 1.42857143;\n border-radius: 4px;\n -webkit-user-select: none;\n -moz-user-select: none;\n -ms-user-select: none;\n user-select: none;\n}\n.btn:focus,\n.btn:active:focus,\n.btn.active:focus,\n.btn.focus,\n.btn:active.focus,\n.btn.active.focus {\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n.btn:hover,\n.btn:focus,\n.btn.focus {\n color: #333;\n text-decoration: none;\n}\n.btn:active,\n.btn.active {\n background-image: none;\n outline: 0;\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn.disabled,\n.btn[disabled],\nfieldset[disabled] .btn {\n cursor: not-allowed;\n filter: alpha(opacity=65);\n opacity: 0.65;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\na.btn.disabled,\nfieldset[disabled] a.btn {\n pointer-events: none;\n}\n.btn-default {\n color: #333;\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default:focus,\n.btn-default.focus {\n color: #333;\n background-color: #e6e6e6;\n border-color: #8c8c8c;\n}\n.btn-default:hover {\n color: #333;\n background-color: #e6e6e6;\n border-color: #adadad;\n}\n.btn-default:active,\n.btn-default.active,\n.open > .dropdown-toggle.btn-default {\n color: #333;\n background-color: #e6e6e6;\n background-image: none;\n border-color: #adadad;\n}\n.btn-default:active:hover,\n.btn-default.active:hover,\n.open > .dropdown-toggle.btn-default:hover,\n.btn-default:active:focus,\n.btn-default.active:focus,\n.open > .dropdown-toggle.btn-default:focus,\n.btn-default:active.focus,\n.btn-default.active.focus,\n.open > .dropdown-toggle.btn-default.focus {\n color: #333;\n background-color: #d4d4d4;\n border-color: #8c8c8c;\n}\n.btn-default.disabled:hover,\n.btn-default[disabled]:hover,\nfieldset[disabled] .btn-default:hover,\n.btn-default.disabled:focus,\n.btn-default[disabled]:focus,\nfieldset[disabled] .btn-default:focus,\n.btn-default.disabled.focus,\n.btn-default[disabled].focus,\nfieldset[disabled] .btn-default.focus {\n background-color: #fff;\n border-color: #ccc;\n}\n.btn-default .badge {\n color: #fff;\n background-color: #333;\n}\n.btn-primary {\n color: #fff;\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary:focus,\n.btn-primary.focus {\n color: #fff;\n background-color: #286090;\n border-color: #122b40;\n}\n.btn-primary:hover {\n color: #fff;\n background-color: #286090;\n border-color: #204d74;\n}\n.btn-primary:active,\n.btn-primary.active,\n.open > .dropdown-toggle.btn-primary {\n color: #fff;\n background-color: #286090;\n background-image: none;\n border-color: #204d74;\n}\n.btn-primary:active:hover,\n.btn-primary.active:hover,\n.open > .dropdown-toggle.btn-primary:hover,\n.btn-primary:active:focus,\n.btn-primary.active:focus,\n.open > .dropdown-toggle.btn-primary:focus,\n.btn-primary:active.focus,\n.btn-primary.active.focus,\n.open > .dropdown-toggle.btn-primary.focus {\n color: #fff;\n background-color: #204d74;\n border-color: #122b40;\n}\n.btn-primary.disabled:hover,\n.btn-primary[disabled]:hover,\nfieldset[disabled] .btn-primary:hover,\n.btn-primary.disabled:focus,\n.btn-primary[disabled]:focus,\nfieldset[disabled] .btn-primary:focus,\n.btn-primary.disabled.focus,\n.btn-primary[disabled].focus,\nfieldset[disabled] .btn-primary.focus {\n background-color: #337ab7;\n border-color: #2e6da4;\n}\n.btn-primary .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.btn-success {\n color: #fff;\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success:focus,\n.btn-success.focus {\n color: #fff;\n background-color: #449d44;\n border-color: #255625;\n}\n.btn-success:hover {\n color: #fff;\n background-color: #449d44;\n border-color: #398439;\n}\n.btn-success:active,\n.btn-success.active,\n.open > .dropdown-toggle.btn-success {\n color: #fff;\n background-color: #449d44;\n background-image: none;\n border-color: #398439;\n}\n.btn-success:active:hover,\n.btn-success.active:hover,\n.open > .dropdown-toggle.btn-success:hover,\n.btn-success:active:focus,\n.btn-success.active:focus,\n.open > .dropdown-toggle.btn-success:focus,\n.btn-success:active.focus,\n.btn-success.active.focus,\n.open > .dropdown-toggle.btn-success.focus {\n color: #fff;\n background-color: #398439;\n border-color: #255625;\n}\n.btn-success.disabled:hover,\n.btn-success[disabled]:hover,\nfieldset[disabled] .btn-success:hover,\n.btn-success.disabled:focus,\n.btn-success[disabled]:focus,\nfieldset[disabled] .btn-success:focus,\n.btn-success.disabled.focus,\n.btn-success[disabled].focus,\nfieldset[disabled] .btn-success.focus {\n background-color: #5cb85c;\n border-color: #4cae4c;\n}\n.btn-success .badge {\n color: #5cb85c;\n background-color: #fff;\n}\n.btn-info {\n color: #fff;\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info:focus,\n.btn-info.focus {\n color: #fff;\n background-color: #31b0d5;\n border-color: #1b6d85;\n}\n.btn-info:hover {\n color: #fff;\n background-color: #31b0d5;\n border-color: #269abc;\n}\n.btn-info:active,\n.btn-info.active,\n.open > .dropdown-toggle.btn-info {\n color: #fff;\n background-color: #31b0d5;\n background-image: none;\n border-color: #269abc;\n}\n.btn-info:active:hover,\n.btn-info.active:hover,\n.open > .dropdown-toggle.btn-info:hover,\n.btn-info:active:focus,\n.btn-info.active:focus,\n.open > .dropdown-toggle.btn-info:focus,\n.btn-info:active.focus,\n.btn-info.active.focus,\n.open > .dropdown-toggle.btn-info.focus {\n color: #fff;\n background-color: #269abc;\n border-color: #1b6d85;\n}\n.btn-info.disabled:hover,\n.btn-info[disabled]:hover,\nfieldset[disabled] .btn-info:hover,\n.btn-info.disabled:focus,\n.btn-info[disabled]:focus,\nfieldset[disabled] .btn-info:focus,\n.btn-info.disabled.focus,\n.btn-info[disabled].focus,\nfieldset[disabled] .btn-info.focus {\n background-color: #5bc0de;\n border-color: #46b8da;\n}\n.btn-info .badge {\n color: #5bc0de;\n background-color: #fff;\n}\n.btn-warning {\n color: #fff;\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning:focus,\n.btn-warning.focus {\n color: #fff;\n background-color: #ec971f;\n border-color: #985f0d;\n}\n.btn-warning:hover {\n color: #fff;\n background-color: #ec971f;\n border-color: #d58512;\n}\n.btn-warning:active,\n.btn-warning.active,\n.open > .dropdown-toggle.btn-warning {\n color: #fff;\n background-color: #ec971f;\n background-image: none;\n border-color: #d58512;\n}\n.btn-warning:active:hover,\n.btn-warning.active:hover,\n.open > .dropdown-toggle.btn-warning:hover,\n.btn-warning:active:focus,\n.btn-warning.active:focus,\n.open > .dropdown-toggle.btn-warning:focus,\n.btn-warning:active.focus,\n.btn-warning.active.focus,\n.open > .dropdown-toggle.btn-warning.focus {\n color: #fff;\n background-color: #d58512;\n border-color: #985f0d;\n}\n.btn-warning.disabled:hover,\n.btn-warning[disabled]:hover,\nfieldset[disabled] .btn-warning:hover,\n.btn-warning.disabled:focus,\n.btn-warning[disabled]:focus,\nfieldset[disabled] .btn-warning:focus,\n.btn-warning.disabled.focus,\n.btn-warning[disabled].focus,\nfieldset[disabled] .btn-warning.focus {\n background-color: #f0ad4e;\n border-color: #eea236;\n}\n.btn-warning .badge {\n color: #f0ad4e;\n background-color: #fff;\n}\n.btn-danger {\n color: #fff;\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger:focus,\n.btn-danger.focus {\n color: #fff;\n background-color: #c9302c;\n border-color: #761c19;\n}\n.btn-danger:hover {\n color: #fff;\n background-color: #c9302c;\n border-color: #ac2925;\n}\n.btn-danger:active,\n.btn-danger.active,\n.open > .dropdown-toggle.btn-danger {\n color: #fff;\n background-color: #c9302c;\n background-image: none;\n border-color: #ac2925;\n}\n.btn-danger:active:hover,\n.btn-danger.active:hover,\n.open > .dropdown-toggle.btn-danger:hover,\n.btn-danger:active:focus,\n.btn-danger.active:focus,\n.open > .dropdown-toggle.btn-danger:focus,\n.btn-danger:active.focus,\n.btn-danger.active.focus,\n.open > .dropdown-toggle.btn-danger.focus {\n color: #fff;\n background-color: #ac2925;\n border-color: #761c19;\n}\n.btn-danger.disabled:hover,\n.btn-danger[disabled]:hover,\nfieldset[disabled] .btn-danger:hover,\n.btn-danger.disabled:focus,\n.btn-danger[disabled]:focus,\nfieldset[disabled] .btn-danger:focus,\n.btn-danger.disabled.focus,\n.btn-danger[disabled].focus,\nfieldset[disabled] .btn-danger.focus {\n background-color: #d9534f;\n border-color: #d43f3a;\n}\n.btn-danger .badge {\n color: #d9534f;\n background-color: #fff;\n}\n.btn-link {\n font-weight: 400;\n color: #337ab7;\n border-radius: 0;\n}\n.btn-link,\n.btn-link:active,\n.btn-link.active,\n.btn-link[disabled],\nfieldset[disabled] .btn-link {\n background-color: transparent;\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn-link,\n.btn-link:hover,\n.btn-link:focus,\n.btn-link:active {\n border-color: transparent;\n}\n.btn-link:hover,\n.btn-link:focus {\n color: #23527c;\n text-decoration: underline;\n background-color: transparent;\n}\n.btn-link[disabled]:hover,\nfieldset[disabled] .btn-link:hover,\n.btn-link[disabled]:focus,\nfieldset[disabled] .btn-link:focus {\n color: #777777;\n text-decoration: none;\n}\n.btn-lg,\n.btn-group-lg > .btn {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\n.btn-sm,\n.btn-group-sm > .btn {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-xs,\n.btn-group-xs > .btn {\n padding: 1px 5px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\n.btn-block {\n display: block;\n width: 100%;\n}\n.btn-block + .btn-block {\n margin-top: 5px;\n}\ninput[type=\"submit\"].btn-block,\ninput[type=\"reset\"].btn-block,\ninput[type=\"button\"].btn-block {\n width: 100%;\n}\n.fade {\n opacity: 0;\n -webkit-transition: opacity 0.15s linear;\n -o-transition: opacity 0.15s linear;\n transition: opacity 0.15s linear;\n}\n.fade.in {\n opacity: 1;\n}\n.collapse {\n display: none;\n}\n.collapse.in {\n display: block;\n}\ntr.collapse.in {\n display: table-row;\n}\ntbody.collapse.in {\n display: table-row-group;\n}\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n -webkit-transition-property: height, visibility;\n -o-transition-property: height, visibility;\n transition-property: height, visibility;\n -webkit-transition-duration: 0.35s;\n -o-transition-duration: 0.35s;\n transition-duration: 0.35s;\n -webkit-transition-timing-function: ease;\n -o-transition-timing-function: ease;\n transition-timing-function: ease;\n}\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: 4px dashed;\n border-top: 4px solid \\9;\n border-right: 4px solid transparent;\n border-left: 4px solid transparent;\n}\n.dropup,\n.dropdown {\n position: relative;\n}\n.dropdown-toggle:focus {\n outline: 0;\n}\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: 1000;\n display: none;\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0;\n font-size: 14px;\n text-align: left;\n list-style: none;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.15);\n border-radius: 4px;\n -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);\n}\n.dropdown-menu.pull-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu .divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.dropdown-menu > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: 400;\n line-height: 1.42857143;\n color: #333333;\n white-space: nowrap;\n}\n.dropdown-menu > li > a:hover,\n.dropdown-menu > li > a:focus {\n color: #262626;\n text-decoration: none;\n background-color: #f5f5f5;\n}\n.dropdown-menu > .active > a,\n.dropdown-menu > .active > a:hover,\n.dropdown-menu > .active > a:focus {\n color: #fff;\n text-decoration: none;\n background-color: #337ab7;\n outline: 0;\n}\n.dropdown-menu > .disabled > a,\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n color: #777777;\n}\n.dropdown-menu > .disabled > a:hover,\n.dropdown-menu > .disabled > a:focus {\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n background-image: none;\n filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);\n}\n.open > .dropdown-menu {\n display: block;\n}\n.open > a {\n outline: 0;\n}\n.dropdown-menu-right {\n right: 0;\n left: auto;\n}\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: 12px;\n line-height: 1.42857143;\n color: #777777;\n white-space: nowrap;\n}\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 990;\n}\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n.dropup .caret,\n.navbar-fixed-bottom .dropdown .caret {\n content: \"\";\n border-top: 0;\n border-bottom: 4px dashed;\n border-bottom: 4px solid \\9;\n}\n.dropup .dropdown-menu,\n.navbar-fixed-bottom .dropdown .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n}\n@media (min-width: 768px) {\n .navbar-right .dropdown-menu {\n right: 0;\n left: auto;\n }\n .navbar-right .dropdown-menu-left {\n right: auto;\n left: 0;\n }\n}\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle;\n}\n.btn-group > .btn,\n.btn-group-vertical > .btn {\n position: relative;\n float: left;\n}\n.btn-group > .btn:hover,\n.btn-group-vertical > .btn:hover,\n.btn-group > .btn:focus,\n.btn-group-vertical > .btn:focus,\n.btn-group > .btn:active,\n.btn-group-vertical > .btn:active,\n.btn-group > .btn.active,\n.btn-group-vertical > .btn.active {\n z-index: 2;\n}\n.btn-group .btn + .btn,\n.btn-group .btn + .btn-group,\n.btn-group .btn-group + .btn,\n.btn-group .btn-group + .btn-group {\n margin-left: -1px;\n}\n.btn-toolbar {\n margin-left: -5px;\n}\n.btn-toolbar .btn,\n.btn-toolbar .btn-group,\n.btn-toolbar .input-group {\n float: left;\n}\n.btn-toolbar > .btn,\n.btn-toolbar > .btn-group,\n.btn-toolbar > .input-group {\n margin-left: 5px;\n}\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n.btn-group > .btn:first-child {\n margin-left: 0;\n}\n.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n.btn-group.open .dropdown-toggle {\n -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);\n}\n.btn-group.open .dropdown-toggle.btn-link {\n -webkit-box-shadow: none;\n box-shadow: none;\n}\n.btn .caret {\n margin-left: 0;\n}\n.btn-lg .caret {\n border-width: 5px 5px 0;\n border-bottom-width: 0;\n}\n.dropup .btn-lg .caret {\n border-width: 0 5px 5px;\n}\n.btn-group-vertical > .btn,\n.btn-group-vertical > .btn-group,\n.btn-group-vertical > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n}\n.btn-group-vertical > .btn-group > .btn {\n float: none;\n}\n.btn-group-vertical > .btn + .btn,\n.btn-group-vertical > .btn + .btn-group,\n.btn-group-vertical > .btn-group + .btn,\n.btn-group-vertical > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n}\n.btn-group-vertical > .btn:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.btn-group-vertical > .btn:first-child:not(:last-child) {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn:last-child:not(:first-child) {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,\n.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n}\n.btn-group-justified > .btn,\n.btn-group-justified > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n}\n.btn-group-justified > .btn-group .btn {\n width: 100%;\n}\n.btn-group-justified > .btn-group .dropdown-menu {\n left: auto;\n}\n[data-toggle=\"buttons\"] > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"radio\"],\n[data-toggle=\"buttons\"] > .btn input[type=\"checkbox\"],\n[data-toggle=\"buttons\"] > .btn-group > .btn input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n}\n.input-group {\n position: relative;\n display: table;\n border-collapse: separate;\n}\n.input-group[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n}\n.input-group .form-control {\n position: relative;\n z-index: 2;\n float: left;\n width: 100%;\n margin-bottom: 0;\n}\n.input-group .form-control:focus {\n z-index: 3;\n}\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n border-radius: 6px;\n}\nselect.input-group-lg > .form-control,\nselect.input-group-lg > .input-group-addon,\nselect.input-group-lg > .input-group-btn > .btn {\n height: 46px;\n line-height: 46px;\n}\ntextarea.input-group-lg > .form-control,\ntextarea.input-group-lg > .input-group-addon,\ntextarea.input-group-lg > .input-group-btn > .btn,\nselect[multiple].input-group-lg > .form-control,\nselect[multiple].input-group-lg > .input-group-addon,\nselect[multiple].input-group-lg > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n border-radius: 3px;\n}\nselect.input-group-sm > .form-control,\nselect.input-group-sm > .input-group-addon,\nselect.input-group-sm > .input-group-btn > .btn {\n height: 30px;\n line-height: 30px;\n}\ntextarea.input-group-sm > .form-control,\ntextarea.input-group-sm > .input-group-addon,\ntextarea.input-group-sm > .input-group-btn > .btn,\nselect[multiple].input-group-sm > .form-control,\nselect[multiple].input-group-sm > .input-group-addon,\nselect[multiple].input-group-sm > .input-group-btn > .btn {\n height: auto;\n}\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n}\n.input-group-addon:not(:first-child):not(:last-child),\n.input-group-btn:not(:first-child):not(:last-child),\n.input-group .form-control:not(:first-child):not(:last-child) {\n border-radius: 0;\n}\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle;\n}\n.input-group-addon {\n padding: 6px 12px;\n font-size: 14px;\n font-weight: 400;\n line-height: 1;\n color: #555555;\n text-align: center;\n background-color: #eeeeee;\n border: 1px solid #ccc;\n border-radius: 4px;\n}\n.input-group-addon.input-sm {\n padding: 5px 10px;\n font-size: 12px;\n border-radius: 3px;\n}\n.input-group-addon.input-lg {\n padding: 10px 16px;\n font-size: 18px;\n border-radius: 6px;\n}\n.input-group-addon input[type=\"radio\"],\n.input-group-addon input[type=\"checkbox\"] {\n margin-top: 0;\n}\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n.input-group-btn {\n position: relative;\n font-size: 0;\n white-space: nowrap;\n}\n.input-group-btn > .btn {\n position: relative;\n}\n.input-group-btn > .btn + .btn {\n margin-left: -1px;\n}\n.input-group-btn > .btn:hover,\n.input-group-btn > .btn:focus,\n.input-group-btn > .btn:active {\n z-index: 2;\n}\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group {\n margin-right: -1px;\n}\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group {\n z-index: 2;\n margin-left: -1px;\n}\n.nav {\n padding-left: 0;\n margin-bottom: 0;\n list-style: none;\n}\n.nav > li {\n position: relative;\n display: block;\n}\n.nav > li > a {\n position: relative;\n display: block;\n padding: 10px 15px;\n}\n.nav > li > a:hover,\n.nav > li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.nav > li.disabled > a {\n color: #777777;\n}\n.nav > li.disabled > a:hover,\n.nav > li.disabled > a:focus {\n color: #777777;\n text-decoration: none;\n cursor: not-allowed;\n background-color: transparent;\n}\n.nav .open > a,\n.nav .open > a:hover,\n.nav .open > a:focus {\n background-color: #eeeeee;\n border-color: #337ab7;\n}\n.nav .nav-divider {\n height: 1px;\n margin: 9px 0;\n overflow: hidden;\n background-color: #e5e5e5;\n}\n.nav > li > a > img {\n max-width: none;\n}\n.nav-tabs {\n border-bottom: 1px solid #ddd;\n}\n.nav-tabs > li {\n float: left;\n margin-bottom: -1px;\n}\n.nav-tabs > li > a {\n margin-right: 2px;\n line-height: 1.42857143;\n border: 1px solid transparent;\n border-radius: 4px 4px 0 0;\n}\n.nav-tabs > li > a:hover {\n border-color: #eeeeee #eeeeee #ddd;\n}\n.nav-tabs > li.active > a,\n.nav-tabs > li.active > a:hover,\n.nav-tabs > li.active > a:focus {\n color: #555555;\n cursor: default;\n background-color: #fff;\n border: 1px solid #ddd;\n border-bottom-color: transparent;\n}\n.nav-tabs.nav-justified {\n width: 100%;\n border-bottom: 0;\n}\n.nav-tabs.nav-justified > li {\n float: none;\n}\n.nav-tabs.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-tabs.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-tabs.nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs.nav-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs.nav-justified > .active > a,\n.nav-tabs.nav-justified > .active > a:hover,\n.nav-tabs.nav-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs.nav-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs.nav-justified > .active > a,\n .nav-tabs.nav-justified > .active > a:hover,\n .nav-tabs.nav-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.nav-pills > li {\n float: left;\n}\n.nav-pills > li > a {\n border-radius: 4px;\n}\n.nav-pills > li + li {\n margin-left: 2px;\n}\n.nav-pills > li.active > a,\n.nav-pills > li.active > a:hover,\n.nav-pills > li.active > a:focus {\n color: #fff;\n background-color: #337ab7;\n}\n.nav-stacked > li {\n float: none;\n}\n.nav-stacked > li + li {\n margin-top: 2px;\n margin-left: 0;\n}\n.nav-justified {\n width: 100%;\n}\n.nav-justified > li {\n float: none;\n}\n.nav-justified > li > a {\n margin-bottom: 5px;\n text-align: center;\n}\n.nav-justified > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n}\n@media (min-width: 768px) {\n .nav-justified > li {\n display: table-cell;\n width: 1%;\n }\n .nav-justified > li > a {\n margin-bottom: 0;\n }\n}\n.nav-tabs-justified {\n border-bottom: 0;\n}\n.nav-tabs-justified > li > a {\n margin-right: 0;\n border-radius: 4px;\n}\n.nav-tabs-justified > .active > a,\n.nav-tabs-justified > .active > a:hover,\n.nav-tabs-justified > .active > a:focus {\n border: 1px solid #ddd;\n}\n@media (min-width: 768px) {\n .nav-tabs-justified > li > a {\n border-bottom: 1px solid #ddd;\n border-radius: 4px 4px 0 0;\n }\n .nav-tabs-justified > .active > a,\n .nav-tabs-justified > .active > a:hover,\n .nav-tabs-justified > .active > a:focus {\n border-bottom-color: #fff;\n }\n}\n.tab-content > .tab-pane {\n display: none;\n}\n.tab-content > .active {\n display: block;\n}\n.nav-tabs .dropdown-menu {\n margin-top: -1px;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar {\n position: relative;\n min-height: 50px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n}\n@media (min-width: 768px) {\n .navbar {\n border-radius: 4px;\n }\n}\n@media (min-width: 768px) {\n .navbar-header {\n float: left;\n }\n}\n.navbar-collapse {\n padding-right: 15px;\n padding-left: 15px;\n overflow-x: visible;\n border-top: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);\n -webkit-overflow-scrolling: touch;\n}\n.navbar-collapse.in {\n overflow-y: auto;\n}\n@media (min-width: 768px) {\n .navbar-collapse {\n width: auto;\n border-top: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-collapse.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0;\n overflow: visible !important;\n }\n .navbar-collapse.in {\n overflow-y: visible;\n }\n .navbar-fixed-top .navbar-collapse,\n .navbar-static-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n padding-right: 0;\n padding-left: 0;\n }\n}\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n position: fixed;\n right: 0;\n left: 0;\n z-index: 1030;\n}\n.navbar-fixed-top .navbar-collapse,\n.navbar-fixed-bottom .navbar-collapse {\n max-height: 340px;\n}\n@media (max-device-width: 480px) and (orientation: landscape) {\n .navbar-fixed-top .navbar-collapse,\n .navbar-fixed-bottom .navbar-collapse {\n max-height: 200px;\n }\n}\n@media (min-width: 768px) {\n .navbar-fixed-top,\n .navbar-fixed-bottom {\n border-radius: 0;\n }\n}\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0;\n border-width: 1px 0 0;\n}\n.container > .navbar-header,\n.container-fluid > .navbar-header,\n.container > .navbar-collapse,\n.container-fluid > .navbar-collapse {\n margin-right: -15px;\n margin-left: -15px;\n}\n@media (min-width: 768px) {\n .container > .navbar-header,\n .container-fluid > .navbar-header,\n .container > .navbar-collapse,\n .container-fluid > .navbar-collapse {\n margin-right: 0;\n margin-left: 0;\n }\n}\n.navbar-static-top {\n z-index: 1000;\n border-width: 0 0 1px;\n}\n@media (min-width: 768px) {\n .navbar-static-top {\n border-radius: 0;\n }\n}\n.navbar-brand {\n float: left;\n height: 50px;\n padding: 15px 15px;\n font-size: 18px;\n line-height: 20px;\n}\n.navbar-brand:hover,\n.navbar-brand:focus {\n text-decoration: none;\n}\n.navbar-brand > img {\n display: block;\n}\n@media (min-width: 768px) {\n .navbar > .container .navbar-brand,\n .navbar > .container-fluid .navbar-brand {\n margin-left: -15px;\n }\n}\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-right: 15px;\n margin-top: 8px;\n margin-bottom: 8px;\n background-color: transparent;\n background-image: none;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.navbar-toggle:focus {\n outline: 0;\n}\n.navbar-toggle .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n}\n.navbar-toggle .icon-bar + .icon-bar {\n margin-top: 4px;\n}\n@media (min-width: 768px) {\n .navbar-toggle {\n display: none;\n }\n}\n.navbar-nav {\n margin: 7.5px -15px;\n}\n.navbar-nav > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: 20px;\n}\n@media (max-width: 767px) {\n .navbar-nav .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n .navbar-nav .open .dropdown-menu > li > a,\n .navbar-nav .open .dropdown-menu .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n .navbar-nav .open .dropdown-menu > li > a {\n line-height: 20px;\n }\n .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-nav .open .dropdown-menu > li > a:focus {\n background-image: none;\n }\n}\n@media (min-width: 768px) {\n .navbar-nav {\n float: left;\n margin: 0;\n }\n .navbar-nav > li {\n float: left;\n }\n .navbar-nav > li > a {\n padding-top: 15px;\n padding-bottom: 15px;\n }\n}\n.navbar-form {\n padding: 10px 15px;\n margin-right: -15px;\n margin-left: -15px;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);\n margin-top: 8px;\n margin-bottom: 8px;\n}\n@media (min-width: 768px) {\n .navbar-form .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .form-control {\n display: inline-block;\n width: auto;\n vertical-align: middle;\n }\n .navbar-form .form-control-static {\n display: inline-block;\n }\n .navbar-form .input-group {\n display: inline-table;\n vertical-align: middle;\n }\n .navbar-form .input-group .input-group-addon,\n .navbar-form .input-group .input-group-btn,\n .navbar-form .input-group .form-control {\n width: auto;\n }\n .navbar-form .input-group > .form-control {\n width: 100%;\n }\n .navbar-form .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio,\n .navbar-form .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n }\n .navbar-form .radio label,\n .navbar-form .checkbox label {\n padding-left: 0;\n }\n .navbar-form .radio input[type=\"radio\"],\n .navbar-form .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n .navbar-form .has-feedback .form-control-feedback {\n top: 0;\n }\n}\n@media (max-width: 767px) {\n .navbar-form .form-group {\n margin-bottom: 5px;\n }\n .navbar-form .form-group:last-child {\n margin-bottom: 0;\n }\n}\n@media (min-width: 768px) {\n .navbar-form {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n -webkit-box-shadow: none;\n box-shadow: none;\n }\n}\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n.navbar-btn {\n margin-top: 8px;\n margin-bottom: 8px;\n}\n.navbar-btn.btn-sm {\n margin-top: 10px;\n margin-bottom: 10px;\n}\n.navbar-btn.btn-xs {\n margin-top: 14px;\n margin-bottom: 14px;\n}\n.navbar-text {\n margin-top: 15px;\n margin-bottom: 15px;\n}\n@media (min-width: 768px) {\n .navbar-text {\n float: left;\n margin-right: 15px;\n margin-left: 15px;\n }\n}\n@media (min-width: 768px) {\n .navbar-left {\n float: left !important;\n }\n .navbar-right {\n float: right !important;\n margin-right: -15px;\n }\n .navbar-right ~ .navbar-right {\n margin-right: 0;\n }\n}\n.navbar-default {\n background-color: #f8f8f8;\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-brand {\n color: #777;\n}\n.navbar-default .navbar-brand:hover,\n.navbar-default .navbar-brand:focus {\n color: #5e5e5e;\n background-color: transparent;\n}\n.navbar-default .navbar-text {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a {\n color: #777;\n}\n.navbar-default .navbar-nav > li > a:hover,\n.navbar-default .navbar-nav > li > a:focus {\n color: #333;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .active > a,\n.navbar-default .navbar-nav > .active > a:hover,\n.navbar-default .navbar-nav > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n.navbar-default .navbar-nav > .disabled > a,\n.navbar-default .navbar-nav > .disabled > a:hover,\n.navbar-default .navbar-nav > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n}\n.navbar-default .navbar-nav > .open > a,\n.navbar-default .navbar-nav > .open > a:hover,\n.navbar-default .navbar-nav > .open > a:focus {\n color: #555;\n background-color: #e7e7e7;\n}\n@media (max-width: 767px) {\n .navbar-default .navbar-nav .open .dropdown-menu > li > a {\n color: #777;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #333;\n background-color: transparent;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #555;\n background-color: #e7e7e7;\n }\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #ccc;\n background-color: transparent;\n }\n}\n.navbar-default .navbar-toggle {\n border-color: #ddd;\n}\n.navbar-default .navbar-toggle:hover,\n.navbar-default .navbar-toggle:focus {\n background-color: #ddd;\n}\n.navbar-default .navbar-toggle .icon-bar {\n background-color: #888;\n}\n.navbar-default .navbar-collapse,\n.navbar-default .navbar-form {\n border-color: #e7e7e7;\n}\n.navbar-default .navbar-link {\n color: #777;\n}\n.navbar-default .navbar-link:hover {\n color: #333;\n}\n.navbar-default .btn-link {\n color: #777;\n}\n.navbar-default .btn-link:hover,\n.navbar-default .btn-link:focus {\n color: #333;\n}\n.navbar-default .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-default .btn-link:hover,\n.navbar-default .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-default .btn-link:focus {\n color: #ccc;\n}\n.navbar-inverse {\n background-color: #222;\n border-color: #080808;\n}\n.navbar-inverse .navbar-brand {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-brand:hover,\n.navbar-inverse .navbar-brand:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-text {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-nav > li > a:hover,\n.navbar-inverse .navbar-nav > li > a:focus {\n color: #fff;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .active > a,\n.navbar-inverse .navbar-nav > .active > a:hover,\n.navbar-inverse .navbar-nav > .active > a:focus {\n color: #fff;\n background-color: #080808;\n}\n.navbar-inverse .navbar-nav > .disabled > a,\n.navbar-inverse .navbar-nav > .disabled > a:hover,\n.navbar-inverse .navbar-nav > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n}\n.navbar-inverse .navbar-nav > .open > a,\n.navbar-inverse .navbar-nav > .open > a:hover,\n.navbar-inverse .navbar-nav > .open > a:focus {\n color: #fff;\n background-color: #080808;\n}\n@media (max-width: 767px) {\n .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {\n border-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu .divider {\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {\n color: #9d9d9d;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {\n color: #fff;\n background-color: transparent;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {\n color: #fff;\n background-color: #080808;\n }\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,\n .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {\n color: #444;\n background-color: transparent;\n }\n}\n.navbar-inverse .navbar-toggle {\n border-color: #333;\n}\n.navbar-inverse .navbar-toggle:hover,\n.navbar-inverse .navbar-toggle:focus {\n background-color: #333;\n}\n.navbar-inverse .navbar-toggle .icon-bar {\n background-color: #fff;\n}\n.navbar-inverse .navbar-collapse,\n.navbar-inverse .navbar-form {\n border-color: #101010;\n}\n.navbar-inverse .navbar-link {\n color: #9d9d9d;\n}\n.navbar-inverse .navbar-link:hover {\n color: #fff;\n}\n.navbar-inverse .btn-link {\n color: #9d9d9d;\n}\n.navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link:focus {\n color: #fff;\n}\n.navbar-inverse .btn-link[disabled]:hover,\nfieldset[disabled] .navbar-inverse .btn-link:hover,\n.navbar-inverse .btn-link[disabled]:focus,\nfieldset[disabled] .navbar-inverse .btn-link:focus {\n color: #444;\n}\n.breadcrumb {\n padding: 8px 15px;\n margin-bottom: 20px;\n list-style: none;\n background-color: #f5f5f5;\n border-radius: 4px;\n}\n.breadcrumb > li {\n display: inline-block;\n}\n.breadcrumb > li + li:before {\n padding: 0 5px;\n color: #ccc;\n content: \"/\\00a0\";\n}\n.breadcrumb > .active {\n color: #777777;\n}\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: 20px 0;\n border-radius: 4px;\n}\n.pagination > li {\n display: inline;\n}\n.pagination > li > a,\n.pagination > li > span {\n position: relative;\n float: left;\n padding: 6px 12px;\n margin-left: -1px;\n line-height: 1.42857143;\n color: #337ab7;\n text-decoration: none;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.pagination > li > a:hover,\n.pagination > li > span:hover,\n.pagination > li > a:focus,\n.pagination > li > span:focus {\n z-index: 2;\n color: #23527c;\n background-color: #eeeeee;\n border-color: #ddd;\n}\n.pagination > li:first-child > a,\n.pagination > li:first-child > span {\n margin-left: 0;\n border-top-left-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.pagination > li:last-child > a,\n.pagination > li:last-child > span {\n border-top-right-radius: 4px;\n border-bottom-right-radius: 4px;\n}\n.pagination > .active > a,\n.pagination > .active > span,\n.pagination > .active > a:hover,\n.pagination > .active > span:hover,\n.pagination > .active > a:focus,\n.pagination > .active > span:focus {\n z-index: 3;\n color: #fff;\n cursor: default;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.pagination > .disabled > span,\n.pagination > .disabled > span:hover,\n.pagination > .disabled > span:focus,\n.pagination > .disabled > a,\n.pagination > .disabled > a:hover,\n.pagination > .disabled > a:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n border-color: #ddd;\n}\n.pagination-lg > li > a,\n.pagination-lg > li > span {\n padding: 10px 16px;\n font-size: 18px;\n line-height: 1.3333333;\n}\n.pagination-lg > li:first-child > a,\n.pagination-lg > li:first-child > span {\n border-top-left-radius: 6px;\n border-bottom-left-radius: 6px;\n}\n.pagination-lg > li:last-child > a,\n.pagination-lg > li:last-child > span {\n border-top-right-radius: 6px;\n border-bottom-right-radius: 6px;\n}\n.pagination-sm > li > a,\n.pagination-sm > li > span {\n padding: 5px 10px;\n font-size: 12px;\n line-height: 1.5;\n}\n.pagination-sm > li:first-child > a,\n.pagination-sm > li:first-child > span {\n border-top-left-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.pagination-sm > li:last-child > a,\n.pagination-sm > li:last-child > span {\n border-top-right-radius: 3px;\n border-bottom-right-radius: 3px;\n}\n.pager {\n padding-left: 0;\n margin: 20px 0;\n text-align: center;\n list-style: none;\n}\n.pager li {\n display: inline;\n}\n.pager li > a,\n.pager li > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 15px;\n}\n.pager li > a:hover,\n.pager li > a:focus {\n text-decoration: none;\n background-color: #eeeeee;\n}\n.pager .next > a,\n.pager .next > span {\n float: right;\n}\n.pager .previous > a,\n.pager .previous > span {\n float: left;\n}\n.pager .disabled > a,\n.pager .disabled > a:hover,\n.pager .disabled > a:focus,\n.pager .disabled > span {\n color: #777777;\n cursor: not-allowed;\n background-color: #fff;\n}\n.label {\n display: inline;\n padding: 0.2em 0.6em 0.3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: 0.25em;\n}\na.label:hover,\na.label:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.label:empty {\n display: none;\n}\n.btn .label {\n position: relative;\n top: -1px;\n}\n.label-default {\n background-color: #777777;\n}\n.label-default[href]:hover,\n.label-default[href]:focus {\n background-color: #5e5e5e;\n}\n.label-primary {\n background-color: #337ab7;\n}\n.label-primary[href]:hover,\n.label-primary[href]:focus {\n background-color: #286090;\n}\n.label-success {\n background-color: #5cb85c;\n}\n.label-success[href]:hover,\n.label-success[href]:focus {\n background-color: #449d44;\n}\n.label-info {\n background-color: #5bc0de;\n}\n.label-info[href]:hover,\n.label-info[href]:focus {\n background-color: #31b0d5;\n}\n.label-warning {\n background-color: #f0ad4e;\n}\n.label-warning[href]:hover,\n.label-warning[href]:focus {\n background-color: #ec971f;\n}\n.label-danger {\n background-color: #d9534f;\n}\n.label-danger[href]:hover,\n.label-danger[href]:focus {\n background-color: #c9302c;\n}\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: 12px;\n font-weight: bold;\n line-height: 1;\n color: #fff;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: #777777;\n border-radius: 10px;\n}\n.badge:empty {\n display: none;\n}\n.btn .badge {\n position: relative;\n top: -1px;\n}\n.btn-xs .badge,\n.btn-group-xs > .btn .badge {\n top: 0;\n padding: 1px 5px;\n}\na.badge:hover,\na.badge:focus {\n color: #fff;\n text-decoration: none;\n cursor: pointer;\n}\n.list-group-item.active > .badge,\n.nav-pills > .active > a > .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.list-group-item > .badge {\n float: right;\n}\n.list-group-item > .badge + .badge {\n margin-right: 5px;\n}\n.nav-pills > li > a > .badge {\n margin-left: 3px;\n}\n.jumbotron {\n padding-top: 30px;\n padding-bottom: 30px;\n margin-bottom: 30px;\n color: inherit;\n background-color: #eeeeee;\n}\n.jumbotron h1,\n.jumbotron .h1 {\n color: inherit;\n}\n.jumbotron p {\n margin-bottom: 15px;\n font-size: 21px;\n font-weight: 200;\n}\n.jumbotron > hr {\n border-top-color: #d5d5d5;\n}\n.container .jumbotron,\n.container-fluid .jumbotron {\n padding-right: 15px;\n padding-left: 15px;\n border-radius: 6px;\n}\n.jumbotron .container {\n max-width: 100%;\n}\n@media screen and (min-width: 768px) {\n .jumbotron {\n padding-top: 48px;\n padding-bottom: 48px;\n }\n .container .jumbotron,\n .container-fluid .jumbotron {\n padding-right: 60px;\n padding-left: 60px;\n }\n .jumbotron h1,\n .jumbotron .h1 {\n font-size: 63px;\n }\n}\n.thumbnail {\n display: block;\n padding: 4px;\n margin-bottom: 20px;\n line-height: 1.42857143;\n background-color: #fff;\n border: 1px solid #ddd;\n border-radius: 4px;\n -webkit-transition: border 0.2s ease-in-out;\n -o-transition: border 0.2s ease-in-out;\n transition: border 0.2s ease-in-out;\n}\n.thumbnail > img,\n.thumbnail a > img {\n margin-right: auto;\n margin-left: auto;\n}\na.thumbnail:hover,\na.thumbnail:focus,\na.thumbnail.active {\n border-color: #337ab7;\n}\n.thumbnail .caption {\n padding: 9px;\n color: #333333;\n}\n.alert {\n padding: 15px;\n margin-bottom: 20px;\n border: 1px solid transparent;\n border-radius: 4px;\n}\n.alert h4 {\n margin-top: 0;\n color: inherit;\n}\n.alert .alert-link {\n font-weight: bold;\n}\n.alert > p,\n.alert > ul {\n margin-bottom: 0;\n}\n.alert > p + p {\n margin-top: 5px;\n}\n.alert-dismissable,\n.alert-dismissible {\n padding-right: 35px;\n}\n.alert-dismissable .close,\n.alert-dismissible .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n}\n.alert-success {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.alert-success hr {\n border-top-color: #c9e2b3;\n}\n.alert-success .alert-link {\n color: #2b542c;\n}\n.alert-info {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.alert-info hr {\n border-top-color: #a6e1ec;\n}\n.alert-info .alert-link {\n color: #245269;\n}\n.alert-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.alert-warning hr {\n border-top-color: #f7e1b5;\n}\n.alert-warning .alert-link {\n color: #66512c;\n}\n.alert-danger {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.alert-danger hr {\n border-top-color: #e4b9c0;\n}\n.alert-danger .alert-link {\n color: #843534;\n}\n@-webkit-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@-o-keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n@keyframes progress-bar-stripes {\n from {\n background-position: 40px 0;\n }\n to {\n background-position: 0 0;\n }\n}\n.progress {\n height: 20px;\n margin-bottom: 20px;\n overflow: hidden;\n background-color: #f5f5f5;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);\n}\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: 12px;\n line-height: 20px;\n color: #fff;\n text-align: center;\n background-color: #337ab7;\n -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);\n -webkit-transition: width 0.6s ease;\n -o-transition: width 0.6s ease;\n transition: width 0.6s ease;\n}\n.progress-striped .progress-bar,\n.progress-bar-striped {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n -webkit-background-size: 40px 40px;\n background-size: 40px 40px;\n}\n.progress.active .progress-bar,\n.progress-bar.active {\n -webkit-animation: progress-bar-stripes 2s linear infinite;\n -o-animation: progress-bar-stripes 2s linear infinite;\n animation: progress-bar-stripes 2s linear infinite;\n}\n.progress-bar-success {\n background-color: #5cb85c;\n}\n.progress-striped .progress-bar-success {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-info {\n background-color: #5bc0de;\n}\n.progress-striped .progress-bar-info {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-warning {\n background-color: #f0ad4e;\n}\n.progress-striped .progress-bar-warning {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.progress-bar-danger {\n background-color: #d9534f;\n}\n.progress-striped .progress-bar-danger {\n background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);\n}\n.media {\n margin-top: 15px;\n}\n.media:first-child {\n margin-top: 0;\n}\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n.media-body {\n width: 10000px;\n}\n.media-object {\n display: block;\n}\n.media-object.img-thumbnail {\n max-width: none;\n}\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n.media-middle {\n vertical-align: middle;\n}\n.media-bottom {\n vertical-align: bottom;\n}\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n.list-group {\n padding-left: 0;\n margin-bottom: 20px;\n}\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n margin-bottom: -1px;\n background-color: #fff;\n border: 1px solid #ddd;\n}\n.list-group-item:first-child {\n border-top-left-radius: 4px;\n border-top-right-radius: 4px;\n}\n.list-group-item:last-child {\n margin-bottom: 0;\n border-bottom-right-radius: 4px;\n border-bottom-left-radius: 4px;\n}\n.list-group-item.disabled,\n.list-group-item.disabled:hover,\n.list-group-item.disabled:focus {\n color: #777777;\n cursor: not-allowed;\n background-color: #eeeeee;\n}\n.list-group-item.disabled .list-group-item-heading,\n.list-group-item.disabled:hover .list-group-item-heading,\n.list-group-item.disabled:focus .list-group-item-heading {\n color: inherit;\n}\n.list-group-item.disabled .list-group-item-text,\n.list-group-item.disabled:hover .list-group-item-text,\n.list-group-item.disabled:focus .list-group-item-text {\n color: #777777;\n}\n.list-group-item.active,\n.list-group-item.active:hover,\n.list-group-item.active:focus {\n z-index: 2;\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.list-group-item.active .list-group-item-heading,\n.list-group-item.active:hover .list-group-item-heading,\n.list-group-item.active:focus .list-group-item-heading,\n.list-group-item.active .list-group-item-heading > small,\n.list-group-item.active:hover .list-group-item-heading > small,\n.list-group-item.active:focus .list-group-item-heading > small,\n.list-group-item.active .list-group-item-heading > .small,\n.list-group-item.active:hover .list-group-item-heading > .small,\n.list-group-item.active:focus .list-group-item-heading > .small {\n color: inherit;\n}\n.list-group-item.active .list-group-item-text,\n.list-group-item.active:hover .list-group-item-text,\n.list-group-item.active:focus .list-group-item-text {\n color: #c7ddef;\n}\na.list-group-item,\nbutton.list-group-item {\n color: #555;\n}\na.list-group-item .list-group-item-heading,\nbutton.list-group-item .list-group-item-heading {\n color: #333;\n}\na.list-group-item:hover,\nbutton.list-group-item:hover,\na.list-group-item:focus,\nbutton.list-group-item:focus {\n color: #555;\n text-decoration: none;\n background-color: #f5f5f5;\n}\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n.list-group-item-success {\n color: #3c763d;\n background-color: #dff0d8;\n}\na.list-group-item-success,\nbutton.list-group-item-success {\n color: #3c763d;\n}\na.list-group-item-success .list-group-item-heading,\nbutton.list-group-item-success .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-success:hover,\nbutton.list-group-item-success:hover,\na.list-group-item-success:focus,\nbutton.list-group-item-success:focus {\n color: #3c763d;\n background-color: #d0e9c6;\n}\na.list-group-item-success.active,\nbutton.list-group-item-success.active,\na.list-group-item-success.active:hover,\nbutton.list-group-item-success.active:hover,\na.list-group-item-success.active:focus,\nbutton.list-group-item-success.active:focus {\n color: #fff;\n background-color: #3c763d;\n border-color: #3c763d;\n}\n.list-group-item-info {\n color: #31708f;\n background-color: #d9edf7;\n}\na.list-group-item-info,\nbutton.list-group-item-info {\n color: #31708f;\n}\na.list-group-item-info .list-group-item-heading,\nbutton.list-group-item-info .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-info:hover,\nbutton.list-group-item-info:hover,\na.list-group-item-info:focus,\nbutton.list-group-item-info:focus {\n color: #31708f;\n background-color: #c4e3f3;\n}\na.list-group-item-info.active,\nbutton.list-group-item-info.active,\na.list-group-item-info.active:hover,\nbutton.list-group-item-info.active:hover,\na.list-group-item-info.active:focus,\nbutton.list-group-item-info.active:focus {\n color: #fff;\n background-color: #31708f;\n border-color: #31708f;\n}\n.list-group-item-warning {\n color: #8a6d3b;\n background-color: #fcf8e3;\n}\na.list-group-item-warning,\nbutton.list-group-item-warning {\n color: #8a6d3b;\n}\na.list-group-item-warning .list-group-item-heading,\nbutton.list-group-item-warning .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-warning:hover,\nbutton.list-group-item-warning:hover,\na.list-group-item-warning:focus,\nbutton.list-group-item-warning:focus {\n color: #8a6d3b;\n background-color: #faf2cc;\n}\na.list-group-item-warning.active,\nbutton.list-group-item-warning.active,\na.list-group-item-warning.active:hover,\nbutton.list-group-item-warning.active:hover,\na.list-group-item-warning.active:focus,\nbutton.list-group-item-warning.active:focus {\n color: #fff;\n background-color: #8a6d3b;\n border-color: #8a6d3b;\n}\n.list-group-item-danger {\n color: #a94442;\n background-color: #f2dede;\n}\na.list-group-item-danger,\nbutton.list-group-item-danger {\n color: #a94442;\n}\na.list-group-item-danger .list-group-item-heading,\nbutton.list-group-item-danger .list-group-item-heading {\n color: inherit;\n}\na.list-group-item-danger:hover,\nbutton.list-group-item-danger:hover,\na.list-group-item-danger:focus,\nbutton.list-group-item-danger:focus {\n color: #a94442;\n background-color: #ebcccc;\n}\na.list-group-item-danger.active,\nbutton.list-group-item-danger.active,\na.list-group-item-danger.active:hover,\nbutton.list-group-item-danger.active:hover,\na.list-group-item-danger.active:focus,\nbutton.list-group-item-danger.active:focus {\n color: #fff;\n background-color: #a94442;\n border-color: #a94442;\n}\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n.panel {\n margin-bottom: 20px;\n background-color: #fff;\n border: 1px solid transparent;\n border-radius: 4px;\n -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.panel-body {\n padding: 15px;\n}\n.panel-heading {\n padding: 10px 15px;\n border-bottom: 1px solid transparent;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel-heading > .dropdown .dropdown-toggle {\n color: inherit;\n}\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: 16px;\n color: inherit;\n}\n.panel-title > a,\n.panel-title > small,\n.panel-title > .small,\n.panel-title > small > a,\n.panel-title > .small > a {\n color: inherit;\n}\n.panel-footer {\n padding: 10px 15px;\n background-color: #f5f5f5;\n border-top: 1px solid #ddd;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .list-group,\n.panel > .panel-collapse > .list-group {\n margin-bottom: 0;\n}\n.panel > .list-group .list-group-item,\n.panel > .panel-collapse > .list-group .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n}\n.panel > .list-group:first-child .list-group-item:first-child,\n.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {\n border-top: 0;\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .list-group:last-child .list-group-item:last-child,\n.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {\n border-bottom: 0;\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n}\n.panel-heading + .list-group .list-group-item:first-child {\n border-top-width: 0;\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n.panel > .table,\n.panel > .table-responsive > .table,\n.panel > .panel-collapse > .table {\n margin-bottom: 0;\n}\n.panel > .table caption,\n.panel > .table-responsive > .table caption,\n.panel > .panel-collapse > .table caption {\n padding-right: 15px;\n padding-left: 15px;\n}\n.panel > .table:first-child,\n.panel > .table-responsive:first-child > .table:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {\n border-top-left-radius: 3px;\n border-top-right-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {\n border-top-left-radius: 3px;\n}\n.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,\n.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,\n.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,\n.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {\n border-top-right-radius: 3px;\n}\n.panel > .table:last-child,\n.panel > .table-responsive:last-child > .table:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {\n border-bottom-right-radius: 3px;\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {\n border-bottom-left-radius: 3px;\n}\n.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,\n.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,\n.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,\n.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {\n border-bottom-right-radius: 3px;\n}\n.panel > .panel-body + .table,\n.panel > .panel-body + .table-responsive,\n.panel > .table + .panel-body,\n.panel > .table-responsive + .panel-body {\n border-top: 1px solid #ddd;\n}\n.panel > .table > tbody:first-child > tr:first-child th,\n.panel > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n}\n.panel > .table-bordered,\n.panel > .table-responsive > .table-bordered {\n border: 0;\n}\n.panel > .table-bordered > thead > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,\n.panel > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,\n.panel > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,\n.panel > .table-bordered > thead > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,\n.panel > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,\n.panel > .table-bordered > tfoot > tr > td:first-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {\n border-left: 0;\n}\n.panel > .table-bordered > thead > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,\n.panel > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,\n.panel > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,\n.panel > .table-bordered > thead > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,\n.panel > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,\n.panel > .table-bordered > tfoot > tr > td:last-child,\n.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {\n border-right: 0;\n}\n.panel > .table-bordered > thead > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,\n.panel > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,\n.panel > .table-bordered > thead > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,\n.panel > .table-bordered > tbody > tr:first-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {\n border-bottom: 0;\n}\n.panel > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,\n.panel > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,\n.panel > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,\n.panel > .table-bordered > tfoot > tr:last-child > th,\n.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {\n border-bottom: 0;\n}\n.panel > .table-responsive {\n margin-bottom: 0;\n border: 0;\n}\n.panel-group {\n margin-bottom: 20px;\n}\n.panel-group .panel {\n margin-bottom: 0;\n border-radius: 4px;\n}\n.panel-group .panel + .panel {\n margin-top: 5px;\n}\n.panel-group .panel-heading {\n border-bottom: 0;\n}\n.panel-group .panel-heading + .panel-collapse > .panel-body,\n.panel-group .panel-heading + .panel-collapse > .list-group {\n border-top: 1px solid #ddd;\n}\n.panel-group .panel-footer {\n border-top: 0;\n}\n.panel-group .panel-footer + .panel-collapse .panel-body {\n border-bottom: 1px solid #ddd;\n}\n.panel-default {\n border-color: #ddd;\n}\n.panel-default > .panel-heading {\n color: #333333;\n background-color: #f5f5f5;\n border-color: #ddd;\n}\n.panel-default > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ddd;\n}\n.panel-default > .panel-heading .badge {\n color: #f5f5f5;\n background-color: #333333;\n}\n.panel-default > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ddd;\n}\n.panel-primary {\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading {\n color: #fff;\n background-color: #337ab7;\n border-color: #337ab7;\n}\n.panel-primary > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #337ab7;\n}\n.panel-primary > .panel-heading .badge {\n color: #337ab7;\n background-color: #fff;\n}\n.panel-primary > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #337ab7;\n}\n.panel-success {\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading {\n color: #3c763d;\n background-color: #dff0d8;\n border-color: #d6e9c6;\n}\n.panel-success > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #d6e9c6;\n}\n.panel-success > .panel-heading .badge {\n color: #dff0d8;\n background-color: #3c763d;\n}\n.panel-success > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #d6e9c6;\n}\n.panel-info {\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading {\n color: #31708f;\n background-color: #d9edf7;\n border-color: #bce8f1;\n}\n.panel-info > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #bce8f1;\n}\n.panel-info > .panel-heading .badge {\n color: #d9edf7;\n background-color: #31708f;\n}\n.panel-info > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #bce8f1;\n}\n.panel-warning {\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading {\n color: #8a6d3b;\n background-color: #fcf8e3;\n border-color: #faebcc;\n}\n.panel-warning > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #faebcc;\n}\n.panel-warning > .panel-heading .badge {\n color: #fcf8e3;\n background-color: #8a6d3b;\n}\n.panel-warning > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #faebcc;\n}\n.panel-danger {\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading {\n color: #a94442;\n background-color: #f2dede;\n border-color: #ebccd1;\n}\n.panel-danger > .panel-heading + .panel-collapse > .panel-body {\n border-top-color: #ebccd1;\n}\n.panel-danger > .panel-heading .badge {\n color: #f2dede;\n background-color: #a94442;\n}\n.panel-danger > .panel-footer + .panel-collapse > .panel-body {\n border-bottom-color: #ebccd1;\n}\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n}\n.embed-responsive .embed-responsive-item,\n.embed-responsive iframe,\n.embed-responsive embed,\n.embed-responsive object,\n.embed-responsive video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n}\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: #f5f5f5;\n border: 1px solid #e3e3e3;\n border-radius: 4px;\n -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);\n}\n.well blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, 0.15);\n}\n.well-lg {\n padding: 24px;\n border-radius: 6px;\n}\n.well-sm {\n padding: 9px;\n border-radius: 3px;\n}\n.close {\n float: right;\n font-size: 21px;\n font-weight: bold;\n line-height: 1;\n color: #000;\n text-shadow: 0 1px 0 #fff;\n filter: alpha(opacity=20);\n opacity: 0.2;\n}\n.close:hover,\n.close:focus {\n color: #000;\n text-decoration: none;\n cursor: pointer;\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\nbutton.close {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n.modal-open {\n overflow: hidden;\n}\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1050;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n outline: 0;\n}\n.modal.fade .modal-dialog {\n -webkit-transform: translate(0, -25%);\n -ms-transform: translate(0, -25%);\n -o-transform: translate(0, -25%);\n transform: translate(0, -25%);\n -webkit-transition: -webkit-transform 0.3s ease-out;\n -o-transition: -o-transform 0.3s ease-out;\n transition: -webkit-transform 0.3s ease-out;\n transition: transform 0.3s ease-out;\n transition: transform 0.3s ease-out, -webkit-transform 0.3s ease-out, -o-transform 0.3s ease-out;\n}\n.modal.in .modal-dialog {\n -webkit-transform: translate(0, 0);\n -ms-transform: translate(0, 0);\n -o-transform: translate(0, 0);\n transform: translate(0, 0);\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n.modal-content {\n position: relative;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #999;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);\n outline: 0;\n}\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: 1040;\n background-color: #000;\n}\n.modal-backdrop.fade {\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.modal-backdrop.in {\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.modal-header {\n padding: 15px;\n border-bottom: 1px solid #e5e5e5;\n}\n.modal-header .close {\n margin-top: -2px;\n}\n.modal-title {\n margin: 0;\n line-height: 1.42857143;\n}\n.modal-body {\n position: relative;\n padding: 15px;\n}\n.modal-footer {\n padding: 15px;\n text-align: right;\n border-top: 1px solid #e5e5e5;\n}\n.modal-footer .btn + .btn {\n margin-bottom: 0;\n margin-left: 5px;\n}\n.modal-footer .btn-group .btn + .btn {\n margin-left: -1px;\n}\n.modal-footer .btn-block + .btn-block {\n margin-left: 0;\n}\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n@media (min-width: 768px) {\n .modal-dialog {\n width: 600px;\n margin: 30px auto;\n }\n .modal-content {\n -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);\n }\n .modal-sm {\n width: 300px;\n }\n}\n@media (min-width: 992px) {\n .modal-lg {\n width: 900px;\n }\n}\n.tooltip {\n position: absolute;\n z-index: 1070;\n display: block;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 12px;\n filter: alpha(opacity=0);\n opacity: 0;\n}\n.tooltip.in {\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.tooltip.top {\n padding: 5px 0;\n margin-top: -3px;\n}\n.tooltip.right {\n padding: 0 5px;\n margin-left: 3px;\n}\n.tooltip.bottom {\n padding: 5px 0;\n margin-top: 3px;\n}\n.tooltip.left {\n padding: 0 5px;\n margin-left: -3px;\n}\n.tooltip.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-left .tooltip-arrow {\n right: 5px;\n bottom: 0;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.top-right .tooltip-arrow {\n bottom: 0;\n left: 5px;\n margin-bottom: -5px;\n border-width: 5px 5px 0;\n border-top-color: #000;\n}\n.tooltip.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -5px;\n border-width: 5px 5px 5px 0;\n border-right-color: #000;\n}\n.tooltip.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -5px;\n border-width: 5px 0 5px 5px;\n border-left-color: #000;\n}\n.tooltip.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-left .tooltip-arrow {\n top: 0;\n right: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip.bottom-right .tooltip-arrow {\n top: 0;\n left: 5px;\n margin-top: -5px;\n border-width: 0 5px 5px;\n border-bottom-color: #000;\n}\n.tooltip-inner {\n max-width: 200px;\n padding: 3px 8px;\n color: #fff;\n text-align: center;\n background-color: #000;\n border-radius: 4px;\n}\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: 1060;\n display: none;\n max-width: 276px;\n padding: 1px;\n font-family: \"Helvetica Neue\", Helvetica, Arial, sans-serif;\n font-style: normal;\n font-weight: 400;\n line-height: 1.42857143;\n line-break: auto;\n text-align: left;\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n font-size: 14px;\n background-color: #fff;\n background-clip: padding-box;\n border: 1px solid #ccc;\n border: 1px solid rgba(0, 0, 0, 0.2);\n border-radius: 6px;\n -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);\n}\n.popover.top {\n margin-top: -10px;\n}\n.popover.right {\n margin-left: 10px;\n}\n.popover.bottom {\n margin-top: 10px;\n}\n.popover.left {\n margin-left: -10px;\n}\n.popover > .arrow {\n border-width: 11px;\n}\n.popover > .arrow,\n.popover > .arrow:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n.popover > .arrow:after {\n content: \"\";\n border-width: 10px;\n}\n.popover.top > .arrow {\n bottom: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-color: #999999;\n border-top-color: rgba(0, 0, 0, 0.25);\n border-bottom-width: 0;\n}\n.popover.top > .arrow:after {\n bottom: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-color: #fff;\n border-bottom-width: 0;\n}\n.popover.right > .arrow {\n top: 50%;\n left: -11px;\n margin-top: -11px;\n border-right-color: #999999;\n border-right-color: rgba(0, 0, 0, 0.25);\n border-left-width: 0;\n}\n.popover.right > .arrow:after {\n bottom: -10px;\n left: 1px;\n content: \" \";\n border-right-color: #fff;\n border-left-width: 0;\n}\n.popover.bottom > .arrow {\n top: -11px;\n left: 50%;\n margin-left: -11px;\n border-top-width: 0;\n border-bottom-color: #999999;\n border-bottom-color: rgba(0, 0, 0, 0.25);\n}\n.popover.bottom > .arrow:after {\n top: 1px;\n margin-left: -10px;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: #fff;\n}\n.popover.left > .arrow {\n top: 50%;\n right: -11px;\n margin-top: -11px;\n border-right-width: 0;\n border-left-color: #999999;\n border-left-color: rgba(0, 0, 0, 0.25);\n}\n.popover.left > .arrow:after {\n right: 1px;\n bottom: -10px;\n content: \" \";\n border-right-width: 0;\n border-left-color: #fff;\n}\n.popover-title {\n padding: 8px 14px;\n margin: 0;\n font-size: 14px;\n background-color: #f7f7f7;\n border-bottom: 1px solid #ebebeb;\n border-radius: 5px 5px 0 0;\n}\n.popover-content {\n padding: 9px 14px;\n}\n.carousel {\n position: relative;\n}\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n}\n.carousel-inner > .item {\n position: relative;\n display: none;\n -webkit-transition: 0.6s ease-in-out left;\n -o-transition: 0.6s ease-in-out left;\n transition: 0.6s ease-in-out left;\n}\n.carousel-inner > .item > img,\n.carousel-inner > .item > a > img {\n line-height: 1;\n}\n@media all and (transform-3d), (-webkit-transform-3d) {\n .carousel-inner > .item {\n -webkit-transition: -webkit-transform 0.6s ease-in-out;\n -o-transition: -o-transform 0.6s ease-in-out;\n transition: -webkit-transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out;\n transition: transform 0.6s ease-in-out, -webkit-transform 0.6s ease-in-out, -o-transform 0.6s ease-in-out;\n -webkit-backface-visibility: hidden;\n backface-visibility: hidden;\n -webkit-perspective: 1000px;\n perspective: 1000px;\n }\n .carousel-inner > .item.next,\n .carousel-inner > .item.active.right {\n -webkit-transform: translate3d(100%, 0, 0);\n transform: translate3d(100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.prev,\n .carousel-inner > .item.active.left {\n -webkit-transform: translate3d(-100%, 0, 0);\n transform: translate3d(-100%, 0, 0);\n left: 0;\n }\n .carousel-inner > .item.next.left,\n .carousel-inner > .item.prev.right,\n .carousel-inner > .item.active {\n -webkit-transform: translate3d(0, 0, 0);\n transform: translate3d(0, 0, 0);\n left: 0;\n }\n}\n.carousel-inner > .active,\n.carousel-inner > .next,\n.carousel-inner > .prev {\n display: block;\n}\n.carousel-inner > .active {\n left: 0;\n}\n.carousel-inner > .next,\n.carousel-inner > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n}\n.carousel-inner > .next {\n left: 100%;\n}\n.carousel-inner > .prev {\n left: -100%;\n}\n.carousel-inner > .next.left,\n.carousel-inner > .prev.right {\n left: 0;\n}\n.carousel-inner > .active.left {\n left: -100%;\n}\n.carousel-inner > .active.right {\n left: 100%;\n}\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 15%;\n font-size: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n background-color: rgba(0, 0, 0, 0);\n filter: alpha(opacity=50);\n opacity: 0.5;\n}\n.carousel-control.left {\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.5)), to(rgba(0, 0, 0, 0.0001)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control.right {\n right: 0;\n left: auto;\n background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n background-image: -webkit-gradient(linear, left top, right top, from(rgba(0, 0, 0, 0.0001)), to(rgba(0, 0, 0, 0.5)));\n background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);\n background-repeat: repeat-x;\n}\n.carousel-control:hover,\n.carousel-control:focus {\n color: #fff;\n text-decoration: none;\n outline: 0;\n filter: alpha(opacity=90);\n opacity: 0.9;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-left,\n.carousel-control .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n}\n.carousel-control .icon-next,\n.carousel-control .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n}\n.carousel-control .icon-prev,\n.carousel-control .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n}\n.carousel-control .icon-prev:before {\n content: \"\\2039\";\n}\n.carousel-control .icon-next:before {\n content: \"\\203a\";\n}\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n}\n.carousel-indicators li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n background-color: #000 \\9;\n background-color: rgba(0, 0, 0, 0);\n border: 1px solid #fff;\n border-radius: 10px;\n}\n.carousel-indicators .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: #fff;\n}\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: #fff;\n text-align: center;\n text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);\n}\n.carousel-caption .btn {\n text-shadow: none;\n}\n@media screen and (min-width: 768px) {\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-prev,\n .carousel-control .icon-next {\n width: 30px;\n height: 30px;\n margin-top: -10px;\n font-size: 30px;\n }\n .carousel-control .glyphicon-chevron-left,\n .carousel-control .icon-prev {\n margin-left: -10px;\n }\n .carousel-control .glyphicon-chevron-right,\n .carousel-control .icon-next {\n margin-right: -10px;\n }\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n .carousel-indicators {\n bottom: 20px;\n }\n}\n.clearfix:before,\n.clearfix:after,\n.dl-horizontal dd:before,\n.dl-horizontal dd:after,\n.container:before,\n.container:after,\n.container-fluid:before,\n.container-fluid:after,\n.row:before,\n.row:after,\n.form-horizontal .form-group:before,\n.form-horizontal .form-group:after,\n.btn-toolbar:before,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:before,\n.btn-group-vertical > .btn-group:after,\n.nav:before,\n.nav:after,\n.navbar:before,\n.navbar:after,\n.navbar-header:before,\n.navbar-header:after,\n.navbar-collapse:before,\n.navbar-collapse:after,\n.pager:before,\n.pager:after,\n.panel-body:before,\n.panel-body:after,\n.modal-header:before,\n.modal-header:after,\n.modal-footer:before,\n.modal-footer:after {\n display: table;\n content: \" \";\n}\n.clearfix:after,\n.dl-horizontal dd:after,\n.container:after,\n.container-fluid:after,\n.row:after,\n.form-horizontal .form-group:after,\n.btn-toolbar:after,\n.btn-group-vertical > .btn-group:after,\n.nav:after,\n.navbar:after,\n.navbar-header:after,\n.navbar-collapse:after,\n.pager:after,\n.panel-body:after,\n.modal-header:after,\n.modal-footer:after {\n clear: both;\n}\n.center-block {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n font: 0/0 a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n.hidden {\n display: none !important;\n}\n.affix {\n position: fixed;\n}\n@-ms-viewport {\n width: device-width;\n}\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n display: none !important;\n}\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n@media (max-width: 767px) {\n .visible-xs {\n display: block !important;\n }\n table.visible-xs {\n display: table !important;\n }\n tr.visible-xs {\n display: table-row !important;\n }\n th.visible-xs,\n td.visible-xs {\n display: table-cell !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-block {\n display: block !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline {\n display: inline !important;\n }\n}\n@media (max-width: 767px) {\n .visible-xs-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm {\n display: block !important;\n }\n table.visible-sm {\n display: table !important;\n }\n tr.visible-sm {\n display: table-row !important;\n }\n th.visible-sm,\n td.visible-sm {\n display: table-cell !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-block {\n display: block !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline {\n display: inline !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .visible-sm-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md {\n display: block !important;\n }\n table.visible-md {\n display: table !important;\n }\n tr.visible-md {\n display: table-row !important;\n }\n th.visible-md,\n td.visible-md {\n display: table-cell !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-block {\n display: block !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline {\n display: inline !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .visible-md-inline-block {\n display: inline-block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg {\n display: block !important;\n }\n table.visible-lg {\n display: table !important;\n }\n tr.visible-lg {\n display: table-row !important;\n }\n th.visible-lg,\n td.visible-lg {\n display: table-cell !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-block {\n display: block !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline {\n display: inline !important;\n }\n}\n@media (min-width: 1200px) {\n .visible-lg-inline-block {\n display: inline-block !important;\n }\n}\n@media (max-width: 767px) {\n .hidden-xs {\n display: none !important;\n }\n}\n@media (min-width: 768px) and (max-width: 991px) {\n .hidden-sm {\n display: none !important;\n }\n}\n@media (min-width: 992px) and (max-width: 1199px) {\n .hidden-md {\n display: none !important;\n }\n}\n@media (min-width: 1200px) {\n .hidden-lg {\n display: none !important;\n }\n}\n.visible-print {\n display: none !important;\n}\n@media print {\n .visible-print {\n display: block !important;\n }\n table.visible-print {\n display: table !important;\n }\n tr.visible-print {\n display: table-row !important;\n }\n th.visible-print,\n td.visible-print {\n display: table-cell !important;\n }\n}\n.visible-print-block {\n display: none !important;\n}\n@media print {\n .visible-print-block {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n}\n@media print {\n .visible-print-inline {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n}\n@media print {\n .visible-print-inline-block {\n display: inline-block !important;\n }\n}\n@media print {\n .hidden-print {\n display: none !important;\n }\n}\n/*# sourceMappingURL=bootstrap.css.map */","// stylelint-disable declaration-no-important, selector-no-qualifying-type\n\n/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// ==========================================================================\n// Print styles.\n// Inlined to avoid the additional HTTP request: h5bp.com/r\n// ==========================================================================\n\n@media print {\n *,\n *:before,\n *:after {\n color: #000 !important; // Black prints faster: h5bp.com/s\n text-shadow: none !important;\n background: transparent !important;\n box-shadow: none !important;\n }\n\n a,\n a:visited {\n text-decoration: underline;\n }\n\n a[href]:after {\n content: \" (\" attr(href) \")\";\n }\n\n abbr[title]:after {\n content: \" (\" attr(title) \")\";\n }\n\n // Don't show links that are fragment identifiers,\n // or use the `javascript:` pseudo protocol\n a[href^=\"#\"]:after,\n a[href^=\"javascript:\"]:after {\n content: \"\";\n }\n\n pre,\n blockquote {\n border: 1px solid #999;\n page-break-inside: avoid;\n }\n\n thead {\n display: table-header-group; // h5bp.com/t\n }\n\n tr,\n img {\n page-break-inside: avoid;\n }\n\n img {\n max-width: 100% !important;\n }\n\n p,\n h2,\n h3 {\n orphans: 3;\n widows: 3;\n }\n\n h2,\n h3 {\n page-break-after: avoid;\n }\n\n // Bootstrap specific changes start\n\n // Bootstrap components\n .navbar {\n display: none;\n }\n .btn,\n .dropup > .btn {\n > .caret {\n border-top-color: #000 !important;\n }\n }\n .label {\n border: 1px solid #000;\n }\n\n .table {\n border-collapse: collapse !important;\n\n td,\n th {\n background-color: #fff !important;\n }\n }\n .table-bordered {\n th,\n td {\n border: 1px solid #ddd !important;\n }\n }\n}\n","// stylelint-disable value-list-comma-newline-after, value-list-comma-space-after, indentation, declaration-colon-newline-after, font-family-no-missing-generic-family-keyword\n\n//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus automatically sized to match the surrounding child. To use, create an\n// inline element with the appropriate classes, like so:\n//\n// <a href=\"#\"><span class=\"glyphicon glyphicon-star\"></span> Star</a>\n\n// Import the fonts\n@font-face {\n font-family: \"Glyphicons Halflings\";\n src: url(\"@{icon-font-path}@{icon-font-name}.eot\");\n src: url(\"@{icon-font-path}@{icon-font-name}.eot?#iefix\") format(\"embedded-opentype\"),\n url(\"@{icon-font-path}@{icon-font-name}.woff2\") format(\"woff2\"),\n url(\"@{icon-font-path}@{icon-font-name}.woff\") format(\"woff\"),\n url(\"@{icon-font-path}@{icon-font-name}.ttf\") format(\"truetype\"),\n url(\"@{icon-font-path}@{icon-font-name}.svg#@{icon-font-svg-id}\") format(\"svg\");\n}\n\n// Catchall baseclass\n.glyphicon {\n position: relative;\n top: 1px;\n display: inline-block;\n font-family: \"Glyphicons Halflings\";\n font-style: normal;\n font-weight: 400;\n line-height: 1;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n// Individual icons\n.glyphicon-asterisk { &:before { content: \"\\002a\"; } }\n.glyphicon-plus { &:before { content: \"\\002b\"; } }\n.glyphicon-euro,\n.glyphicon-eur { &:before { content: \"\\20ac\"; } }\n.glyphicon-minus { &:before { content: \"\\2212\"; } }\n.glyphicon-cloud { &:before { content: \"\\2601\"; } }\n.glyphicon-envelope { &:before { content: \"\\2709\"; } }\n.glyphicon-pencil { &:before { content: \"\\270f\"; } }\n.glyphicon-glass { &:before { content: \"\\e001\"; } }\n.glyphicon-music { &:before { content: \"\\e002\"; } }\n.glyphicon-search { &:before { content: \"\\e003\"; } }\n.glyphicon-heart { &:before { content: \"\\e005\"; } }\n.glyphicon-star { &:before { content: \"\\e006\"; } }\n.glyphicon-star-empty { &:before { content: \"\\e007\"; } }\n.glyphicon-user { &:before { content: \"\\e008\"; } }\n.glyphicon-film { &:before { content: \"\\e009\"; } }\n.glyphicon-th-large { &:before { content: \"\\e010\"; } }\n.glyphicon-th { &:before { content: \"\\e011\"; } }\n.glyphicon-th-list { &:before { content: \"\\e012\"; } }\n.glyphicon-ok { &:before { content: \"\\e013\"; } }\n.glyphicon-remove { &:before { content: \"\\e014\"; } }\n.glyphicon-zoom-in { &:before { content: \"\\e015\"; } }\n.glyphicon-zoom-out { &:before { content: \"\\e016\"; } }\n.glyphicon-off { &:before { content: \"\\e017\"; } }\n.glyphicon-signal { &:before { content: \"\\e018\"; } }\n.glyphicon-cog { &:before { content: \"\\e019\"; } }\n.glyphicon-trash { &:before { content: \"\\e020\"; } }\n.glyphicon-home { &:before { content: \"\\e021\"; } }\n.glyphicon-file { &:before { content: \"\\e022\"; } }\n.glyphicon-time { &:before { content: \"\\e023\"; } }\n.glyphicon-road { &:before { content: \"\\e024\"; } }\n.glyphicon-download-alt { &:before { content: \"\\e025\"; } }\n.glyphicon-download { &:before { content: \"\\e026\"; } }\n.glyphicon-upload { &:before { content: \"\\e027\"; } }\n.glyphicon-inbox { &:before { content: \"\\e028\"; } }\n.glyphicon-play-circle { &:before { content: \"\\e029\"; } }\n.glyphicon-repeat { &:before { content: \"\\e030\"; } }\n.glyphicon-refresh { &:before { content: \"\\e031\"; } }\n.glyphicon-list-alt { &:before { content: \"\\e032\"; } }\n.glyphicon-lock { &:before { content: \"\\e033\"; } }\n.glyphicon-flag { &:before { content: \"\\e034\"; } }\n.glyphicon-headphones { &:before { content: \"\\e035\"; } }\n.glyphicon-volume-off { &:before { content: \"\\e036\"; } }\n.glyphicon-volume-down { &:before { content: \"\\e037\"; } }\n.glyphicon-volume-up { &:before { content: \"\\e038\"; } }\n.glyphicon-qrcode { &:before { content: \"\\e039\"; } }\n.glyphicon-barcode { &:before { content: \"\\e040\"; } }\n.glyphicon-tag { &:before { content: \"\\e041\"; } }\n.glyphicon-tags { &:before { content: \"\\e042\"; } }\n.glyphicon-book { &:before { content: \"\\e043\"; } }\n.glyphicon-bookmark { &:before { content: \"\\e044\"; } }\n.glyphicon-print { &:before { content: \"\\e045\"; } }\n.glyphicon-camera { &:before { content: \"\\e046\"; } }\n.glyphicon-font { &:before { content: \"\\e047\"; } }\n.glyphicon-bold { &:before { content: \"\\e048\"; } }\n.glyphicon-italic { &:before { content: \"\\e049\"; } }\n.glyphicon-text-height { &:before { content: \"\\e050\"; } }\n.glyphicon-text-width { &:before { content: \"\\e051\"; } }\n.glyphicon-align-left { &:before { content: \"\\e052\"; } }\n.glyphicon-align-center { &:before { content: \"\\e053\"; } }\n.glyphicon-align-right { &:before { content: \"\\e054\"; } }\n.glyphicon-align-justify { &:before { content: \"\\e055\"; } }\n.glyphicon-list { &:before { content: \"\\e056\"; } }\n.glyphicon-indent-left { &:before { content: \"\\e057\"; } }\n.glyphicon-indent-right { &:before { content: \"\\e058\"; } }\n.glyphicon-facetime-video { &:before { content: \"\\e059\"; } }\n.glyphicon-picture { &:before { content: \"\\e060\"; } }\n.glyphicon-map-marker { &:before { content: \"\\e062\"; } }\n.glyphicon-adjust { &:before { content: \"\\e063\"; } }\n.glyphicon-tint { &:before { content: \"\\e064\"; } }\n.glyphicon-edit { &:before { content: \"\\e065\"; } }\n.glyphicon-share { &:before { content: \"\\e066\"; } }\n.glyphicon-check { &:before { content: \"\\e067\"; } }\n.glyphicon-move { &:before { content: \"\\e068\"; } }\n.glyphicon-step-backward { &:before { content: \"\\e069\"; } }\n.glyphicon-fast-backward { &:before { content: \"\\e070\"; } }\n.glyphicon-backward { &:before { content: \"\\e071\"; } }\n.glyphicon-play { &:before { content: \"\\e072\"; } }\n.glyphicon-pause { &:before { content: \"\\e073\"; } }\n.glyphicon-stop { &:before { content: \"\\e074\"; } }\n.glyphicon-forward { &:before { content: \"\\e075\"; } }\n.glyphicon-fast-forward { &:before { content: \"\\e076\"; } }\n.glyphicon-step-forward { &:before { content: \"\\e077\"; } }\n.glyphicon-eject { &:before { content: \"\\e078\"; } }\n.glyphicon-chevron-left { &:before { content: \"\\e079\"; } }\n.glyphicon-chevron-right { &:before { content: \"\\e080\"; } }\n.glyphicon-plus-sign { &:before { content: \"\\e081\"; } }\n.glyphicon-minus-sign { &:before { content: \"\\e082\"; } }\n.glyphicon-remove-sign { &:before { content: \"\\e083\"; } }\n.glyphicon-ok-sign { &:before { content: \"\\e084\"; } }\n.glyphicon-question-sign { &:before { content: \"\\e085\"; } }\n.glyphicon-info-sign { &:before { content: \"\\e086\"; } }\n.glyphicon-screenshot { &:before { content: \"\\e087\"; } }\n.glyphicon-remove-circle { &:before { content: \"\\e088\"; } }\n.glyphicon-ok-circle { &:before { content: \"\\e089\"; } }\n.glyphicon-ban-circle { &:before { content: \"\\e090\"; } }\n.glyphicon-arrow-left { &:before { content: \"\\e091\"; } }\n.glyphicon-arrow-right { &:before { content: \"\\e092\"; } }\n.glyphicon-arrow-up { &:before { content: \"\\e093\"; } }\n.glyphicon-arrow-down { &:before { content: \"\\e094\"; } }\n.glyphicon-share-alt { &:before { content: \"\\e095\"; } }\n.glyphicon-resize-full { &:before { content: \"\\e096\"; } }\n.glyphicon-resize-small { &:before { content: \"\\e097\"; } }\n.glyphicon-exclamation-sign { &:before { content: \"\\e101\"; } }\n.glyphicon-gift { &:before { content: \"\\e102\"; } }\n.glyphicon-leaf { &:before { content: \"\\e103\"; } }\n.glyphicon-fire { &:before { content: \"\\e104\"; } }\n.glyphicon-eye-open { &:before { content: \"\\e105\"; } }\n.glyphicon-eye-close { &:before { content: \"\\e106\"; } }\n.glyphicon-warning-sign { &:before { content: \"\\e107\"; } }\n.glyphicon-plane { &:before { content: \"\\e108\"; } }\n.glyphicon-calendar { &:before { content: \"\\e109\"; } }\n.glyphicon-random { &:before { content: \"\\e110\"; } }\n.glyphicon-comment { &:before { content: \"\\e111\"; } }\n.glyphicon-magnet { &:before { content: \"\\e112\"; } }\n.glyphicon-chevron-up { &:before { content: \"\\e113\"; } }\n.glyphicon-chevron-down { &:before { content: \"\\e114\"; } }\n.glyphicon-retweet { &:before { content: \"\\e115\"; } }\n.glyphicon-shopping-cart { &:before { content: \"\\e116\"; } }\n.glyphicon-folder-close { &:before { content: \"\\e117\"; } }\n.glyphicon-folder-open { &:before { content: \"\\e118\"; } }\n.glyphicon-resize-vertical { &:before { content: \"\\e119\"; } }\n.glyphicon-resize-horizontal { &:before { content: \"\\e120\"; } }\n.glyphicon-hdd { &:before { content: \"\\e121\"; } }\n.glyphicon-bullhorn { &:before { content: \"\\e122\"; } }\n.glyphicon-bell { &:before { content: \"\\e123\"; } }\n.glyphicon-certificate { &:before { content: \"\\e124\"; } }\n.glyphicon-thumbs-up { &:before { content: \"\\e125\"; } }\n.glyphicon-thumbs-down { &:before { content: \"\\e126\"; } }\n.glyphicon-hand-right { &:before { content: \"\\e127\"; } }\n.glyphicon-hand-left { &:before { content: \"\\e128\"; } }\n.glyphicon-hand-up { &:before { content: \"\\e129\"; } }\n.glyphicon-hand-down { &:before { content: \"\\e130\"; } }\n.glyphicon-circle-arrow-right { &:before { content: \"\\e131\"; } }\n.glyphicon-circle-arrow-left { &:before { content: \"\\e132\"; } }\n.glyphicon-circle-arrow-up { &:before { content: \"\\e133\"; } }\n.glyphicon-circle-arrow-down { &:before { content: \"\\e134\"; } }\n.glyphicon-globe { &:before { content: \"\\e135\"; } }\n.glyphicon-wrench { &:before { content: \"\\e136\"; } }\n.glyphicon-tasks { &:before { content: \"\\e137\"; } }\n.glyphicon-filter { &:before { content: \"\\e138\"; } }\n.glyphicon-briefcase { &:before { content: \"\\e139\"; } }\n.glyphicon-fullscreen { &:before { content: \"\\e140\"; } }\n.glyphicon-dashboard { &:before { content: \"\\e141\"; } }\n.glyphicon-paperclip { &:before { content: \"\\e142\"; } }\n.glyphicon-heart-empty { &:before { content: \"\\e143\"; } }\n.glyphicon-link { &:before { content: \"\\e144\"; } }\n.glyphicon-phone { &:before { content: \"\\e145\"; } }\n.glyphicon-pushpin { &:before { content: \"\\e146\"; } }\n.glyphicon-usd { &:before { content: \"\\e148\"; } }\n.glyphicon-gbp { &:before { content: \"\\e149\"; } }\n.glyphicon-sort { &:before { content: \"\\e150\"; } }\n.glyphicon-sort-by-alphabet { &:before { content: \"\\e151\"; } }\n.glyphicon-sort-by-alphabet-alt { &:before { content: \"\\e152\"; } }\n.glyphicon-sort-by-order { &:before { content: \"\\e153\"; } }\n.glyphicon-sort-by-order-alt { &:before { content: \"\\e154\"; } }\n.glyphicon-sort-by-attributes { &:before { content: \"\\e155\"; } }\n.glyphicon-sort-by-attributes-alt { &:before { content: \"\\e156\"; } }\n.glyphicon-unchecked { &:before { content: \"\\e157\"; } }\n.glyphicon-expand { &:before { content: \"\\e158\"; } }\n.glyphicon-collapse-down { &:before { content: \"\\e159\"; } }\n.glyphicon-collapse-up { &:before { content: \"\\e160\"; } }\n.glyphicon-log-in { &:before { content: \"\\e161\"; } }\n.glyphicon-flash { &:before { content: \"\\e162\"; } }\n.glyphicon-log-out { &:before { content: \"\\e163\"; } }\n.glyphicon-new-window { &:before { content: \"\\e164\"; } }\n.glyphicon-record { &:before { content: \"\\e165\"; } }\n.glyphicon-save { &:before { content: \"\\e166\"; } }\n.glyphicon-open { &:before { content: \"\\e167\"; } }\n.glyphicon-saved { &:before { content: \"\\e168\"; } }\n.glyphicon-import { &:before { content: \"\\e169\"; } }\n.glyphicon-export { &:before { content: \"\\e170\"; } }\n.glyphicon-send { &:before { content: \"\\e171\"; } }\n.glyphicon-floppy-disk { &:before { content: \"\\e172\"; } }\n.glyphicon-floppy-saved { &:before { content: \"\\e173\"; } }\n.glyphicon-floppy-remove { &:before { content: \"\\e174\"; } }\n.glyphicon-floppy-save { &:before { content: \"\\e175\"; } }\n.glyphicon-floppy-open { &:before { content: \"\\e176\"; } }\n.glyphicon-credit-card { &:before { content: \"\\e177\"; } }\n.glyphicon-transfer { &:before { content: \"\\e178\"; } }\n.glyphicon-cutlery { &:before { content: \"\\e179\"; } }\n.glyphicon-header { &:before { content: \"\\e180\"; } }\n.glyphicon-compressed { &:before { content: \"\\e181\"; } }\n.glyphicon-earphone { &:before { content: \"\\e182\"; } }\n.glyphicon-phone-alt { &:before { content: \"\\e183\"; } }\n.glyphicon-tower { &:before { content: \"\\e184\"; } }\n.glyphicon-stats { &:before { content: \"\\e185\"; } }\n.glyphicon-sd-video { &:before { content: \"\\e186\"; } }\n.glyphicon-hd-video { &:before { content: \"\\e187\"; } }\n.glyphicon-subtitles { &:before { content: \"\\e188\"; } }\n.glyphicon-sound-stereo { &:before { content: \"\\e189\"; } }\n.glyphicon-sound-dolby { &:before { content: \"\\e190\"; } }\n.glyphicon-sound-5-1 { &:before { content: \"\\e191\"; } }\n.glyphicon-sound-6-1 { &:before { content: \"\\e192\"; } }\n.glyphicon-sound-7-1 { &:before { content: \"\\e193\"; } }\n.glyphicon-copyright-mark { &:before { content: \"\\e194\"; } }\n.glyphicon-registration-mark { &:before { content: \"\\e195\"; } }\n.glyphicon-cloud-download { &:before { content: \"\\e197\"; } }\n.glyphicon-cloud-upload { &:before { content: \"\\e198\"; } }\n.glyphicon-tree-conifer { &:before { content: \"\\e199\"; } }\n.glyphicon-tree-deciduous { &:before { content: \"\\e200\"; } }\n.glyphicon-cd { &:before { content: \"\\e201\"; } }\n.glyphicon-save-file { &:before { content: \"\\e202\"; } }\n.glyphicon-open-file { &:before { content: \"\\e203\"; } }\n.glyphicon-level-up { &:before { content: \"\\e204\"; } }\n.glyphicon-copy { &:before { content: \"\\e205\"; } }\n.glyphicon-paste { &:before { content: \"\\e206\"; } }\n// The following 2 Glyphicons are omitted for the time being because\n// they currently use Unicode codepoints that are outside the\n// Basic Multilingual Plane (BMP). Older buggy versions of WebKit can't handle\n// non-BMP codepoints in CSS string escapes, and thus can't display these two icons.\n// Notably, the bug affects some older versions of the Android Browser.\n// More info: https://github.com/twbs/bootstrap/issues/10106\n// .glyphicon-door { &:before { content: \"\\1f6aa\"; } }\n// .glyphicon-key { &:before { content: \"\\1f511\"; } }\n.glyphicon-alert { &:before { content: \"\\e209\"; } }\n.glyphicon-equalizer { &:before { content: \"\\e210\"; } }\n.glyphicon-king { &:before { content: \"\\e211\"; } }\n.glyphicon-queen { &:before { content: \"\\e212\"; } }\n.glyphicon-pawn { &:before { content: \"\\e213\"; } }\n.glyphicon-bishop { &:before { content: \"\\e214\"; } }\n.glyphicon-knight { &:before { content: \"\\e215\"; } }\n.glyphicon-baby-formula { &:before { content: \"\\e216\"; } }\n.glyphicon-tent { &:before { content: \"\\26fa\"; } }\n.glyphicon-blackboard { &:before { content: \"\\e218\"; } }\n.glyphicon-bed { &:before { content: \"\\e219\"; } }\n.glyphicon-apple { &:before { content: \"\\f8ff\"; } }\n.glyphicon-erase { &:before { content: \"\\e221\"; } }\n.glyphicon-hourglass { &:before { content: \"\\231b\"; } }\n.glyphicon-lamp { &:before { content: \"\\e223\"; } }\n.glyphicon-duplicate { &:before { content: \"\\e224\"; } }\n.glyphicon-piggy-bank { &:before { content: \"\\e225\"; } }\n.glyphicon-scissors { &:before { content: \"\\e226\"; } }\n.glyphicon-bitcoin { &:before { content: \"\\e227\"; } }\n.glyphicon-btc { &:before { content: \"\\e227\"; } }\n.glyphicon-xbt { &:before { content: \"\\e227\"; } }\n.glyphicon-yen { &:before { content: \"\\00a5\"; } }\n.glyphicon-jpy { &:before { content: \"\\00a5\"; } }\n.glyphicon-ruble { &:before { content: \"\\20bd\"; } }\n.glyphicon-rub { &:before { content: \"\\20bd\"; } }\n.glyphicon-scale { &:before { content: \"\\e230\"; } }\n.glyphicon-ice-lolly { &:before { content: \"\\e231\"; } }\n.glyphicon-ice-lolly-tasted { &:before { content: \"\\e232\"; } }\n.glyphicon-education { &:before { content: \"\\e233\"; } }\n.glyphicon-option-horizontal { &:before { content: \"\\e234\"; } }\n.glyphicon-option-vertical { &:before { content: \"\\e235\"; } }\n.glyphicon-menu-hamburger { &:before { content: \"\\e236\"; } }\n.glyphicon-modal-window { &:before { content: \"\\e237\"; } }\n.glyphicon-oil { &:before { content: \"\\e238\"; } }\n.glyphicon-grain { &:before { content: \"\\e239\"; } }\n.glyphicon-sunglasses { &:before { content: \"\\e240\"; } }\n.glyphicon-text-size { &:before { content: \"\\e241\"; } }\n.glyphicon-text-color { &:before { content: \"\\e242\"; } }\n.glyphicon-text-background { &:before { content: \"\\e243\"; } }\n.glyphicon-object-align-top { &:before { content: \"\\e244\"; } }\n.glyphicon-object-align-bottom { &:before { content: \"\\e245\"; } }\n.glyphicon-object-align-horizontal{ &:before { content: \"\\e246\"; } }\n.glyphicon-object-align-left { &:before { content: \"\\e247\"; } }\n.glyphicon-object-align-vertical { &:before { content: \"\\e248\"; } }\n.glyphicon-object-align-right { &:before { content: \"\\e249\"; } }\n.glyphicon-triangle-right { &:before { content: \"\\e250\"; } }\n.glyphicon-triangle-left { &:before { content: \"\\e251\"; } }\n.glyphicon-triangle-bottom { &:before { content: \"\\e252\"; } }\n.glyphicon-triangle-top { &:before { content: \"\\e253\"; } }\n.glyphicon-console { &:before { content: \"\\e254\"; } }\n.glyphicon-superscript { &:before { content: \"\\e255\"; } }\n.glyphicon-subscript { &:before { content: \"\\e256\"; } }\n.glyphicon-menu-left { &:before { content: \"\\e257\"; } }\n.glyphicon-menu-right { &:before { content: \"\\e258\"; } }\n.glyphicon-menu-down { &:before { content: \"\\e259\"; } }\n.glyphicon-menu-up { &:before { content: \"\\e260\"; } }\n","//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This reset may cause conflicts with some third-party widgets.\n// For recommendations on resolving such conflicts, see\n// https://getbootstrap.com/docs/3.4/getting-started/#third-box-sizing\n* {\n .box-sizing(border-box);\n}\n*:before,\n*:after {\n .box-sizing(border-box);\n}\n\n\n// Body reset\n\nhtml {\n font-size: 10px;\n -webkit-tap-highlight-color: rgba(0, 0, 0, 0);\n}\n\nbody {\n font-family: @font-family-base;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @text-color;\n background-color: @body-bg;\n}\n\n// Reset fonts for relevant elements\ninput,\nbutton,\nselect,\ntextarea {\n font-family: inherit;\n font-size: inherit;\n line-height: inherit;\n}\n\n\n// Links\n\na {\n color: @link-color;\n text-decoration: none;\n\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n }\n\n &:focus {\n .tab-focus();\n }\n}\n\n\n// Figures\n//\n// We reset this here because previously Normalize had no `figure` margins. This\n// ensures we don't break anyone's use of the element.\n\nfigure {\n margin: 0;\n}\n\n\n// Images\n\nimg {\n vertical-align: middle;\n}\n\n// Responsive images (ensure images don't scale beyond their parents)\n.img-responsive {\n .img-responsive();\n}\n\n// Rounded corners\n.img-rounded {\n border-radius: @border-radius-large;\n}\n\n// Image thumbnails\n//\n// Heads up! This is mixin-ed into thumbnails.less for `.thumbnail`.\n.img-thumbnail {\n padding: @thumbnail-padding;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(all .2s ease-in-out);\n\n // Keep them at most 100% wide\n .img-responsive(inline-block);\n}\n\n// Perfect circle\n.img-circle {\n border-radius: 50%; // set radius in percents\n}\n\n\n// Horizontal rules\n\nhr {\n margin-top: @line-height-computed;\n margin-bottom: @line-height-computed;\n border: 0;\n border-top: 1px solid @hr-border;\n}\n\n\n// Only display content to screen readers\n//\n// See: https://a11yproject.com/posts/how-to-hide-content\n\n.sr-only {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n border: 0;\n}\n\n// Use in conjunction with .sr-only to only display content when it's focused.\n// Useful for \"Skip to main content\" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1\n// Credit: HTML5 Boilerplate\n\n.sr-only-focusable {\n &:active,\n &:focus {\n position: static;\n width: auto;\n height: auto;\n margin: 0;\n overflow: visible;\n clip: auto;\n }\n}\n\n\n// iOS \"clickable elements\" fix for role=\"button\"\n//\n// Fixes \"clickability\" issue (and more generally, the firing of events such as focus as well)\n// for traditionally non-focusable elements with role=\"button\"\n// see https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n\n[role=\"button\"] {\n cursor: pointer;\n}\n","// stylelint-disable indentation, property-no-vendor-prefix, selector-no-vendor-prefix\n\n// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our Gruntfile. They have been removed in v4.\n\n// - Animations\n// - Backface visibility\n// - Box shadow\n// - Box sizing\n// - Content columns\n// - Hyphens\n// - Placeholder text\n// - Transformations\n// - Transitions\n// - User Select\n\n\n// Animations\n.animation(@animation) {\n -webkit-animation: @animation;\n -o-animation: @animation;\n animation: @animation;\n}\n.animation-name(@name) {\n -webkit-animation-name: @name;\n animation-name: @name;\n}\n.animation-duration(@duration) {\n -webkit-animation-duration: @duration;\n animation-duration: @duration;\n}\n.animation-timing-function(@timing-function) {\n -webkit-animation-timing-function: @timing-function;\n animation-timing-function: @timing-function;\n}\n.animation-delay(@delay) {\n -webkit-animation-delay: @delay;\n animation-delay: @delay;\n}\n.animation-iteration-count(@iteration-count) {\n -webkit-animation-iteration-count: @iteration-count;\n animation-iteration-count: @iteration-count;\n}\n.animation-direction(@direction) {\n -webkit-animation-direction: @direction;\n animation-direction: @direction;\n}\n.animation-fill-mode(@fill-mode) {\n -webkit-animation-fill-mode: @fill-mode;\n animation-fill-mode: @fill-mode;\n}\n\n// Backface visibility\n// Prevent browsers from flickering when using CSS 3D transforms.\n// Default value is `visible`, but can be changed to `hidden`\n\n.backface-visibility(@visibility) {\n -webkit-backface-visibility: @visibility;\n -moz-backface-visibility: @visibility;\n backface-visibility: @visibility;\n}\n\n// Drop shadows\n//\n// Note: Deprecated `.box-shadow()` as of v3.1.0 since all of Bootstrap's\n// supported browsers that have box shadow capabilities now support it.\n\n.box-shadow(@shadow) {\n -webkit-box-shadow: @shadow; // iOS <4.3 & Android <4.1\n box-shadow: @shadow;\n}\n\n// Box sizing\n.box-sizing(@boxmodel) {\n -webkit-box-sizing: @boxmodel;\n -moz-box-sizing: @boxmodel;\n box-sizing: @boxmodel;\n}\n\n// CSS3 Content Columns\n.content-columns(@column-count; @column-gap: @grid-gutter-width) {\n -webkit-column-count: @column-count;\n -moz-column-count: @column-count;\n column-count: @column-count;\n -webkit-column-gap: @column-gap;\n -moz-column-gap: @column-gap;\n column-gap: @column-gap;\n}\n\n// Optional hyphenation\n.hyphens(@mode: auto) {\n -webkit-hyphens: @mode;\n -moz-hyphens: @mode;\n -ms-hyphens: @mode; // IE10+\n -o-hyphens: @mode;\n hyphens: @mode;\n word-wrap: break-word;\n}\n\n// Placeholder text\n.placeholder(@color: @input-color-placeholder) {\n // Firefox\n &::-moz-placeholder {\n color: @color;\n opacity: 1; // Override Firefox's unusual default opacity; see https://github.com/twbs/bootstrap/pull/11526\n }\n &:-ms-input-placeholder { color: @color; } // Internet Explorer 10+\n &::-webkit-input-placeholder { color: @color; } // Safari and Chrome\n}\n\n// Transformations\n.scale(@ratio) {\n -webkit-transform: scale(@ratio);\n -ms-transform: scale(@ratio); // IE9 only\n -o-transform: scale(@ratio);\n transform: scale(@ratio);\n}\n.scale(@ratioX; @ratioY) {\n -webkit-transform: scale(@ratioX, @ratioY);\n -ms-transform: scale(@ratioX, @ratioY); // IE9 only\n -o-transform: scale(@ratioX, @ratioY);\n transform: scale(@ratioX, @ratioY);\n}\n.scaleX(@ratio) {\n -webkit-transform: scaleX(@ratio);\n -ms-transform: scaleX(@ratio); // IE9 only\n -o-transform: scaleX(@ratio);\n transform: scaleX(@ratio);\n}\n.scaleY(@ratio) {\n -webkit-transform: scaleY(@ratio);\n -ms-transform: scaleY(@ratio); // IE9 only\n -o-transform: scaleY(@ratio);\n transform: scaleY(@ratio);\n}\n.skew(@x; @y) {\n -webkit-transform: skewX(@x) skewY(@y);\n -ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+\n -o-transform: skewX(@x) skewY(@y);\n transform: skewX(@x) skewY(@y);\n}\n.translate(@x; @y) {\n -webkit-transform: translate(@x, @y);\n -ms-transform: translate(@x, @y); // IE9 only\n -o-transform: translate(@x, @y);\n transform: translate(@x, @y);\n}\n.translate3d(@x; @y; @z) {\n -webkit-transform: translate3d(@x, @y, @z);\n transform: translate3d(@x, @y, @z);\n}\n.rotate(@degrees) {\n -webkit-transform: rotate(@degrees);\n -ms-transform: rotate(@degrees); // IE9 only\n -o-transform: rotate(@degrees);\n transform: rotate(@degrees);\n}\n.rotateX(@degrees) {\n -webkit-transform: rotateX(@degrees);\n -ms-transform: rotateX(@degrees); // IE9 only\n -o-transform: rotateX(@degrees);\n transform: rotateX(@degrees);\n}\n.rotateY(@degrees) {\n -webkit-transform: rotateY(@degrees);\n -ms-transform: rotateY(@degrees); // IE9 only\n -o-transform: rotateY(@degrees);\n transform: rotateY(@degrees);\n}\n.perspective(@perspective) {\n -webkit-perspective: @perspective;\n -moz-perspective: @perspective;\n perspective: @perspective;\n}\n.perspective-origin(@perspective) {\n -webkit-perspective-origin: @perspective;\n -moz-perspective-origin: @perspective;\n perspective-origin: @perspective;\n}\n.transform-origin(@origin) {\n -webkit-transform-origin: @origin;\n -moz-transform-origin: @origin;\n -ms-transform-origin: @origin; // IE9 only\n transform-origin: @origin;\n}\n\n\n// Transitions\n\n.transition(@transition) {\n -webkit-transition: @transition;\n -o-transition: @transition;\n transition: @transition;\n}\n.transition-property(@transition-property) {\n -webkit-transition-property: @transition-property;\n transition-property: @transition-property;\n}\n.transition-delay(@transition-delay) {\n -webkit-transition-delay: @transition-delay;\n transition-delay: @transition-delay;\n}\n.transition-duration(@transition-duration) {\n -webkit-transition-duration: @transition-duration;\n transition-duration: @transition-duration;\n}\n.transition-timing-function(@timing-function) {\n -webkit-transition-timing-function: @timing-function;\n transition-timing-function: @timing-function;\n}\n.transition-transform(@transition) {\n -webkit-transition: -webkit-transform @transition;\n -moz-transition: -moz-transform @transition;\n -o-transition: -o-transform @transition;\n transition: transform @transition;\n}\n\n\n// User select\n// For selecting text on the page\n\n.user-select(@select) {\n -webkit-user-select: @select;\n -moz-user-select: @select;\n -ms-user-select: @select; // IE10+\n user-select: @select;\n}\n","// WebKit-style focus\n\n.tab-focus() {\n // WebKit-specific. Other browsers will keep their default outline style.\n // (Initially tried to also force default via `outline: initial`,\n // but that seems to erroneously remove the outline in Firefox altogether.)\n outline: 5px auto -webkit-focus-ring-color;\n outline-offset: -2px;\n}\n","// stylelint-disable media-feature-name-no-vendor-prefix, media-feature-parentheses-space-inside, media-feature-name-no-unknown, indentation, at-rule-name-space-after\n\n// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n.img-responsive(@display: block) {\n display: @display;\n max-width: 100%; // Part 1: Set a maximum relative to the parent\n height: auto; // Part 2: Scale the height according to the width, otherwise you get stretching\n}\n\n\n// Retina image\n//\n// Short retina mixin for setting background-image and -size. Note that the\n// spelling of `min--moz-device-pixel-ratio` is intentional.\n.img-retina(@file-1x; @file-2x; @width-1x; @height-1x) {\n background-image: url(\"@{file-1x}\");\n\n @media\n only screen and (-webkit-min-device-pixel-ratio: 2),\n only screen and ( min--moz-device-pixel-ratio: 2),\n only screen and ( -o-min-device-pixel-ratio: 2/1),\n only screen and ( min-device-pixel-ratio: 2),\n only screen and ( min-resolution: 192dpi),\n only screen and ( min-resolution: 2dppx) {\n background-image: url(\"@{file-2x}\");\n background-size: @width-1x @height-1x;\n }\n}\n","// stylelint-disable selector-list-comma-newline-after, selector-no-qualifying-type\n\n//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// -------------------------\n\nh1, h2, h3, h4, h5, h6,\n.h1, .h2, .h3, .h4, .h5, .h6 {\n font-family: @headings-font-family;\n font-weight: @headings-font-weight;\n line-height: @headings-line-height;\n color: @headings-color;\n\n small,\n .small {\n font-weight: 400;\n line-height: 1;\n color: @headings-small-color;\n }\n}\n\nh1, .h1,\nh2, .h2,\nh3, .h3 {\n margin-top: @line-height-computed;\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 65%;\n }\n}\nh4, .h4,\nh5, .h5,\nh6, .h6 {\n margin-top: (@line-height-computed / 2);\n margin-bottom: (@line-height-computed / 2);\n\n small,\n .small {\n font-size: 75%;\n }\n}\n\nh1, .h1 { font-size: @font-size-h1; }\nh2, .h2 { font-size: @font-size-h2; }\nh3, .h3 { font-size: @font-size-h3; }\nh4, .h4 { font-size: @font-size-h4; }\nh5, .h5 { font-size: @font-size-h5; }\nh6, .h6 { font-size: @font-size-h6; }\n\n\n// Body text\n// -------------------------\n\np {\n margin: 0 0 (@line-height-computed / 2);\n}\n\n.lead {\n margin-bottom: @line-height-computed;\n font-size: floor((@font-size-base * 1.15));\n font-weight: 300;\n line-height: 1.4;\n\n @media (min-width: @screen-sm-min) {\n font-size: (@font-size-base * 1.5);\n }\n}\n\n\n// Emphasis & misc\n// -------------------------\n\n// Ex: (12px small font / 14px base font) * 100% = about 85%\nsmall,\n.small {\n font-size: floor((100% * @font-size-small / @font-size-base));\n}\n\nmark,\n.mark {\n padding: .2em;\n background-color: @state-warning-bg;\n}\n\n// Alignment\n.text-left { text-align: left; }\n.text-right { text-align: right; }\n.text-center { text-align: center; }\n.text-justify { text-align: justify; }\n.text-nowrap { white-space: nowrap; }\n\n// Transformation\n.text-lowercase { text-transform: lowercase; }\n.text-uppercase { text-transform: uppercase; }\n.text-capitalize { text-transform: capitalize; }\n\n// Contextual colors\n.text-muted {\n color: @text-muted;\n}\n.text-primary {\n .text-emphasis-variant(@brand-primary);\n}\n.text-success {\n .text-emphasis-variant(@state-success-text);\n}\n.text-info {\n .text-emphasis-variant(@state-info-text);\n}\n.text-warning {\n .text-emphasis-variant(@state-warning-text);\n}\n.text-danger {\n .text-emphasis-variant(@state-danger-text);\n}\n\n// Contextual backgrounds\n// For now we'll leave these alongside the text classes until v4 when we can\n// safely shift things around (per SemVer rules).\n.bg-primary {\n // Given the contrast here, this is the only class to have its color inverted\n // automatically.\n color: #fff;\n .bg-variant(@brand-primary);\n}\n.bg-success {\n .bg-variant(@state-success-bg);\n}\n.bg-info {\n .bg-variant(@state-info-bg);\n}\n.bg-warning {\n .bg-variant(@state-warning-bg);\n}\n.bg-danger {\n .bg-variant(@state-danger-bg);\n}\n\n\n// Page header\n// -------------------------\n\n.page-header {\n padding-bottom: ((@line-height-computed / 2) - 1);\n margin: (@line-height-computed * 2) 0 @line-height-computed;\n border-bottom: 1px solid @page-header-border-color;\n}\n\n\n// Lists\n// -------------------------\n\n// Unordered and Ordered lists\nul,\nol {\n margin-top: 0;\n margin-bottom: (@line-height-computed / 2);\n ul,\n ol {\n margin-bottom: 0;\n }\n}\n\n// List options\n\n// Unstyled keeps list items block level, just removes default browser padding and list-style\n.list-unstyled {\n padding-left: 0;\n list-style: none;\n}\n\n// Inline turns list items into inline-block\n.list-inline {\n .list-unstyled();\n margin-left: -5px;\n\n > li {\n display: inline-block;\n padding-right: 5px;\n padding-left: 5px;\n }\n}\n\n// Description Lists\ndl {\n margin-top: 0; // Remove browser default\n margin-bottom: @line-height-computed;\n}\ndt,\ndd {\n line-height: @line-height-base;\n}\ndt {\n font-weight: 700;\n}\ndd {\n margin-left: 0; // Undo browser default\n}\n\n// Horizontal description lists\n//\n// Defaults to being stacked without any of the below styles applied, until the\n// grid breakpoint is reached (default of ~768px).\n\n.dl-horizontal {\n dd {\n &:extend(.clearfix all); // Clear the floated `dt` if an empty `dd` is present\n }\n\n @media (min-width: @dl-horizontal-breakpoint) {\n dt {\n float: left;\n width: (@dl-horizontal-offset - 20);\n clear: left;\n text-align: right;\n .text-overflow();\n }\n dd {\n margin-left: @dl-horizontal-offset;\n }\n }\n}\n\n\n// Misc\n// -------------------------\n\n// Abbreviations and acronyms\n// Add data-* attribute to help out our tooltip plugin, per https://github.com/twbs/bootstrap/issues/5257\nabbr[title],\nabbr[data-original-title] {\n cursor: help;\n}\n\n.initialism {\n font-size: 90%;\n .text-uppercase();\n}\n\n// Blockquotes\nblockquote {\n padding: (@line-height-computed / 2) @line-height-computed;\n margin: 0 0 @line-height-computed;\n font-size: @blockquote-font-size;\n border-left: 5px solid @blockquote-border-color;\n\n p,\n ul,\n ol {\n &:last-child {\n margin-bottom: 0;\n }\n }\n\n // Note: Deprecated small and .small as of v3.1.0\n // Context: https://github.com/twbs/bootstrap/issues/11660\n footer,\n small,\n .small {\n display: block;\n font-size: 80%; // back to default font-size\n line-height: @line-height-base;\n color: @blockquote-small-color;\n\n &:before {\n content: \"\\2014 \\00A0\"; // em dash, nbsp\n }\n }\n}\n\n// Opposite alignment of blockquote\n//\n// Heads up: `blockquote.pull-right` has been deprecated as of v3.1.0.\n.blockquote-reverse,\nblockquote.pull-right {\n padding-right: 15px;\n padding-left: 0;\n text-align: right;\n border-right: 5px solid @blockquote-border-color;\n border-left: 0;\n\n // Account for citation\n footer,\n small,\n .small {\n &:before { content: \"\"; }\n &:after {\n content: \"\\00A0 \\2014\"; // nbsp, em dash\n }\n }\n}\n\n// Addresses\naddress {\n margin-bottom: @line-height-computed;\n font-style: normal;\n line-height: @line-height-base;\n}\n","// Typography\n\n.text-emphasis-variant(@color) {\n color: @color;\n a&:hover,\n a&:focus {\n color: darken(@color, 10%);\n }\n}\n","// Contextual backgrounds\n\n.bg-variant(@color) {\n background-color: @color;\n a&:hover,\n a&:focus {\n background-color: darken(@color, 10%);\n }\n}\n","// Text overflow\n// Requires inline-block or block for proper styling\n\n.text-overflow() {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n","//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\ncode,\nkbd,\npre,\nsamp {\n font-family: @font-family-monospace;\n}\n\n// Inline code\ncode {\n padding: 2px 4px;\n font-size: 90%;\n color: @code-color;\n background-color: @code-bg;\n border-radius: @border-radius-base;\n}\n\n// User input typically entered via keyboard\nkbd {\n padding: 2px 4px;\n font-size: 90%;\n color: @kbd-color;\n background-color: @kbd-bg;\n border-radius: @border-radius-small;\n box-shadow: inset 0 -1px 0 rgba(0, 0, 0, .25);\n\n kbd {\n padding: 0;\n font-size: 100%;\n font-weight: 700;\n box-shadow: none;\n }\n}\n\n// Blocks of code\npre {\n display: block;\n padding: ((@line-height-computed - 1) / 2);\n margin: 0 0 (@line-height-computed / 2);\n font-size: (@font-size-base - 1); // 14px to 13px\n line-height: @line-height-base;\n color: @pre-color;\n word-break: break-all;\n word-wrap: break-word;\n background-color: @pre-bg;\n border: 1px solid @pre-border-color;\n border-radius: @border-radius-base;\n\n // Account for some code outputs that place code tags in pre tags\n code {\n padding: 0;\n font-size: inherit;\n color: inherit;\n white-space: pre-wrap;\n background-color: transparent;\n border-radius: 0;\n }\n}\n\n// Enable scrollable blocks of code\n.pre-scrollable {\n max-height: @pre-scrollable-max-height;\n overflow-y: scroll;\n}\n","//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container width, and override it for fixed navbars in media queries.\n\n.container {\n .container-fixed();\n\n @media (min-width: @screen-sm-min) {\n width: @container-sm;\n }\n @media (min-width: @screen-md-min) {\n width: @container-md;\n }\n @media (min-width: @screen-lg-min) {\n width: @container-lg;\n }\n}\n\n\n// Fluid container\n//\n// Utilizes the mixin meant for fixed width containers, but without any defined\n// width for fluid, full width layouts.\n\n.container-fluid {\n .container-fixed();\n}\n\n\n// Row\n//\n// Rows contain and clear the floats of your columns.\n\n.row {\n .make-row();\n}\n\n.row-no-gutters {\n margin-right: 0;\n margin-left: 0;\n\n [class*=\"col-\"] {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Columns\n//\n// Common styles for small and large grid columns\n\n.make-grid-columns();\n\n\n// Extra small grid\n//\n// Columns, offsets, pushes, and pulls for extra small devices like\n// smartphones.\n\n.make-grid(xs);\n\n\n// Small grid\n//\n// Columns, offsets, pushes, and pulls for the small device range, from phones\n// to tablets.\n\n@media (min-width: @screen-sm-min) {\n .make-grid(sm);\n}\n\n\n// Medium grid\n//\n// Columns, offsets, pushes, and pulls for the desktop device range.\n\n@media (min-width: @screen-md-min) {\n .make-grid(md);\n}\n\n\n// Large grid\n//\n// Columns, offsets, pushes, and pulls for the large desktop device range.\n\n@media (min-width: @screen-lg-min) {\n .make-grid(lg);\n}\n","// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@gutter: @grid-gutter-width) {\n padding-right: ceil((@gutter / 2));\n padding-left: floor((@gutter / 2));\n margin-right: auto;\n margin-left: auto;\n &:extend(.clearfix all);\n}\n\n// Creates a wrapper for a series of columns\n.make-row(@gutter: @grid-gutter-width) {\n margin-right: floor((@gutter / -2));\n margin-left: ceil((@gutter / -2));\n &:extend(.clearfix all);\n}\n\n// Generate the extra small columns\n.make-xs-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n float: left;\n width: percentage((@columns / @grid-columns));\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n}\n.make-xs-column-offset(@columns) {\n margin-left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-push(@columns) {\n left: percentage((@columns / @grid-columns));\n}\n.make-xs-column-pull(@columns) {\n right: percentage((@columns / @grid-columns));\n}\n\n// Generate the small columns\n.make-sm-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n\n @media (min-width: @screen-sm-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-offset(@columns) {\n @media (min-width: @screen-sm-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-push(@columns) {\n @media (min-width: @screen-sm-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-sm-column-pull(@columns) {\n @media (min-width: @screen-sm-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the medium columns\n.make-md-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n\n @media (min-width: @screen-md-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-offset(@columns) {\n @media (min-width: @screen-md-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-push(@columns) {\n @media (min-width: @screen-md-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-md-column-pull(@columns) {\n @media (min-width: @screen-md-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n\n// Generate the large columns\n.make-lg-column(@columns; @gutter: @grid-gutter-width) {\n position: relative;\n min-height: 1px;\n padding-right: (@gutter / 2);\n padding-left: (@gutter / 2);\n\n @media (min-width: @screen-lg-min) {\n float: left;\n width: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-offset(@columns) {\n @media (min-width: @screen-lg-min) {\n margin-left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-push(@columns) {\n @media (min-width: @screen-lg-min) {\n left: percentage((@columns / @grid-columns));\n }\n}\n.make-lg-column-pull(@columns) {\n @media (min-width: @screen-lg-min) {\n right: percentage((@columns / @grid-columns));\n }\n}\n","// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any value of `@grid-columns`.\n\n.make-grid-columns() {\n // Common styles for all sizes of grid columns, widths 1-12\n .col(@index) { // initial\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general; \"=<\" isn't a typo\n @item: ~\".col-xs-@{index}, .col-sm-@{index}, .col-md-@{index}, .col-lg-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n position: relative;\n // Prevent columns from collapsing when empty\n min-height: 1px;\n // Inner gutter via padding\n padding-right: floor((@grid-gutter-width / 2));\n padding-left: ceil((@grid-gutter-width / 2));\n }\n }\n .col(1); // kickstart it\n}\n\n.float-grid-columns(@class) {\n .col(@index) { // initial\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), @item);\n }\n .col(@index, @list) when (@index =< @grid-columns) { // general\n @item: ~\".col-@{class}-@{index}\";\n .col((@index + 1), ~\"@{list}, @{item}\");\n }\n .col(@index, @list) when (@index > @grid-columns) { // terminal\n @{list} {\n float: left;\n }\n }\n .col(1); // kickstart it\n}\n\n.calc-grid-column(@index, @class, @type) when (@type = width) and (@index > 0) {\n .col-@{class}-@{index} {\n width: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index > 0) {\n .col-@{class}-push-@{index} {\n left: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = push) and (@index = 0) {\n .col-@{class}-push-0 {\n left: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index > 0) {\n .col-@{class}-pull-@{index} {\n right: percentage((@index / @grid-columns));\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = pull) and (@index = 0) {\n .col-@{class}-pull-0 {\n right: auto;\n }\n}\n.calc-grid-column(@index, @class, @type) when (@type = offset) {\n .col-@{class}-offset-@{index} {\n margin-left: percentage((@index / @grid-columns));\n }\n}\n\n// Basic looping in LESS\n.loop-grid-columns(@index, @class, @type) when (@index >= 0) {\n .calc-grid-column(@index, @class, @type);\n // next iteration\n .loop-grid-columns((@index - 1), @class, @type);\n}\n\n// Create grid for specific class\n.make-grid(@class) {\n .float-grid-columns(@class);\n .loop-grid-columns(@grid-columns, @class, width);\n .loop-grid-columns(@grid-columns, @class, pull);\n .loop-grid-columns(@grid-columns, @class, push);\n .loop-grid-columns(@grid-columns, @class, offset);\n}\n","// stylelint-disable selector-max-type, selector-max-compound-selectors, selector-no-qualifying-type\n\n//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n background-color: @table-bg;\n\n // Table cell sizing\n //\n // Reset default table behavior\n\n col[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n display: table-column;\n float: none;\n }\n\n td,\n th {\n &[class*=\"col-\"] {\n position: static; // Prevent border hiding in Firefox and IE9-11 (see https://github.com/twbs/bootstrap/issues/11623)\n display: table-cell;\n float: none;\n }\n }\n}\n\ncaption {\n padding-top: @table-cell-padding;\n padding-bottom: @table-cell-padding;\n color: @text-muted;\n text-align: left;\n}\n\nth {\n text-align: left;\n}\n\n\n// Baseline styles\n\n.table {\n width: 100%;\n max-width: 100%;\n margin-bottom: @line-height-computed;\n // Cells\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-cell-padding;\n line-height: @line-height-base;\n vertical-align: top;\n border-top: 1px solid @table-border-color;\n }\n }\n }\n // Bottom align for column headings\n > thead > tr > th {\n vertical-align: bottom;\n border-bottom: 2px solid @table-border-color;\n }\n // Remove top border from thead by default\n > caption + thead,\n > colgroup + thead,\n > thead:first-child {\n > tr:first-child {\n > th,\n > td {\n border-top: 0;\n }\n }\n }\n // Account for multiple tbody instances\n > tbody + tbody {\n border-top: 2px solid @table-border-color;\n }\n\n // Nesting\n .table {\n background-color: @body-bg;\n }\n}\n\n\n// Condensed table w/ half padding\n\n.table-condensed {\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n padding: @table-condensed-cell-padding;\n }\n }\n }\n}\n\n\n// Bordered version\n//\n// Add borders all around the table and between all the columns.\n\n.table-bordered {\n border: 1px solid @table-border-color;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n border: 1px solid @table-border-color;\n }\n }\n }\n > thead > tr {\n > th,\n > td {\n border-bottom-width: 2px;\n }\n }\n}\n\n\n// Zebra-striping\n//\n// Default zebra-stripe styles (alternating gray and transparent backgrounds)\n\n.table-striped {\n > tbody > tr:nth-of-type(odd) {\n background-color: @table-bg-accent;\n }\n}\n\n\n// Hover effect\n//\n// Placed here since it has to come after the potential zebra striping\n\n.table-hover {\n > tbody > tr:hover {\n background-color: @table-bg-hover;\n }\n}\n\n\n// Table backgrounds\n//\n// Exact selectors below required to override `.table-striped` and prevent\n// inheritance to nested tables.\n\n// Generate the contextual variants\n.table-row-variant(active; @table-bg-active);\n.table-row-variant(success; @state-success-bg);\n.table-row-variant(info; @state-info-bg);\n.table-row-variant(warning; @state-warning-bg);\n.table-row-variant(danger; @state-danger-bg);\n\n\n// Responsive tables\n//\n// Wrap your tables in `.table-responsive` and we'll make them mobile friendly\n// by enabling horizontal scrolling. Only applies <768px. Everything above that\n// will display normally.\n\n.table-responsive {\n min-height: .01%; // Workaround for IE9 bug (see https://github.com/twbs/bootstrap/issues/14837)\n overflow-x: auto;\n\n @media screen and (max-width: @screen-xs-max) {\n width: 100%;\n margin-bottom: (@line-height-computed * .75);\n overflow-y: hidden;\n -ms-overflow-style: -ms-autohiding-scrollbar;\n border: 1px solid @table-border-color;\n\n // Tighten up spacing\n > .table {\n margin-bottom: 0;\n\n // Ensure the content doesn't wrap\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th,\n > td {\n white-space: nowrap;\n }\n }\n }\n }\n\n // Special overrides for the bordered tables\n > .table-bordered {\n border: 0;\n\n // Nuke the appropriate borders so that the parent can handle them\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n\n // Only nuke the last row's bottom-border in `tbody` and `tfoot` since\n // chances are there will be only one `tr` in a `thead` and that would\n // remove the border altogether.\n > tbody,\n > tfoot {\n > tr:last-child {\n > th,\n > td {\n border-bottom: 0;\n }\n }\n }\n\n }\n }\n}\n","// Tables\n\n.table-row-variant(@state; @background) {\n // Exact selectors below required to override `.table-striped` and prevent\n // inheritance to nested tables.\n .table > thead > tr,\n .table > tbody > tr,\n .table > tfoot > tr {\n > td.@{state},\n > th.@{state},\n &.@{state} > td,\n &.@{state} > th {\n background-color: @background;\n }\n }\n\n // Hover states for `.table-hover`\n // Note: this is not available for cells or rows within `thead` or `tfoot`.\n .table-hover > tbody > tr {\n > td.@{state}:hover,\n > th.@{state}:hover,\n &.@{state}:hover > td,\n &:hover > .@{state},\n &.@{state}:hover > th {\n background-color: darken(@background, 5%);\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type, property-no-vendor-prefix, media-feature-name-no-vendor-prefix\n\n//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Restyle and baseline non-control form elements.\n\nfieldset {\n // Chrome and Firefox set a `min-width: min-content;` on fieldsets,\n // so we reset that to ensure it behaves more like a standard block element.\n // See https://github.com/twbs/bootstrap/issues/12359.\n min-width: 0;\n padding: 0;\n margin: 0;\n border: 0;\n}\n\nlegend {\n display: block;\n width: 100%;\n padding: 0;\n margin-bottom: @line-height-computed;\n font-size: (@font-size-base * 1.5);\n line-height: inherit;\n color: @legend-color;\n border: 0;\n border-bottom: 1px solid @legend-border-color;\n}\n\nlabel {\n display: inline-block;\n max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)\n margin-bottom: 5px;\n font-weight: 700;\n}\n\n\n// Normalize form controls\n//\n// While most of our form styles require extra classes, some basic normalization\n// is required to ensure optimum display with or without those classes to better\n// address browser inconsistencies.\n\ninput[type=\"search\"] {\n // Override content-box in Normalize (* isn't specific enough)\n .box-sizing(border-box);\n\n // Search inputs in iOS\n //\n // This overrides the extra rounded corners on search inputs in iOS so that our\n // `.form-control` class can properly style them. Note that this cannot simply\n // be added to `.form-control` as it's not specific enough. For details, see\n // https://github.com/twbs/bootstrap/issues/11586.\n -webkit-appearance: none;\n appearance: none;\n}\n\n// Position radios and checkboxes better\ninput[type=\"radio\"],\ninput[type=\"checkbox\"] {\n margin: 4px 0 0;\n margin-top: 1px \\9; // IE8-9\n line-height: normal;\n\n // Apply same disabled cursor tweak as for inputs\n // Some special care is needed because <label>s don't inherit their parent's `cursor`.\n //\n // Note: Neither radios nor checkboxes can be readonly.\n &[disabled],\n &.disabled,\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n }\n}\n\ninput[type=\"file\"] {\n display: block;\n}\n\n// Make range inputs behave like textual form controls\ninput[type=\"range\"] {\n display: block;\n width: 100%;\n}\n\n// Make multiple select elements height not fixed\nselect[multiple],\nselect[size] {\n height: auto;\n}\n\n// Focus for file, radio, and checkbox\ninput[type=\"file\"]:focus,\ninput[type=\"radio\"]:focus,\ninput[type=\"checkbox\"]:focus {\n .tab-focus();\n}\n\n// Adjust output element\noutput {\n display: block;\n padding-top: (@padding-base-vertical + 1);\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n}\n\n\n// Common form controls\n//\n// Shared size and type resets for form controls. Apply `.form-control` to any\n// of the following form controls:\n//\n// select\n// textarea\n// input[type=\"text\"]\n// input[type=\"password\"]\n// input[type=\"datetime\"]\n// input[type=\"datetime-local\"]\n// input[type=\"date\"]\n// input[type=\"month\"]\n// input[type=\"time\"]\n// input[type=\"week\"]\n// input[type=\"number\"]\n// input[type=\"email\"]\n// input[type=\"url\"]\n// input[type=\"search\"]\n// input[type=\"tel\"]\n// input[type=\"color\"]\n\n.form-control {\n display: block;\n width: 100%;\n height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n line-height: @line-height-base;\n color: @input-color;\n background-color: @input-bg;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid @input-border;\n border-radius: @input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.\n .box-shadow(inset 0 1px 1px rgba(0, 0, 0, .075));\n .transition(~\"border-color ease-in-out .15s, box-shadow ease-in-out .15s\");\n\n // Customize the `:focus` state to imitate native WebKit styles.\n .form-control-focus();\n\n // Placeholder\n .placeholder();\n\n // Unstyle the caret on `<select>`s in IE10+.\n &::-ms-expand {\n background-color: transparent;\n border: 0;\n }\n\n // Disabled and read-only inputs\n //\n // HTML5 says that controls under a fieldset > legend:first-child won't be\n // disabled if the fieldset is disabled. Due to implementation difficulty, we\n // don't honor that edge case; we style them as disabled anyway.\n &[disabled],\n &[readonly],\n fieldset[disabled] & {\n background-color: @input-bg-disabled;\n opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655\n }\n\n &[disabled],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n }\n\n // Reset height for `textarea`s\n textarea& {\n height: auto;\n }\n}\n\n\n// Special styles for iOS temporal inputs\n//\n// In Mobile Safari, setting `display: block` on temporal inputs causes the\n// text within the input to become vertically misaligned. As a workaround, we\n// set a pixel line-height that matches the given height of the input, but only\n// for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848\n//\n// Note that as of 9.3, iOS doesn't support `week`.\n\n@media screen and (-webkit-min-device-pixel-ratio: 0) {\n input[type=\"date\"],\n input[type=\"time\"],\n input[type=\"datetime-local\"],\n input[type=\"month\"] {\n &.form-control {\n line-height: @input-height-base;\n }\n\n &.input-sm,\n .input-group-sm & {\n line-height: @input-height-small;\n }\n\n &.input-lg,\n .input-group-lg & {\n line-height: @input-height-large;\n }\n }\n}\n\n\n// Form groups\n//\n// Designed to help with the organization and spacing of vertical forms. For\n// horizontal forms, use the predefined grid classes.\n\n.form-group {\n margin-bottom: @form-group-margin-bottom;\n}\n\n\n// Checkboxes and radios\n//\n// Indent the labels to position radios/checkboxes as hanging controls.\n\n.radio,\n.checkbox {\n position: relative;\n display: block;\n margin-top: 10px;\n margin-bottom: 10px;\n\n // These are used on elements with <label> descendants\n &.disabled,\n fieldset[disabled] & {\n label {\n cursor: @cursor-disabled;\n }\n }\n\n label {\n min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n cursor: pointer;\n }\n}\n.radio input[type=\"radio\"],\n.radio-inline input[type=\"radio\"],\n.checkbox input[type=\"checkbox\"],\n.checkbox-inline input[type=\"checkbox\"] {\n position: absolute;\n margin-top: 4px \\9;\n margin-left: -20px;\n}\n\n.radio + .radio,\n.checkbox + .checkbox {\n margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing\n}\n\n// Radios and checkboxes on same line\n.radio-inline,\n.checkbox-inline {\n position: relative;\n display: inline-block;\n padding-left: 20px;\n margin-bottom: 0;\n font-weight: 400;\n vertical-align: middle;\n cursor: pointer;\n\n // These are used directly on <label>s\n &.disabled,\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n }\n}\n.radio-inline + .radio-inline,\n.checkbox-inline + .checkbox-inline {\n margin-top: 0;\n margin-left: 10px; // space out consecutive inline controls\n}\n\n\n// Static form control text\n//\n// Apply class to a `p` element to make any string of text align with labels in\n// a horizontal form layout.\n\n.form-control-static {\n min-height: (@line-height-computed + @font-size-base);\n // Size it appropriately next to real form controls\n padding-top: (@padding-base-vertical + 1);\n padding-bottom: (@padding-base-vertical + 1);\n // Remove default margin from `p`\n margin-bottom: 0;\n\n &.input-lg,\n &.input-sm {\n padding-right: 0;\n padding-left: 0;\n }\n}\n\n\n// Form control sizing\n//\n// Build on `.form-control` with modifier classes to decrease or increase the\n// height and font-size of form controls.\n//\n// The `.form-group-* form-control` variations are sadly duplicated to avoid the\n// issue documented in https://github.com/twbs/bootstrap/issues/15074.\n\n.input-sm {\n .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);\n}\n.form-group-sm {\n .form-control {\n height: @input-height-small;\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n line-height: @line-height-small;\n border-radius: @input-border-radius-small;\n }\n select.form-control {\n height: @input-height-small;\n line-height: @input-height-small;\n }\n textarea.form-control,\n select[multiple].form-control {\n height: auto;\n }\n .form-control-static {\n height: @input-height-small;\n min-height: (@line-height-computed + @font-size-small);\n padding: (@padding-small-vertical + 1) @padding-small-horizontal;\n font-size: @font-size-small;\n line-height: @line-height-small;\n }\n}\n\n.input-lg {\n .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);\n}\n.form-group-lg {\n .form-control {\n height: @input-height-large;\n padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-large;\n border-radius: @input-border-radius-large;\n }\n select.form-control {\n height: @input-height-large;\n line-height: @input-height-large;\n }\n textarea.form-control,\n select[multiple].form-control {\n height: auto;\n }\n .form-control-static {\n height: @input-height-large;\n min-height: (@line-height-computed + @font-size-large);\n padding: (@padding-large-vertical + 1) @padding-large-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-large;\n }\n}\n\n\n// Form control feedback states\n//\n// Apply contextual and semantic states to individual form controls.\n\n.has-feedback {\n // Enable absolute positioning\n position: relative;\n\n // Ensure icons don't overlap text\n .form-control {\n padding-right: (@input-height-base * 1.25);\n }\n}\n// Feedback icon (requires .glyphicon classes)\n.form-control-feedback {\n position: absolute;\n top: 0;\n right: 0;\n z-index: 2; // Ensure icon is above input groups\n display: block;\n width: @input-height-base;\n height: @input-height-base;\n line-height: @input-height-base;\n text-align: center;\n pointer-events: none;\n}\n.input-lg + .form-control-feedback,\n.input-group-lg + .form-control-feedback,\n.form-group-lg .form-control + .form-control-feedback {\n width: @input-height-large;\n height: @input-height-large;\n line-height: @input-height-large;\n}\n.input-sm + .form-control-feedback,\n.input-group-sm + .form-control-feedback,\n.form-group-sm .form-control + .form-control-feedback {\n width: @input-height-small;\n height: @input-height-small;\n line-height: @input-height-small;\n}\n\n// Feedback states\n.has-success {\n .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);\n}\n.has-warning {\n .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);\n}\n.has-error {\n .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);\n}\n\n// Reposition feedback icon if input has visible label above\n.has-feedback label {\n\n & ~ .form-control-feedback {\n top: (@line-height-computed + 5); // Height of the `label` and its margin\n }\n &.sr-only ~ .form-control-feedback {\n top: 0;\n }\n}\n\n\n// Help text\n//\n// Apply to any element you wish to create light text for placement immediately\n// below a form control. Use for general help, formatting, or instructional text.\n\n.help-block {\n display: block; // account for any element using help-block\n margin-top: 5px;\n margin-bottom: 10px;\n color: lighten(@text-color, 25%); // lighten the text some for contrast\n}\n\n\n// Inline forms\n//\n// Make forms appear inline(-block) by adding the `.form-inline` class. Inline\n// forms begin stacked on extra small (mobile) devices and then go inline when\n// viewports reach <768px.\n//\n// Requires wrapping inputs and labels with `.form-group` for proper display of\n// default HTML form controls and our custom form controls (e.g., input groups).\n//\n// Heads up! This is mixin-ed into `.navbar-form` in navbars.less.\n\n.form-inline {\n\n // Kick in the inline\n @media (min-width: @screen-sm-min) {\n // Inline-block all the things for \"inline\"\n .form-group {\n display: inline-block;\n margin-bottom: 0;\n vertical-align: middle;\n }\n\n // In navbar-form, allow folks to *not* use `.form-group`\n .form-control {\n display: inline-block;\n width: auto; // Prevent labels from stacking above inputs in `.form-group`\n vertical-align: middle;\n }\n\n // Make static controls behave like regular ones\n .form-control-static {\n display: inline-block;\n }\n\n .input-group {\n display: inline-table;\n vertical-align: middle;\n\n .input-group-addon,\n .input-group-btn,\n .form-control {\n width: auto;\n }\n }\n\n // Input groups need that 100% width though\n .input-group > .form-control {\n width: 100%;\n }\n\n .control-label {\n margin-bottom: 0;\n vertical-align: middle;\n }\n\n // Remove default margin on radios/checkboxes that were used for stacking, and\n // then undo the floating of radios and checkboxes to match.\n .radio,\n .checkbox {\n display: inline-block;\n margin-top: 0;\n margin-bottom: 0;\n vertical-align: middle;\n\n label {\n padding-left: 0;\n }\n }\n .radio input[type=\"radio\"],\n .checkbox input[type=\"checkbox\"] {\n position: relative;\n margin-left: 0;\n }\n\n // Re-override the feedback icon.\n .has-feedback .form-control-feedback {\n top: 0;\n }\n }\n}\n\n\n// Horizontal forms\n//\n// Horizontal forms are built on grid classes and allow you to create forms with\n// labels on the left and inputs on the right.\n\n.form-horizontal {\n\n // Consistent vertical alignment of radios and checkboxes\n //\n // Labels also get some reset styles, but that is scoped to a media query below.\n .radio,\n .checkbox,\n .radio-inline,\n .checkbox-inline {\n padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n margin-top: 0;\n margin-bottom: 0;\n }\n // Account for padding we're adding to ensure the alignment and of help text\n // and other content below items\n .radio,\n .checkbox {\n min-height: (@line-height-computed + (@padding-base-vertical + 1));\n }\n\n // Make form groups behave like rows\n .form-group {\n .make-row();\n }\n\n // Reset spacing and right align labels, but scope to media queries so that\n // labels on narrow viewports stack the same as a default form example.\n @media (min-width: @screen-sm-min) {\n .control-label {\n padding-top: (@padding-base-vertical + 1); // Default padding plus a border\n margin-bottom: 0;\n text-align: right;\n }\n }\n\n // Validation states\n //\n // Reposition the icon because it's now within a grid column and columns have\n // `position: relative;` on them. Also accounts for the grid gutter padding.\n .has-feedback .form-control-feedback {\n right: floor((@grid-gutter-width / 2));\n }\n\n // Form group sizes\n //\n // Quick utility class for applying `.input-lg` and `.input-sm` styles to the\n // inputs and labels within a `.form-group`.\n .form-group-lg {\n @media (min-width: @screen-sm-min) {\n .control-label {\n padding-top: (@padding-large-vertical + 1);\n font-size: @font-size-large;\n }\n }\n }\n .form-group-sm {\n @media (min-width: @screen-sm-min) {\n .control-label {\n padding-top: (@padding-small-vertical + 1);\n font-size: @font-size-small;\n }\n }\n }\n}\n","// Form validation states\n//\n// Used in forms.less to generate the form validation CSS for warnings, errors,\n// and successes.\n\n.form-control-validation(@text-color: #555; @border-color: #ccc; @background-color: #f5f5f5) {\n // Color the label and help text\n .help-block,\n .control-label,\n .radio,\n .checkbox,\n .radio-inline,\n .checkbox-inline,\n &.radio label,\n &.checkbox label,\n &.radio-inline label,\n &.checkbox-inline label {\n color: @text-color;\n }\n // Set the border and box shadow on specific inputs to match\n .form-control {\n border-color: @border-color;\n .box-shadow(inset 0 1px 1px rgba(0, 0, 0, .075)); // Redeclare so transitions work\n &:focus {\n border-color: darken(@border-color, 10%);\n @shadow: inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 6px lighten(@border-color, 20%);\n .box-shadow(@shadow);\n }\n }\n // Set validation states also for addons\n .input-group-addon {\n color: @text-color;\n background-color: @background-color;\n border-color: @border-color;\n }\n // Optional feedback icon\n .form-control-feedback {\n color: @text-color;\n }\n}\n\n\n// Form control focus state\n//\n// Generate a customized focus state and for any input with the specified color,\n// which defaults to the `@input-border-focus` variable.\n//\n// We highly encourage you to not customize the default value, but instead use\n// this to tweak colors on an as-needed basis. This aesthetic change is based on\n// WebKit's default styles, but applicable to a wider range of browsers. Its\n// usability and accessibility should be taken into account with any change.\n//\n// Example usage: change the default blue border and shadow to white for better\n// contrast against a dark gray background.\n.form-control-focus(@color: @input-border-focus) {\n @color-rgba: rgba(red(@color), green(@color), blue(@color), .6);\n &:focus {\n border-color: @color;\n outline: 0;\n .box-shadow(~\"inset 0 1px 1px rgba(0, 0, 0, .075), 0 0 8px @{color-rgba}\");\n }\n}\n\n// Form control sizing\n//\n// Relative text size, padding, and border-radii changes for form controls. For\n// horizontal sizing, wrap controls in the predefined grid classes. `<select>`\n// element gets special love because it's special, and that's a fact!\n.input-size(@input-height; @padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n height: @input-height;\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n\n select& {\n height: @input-height;\n line-height: @input-height;\n }\n\n textarea&,\n select[multiple]& {\n height: auto;\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------------------------\n\n.btn {\n display: inline-block;\n margin-bottom: 0; // For input.btn\n font-weight: @btn-font-weight;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n touch-action: manipulation;\n cursor: pointer;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n .button-size(@padding-base-vertical; @padding-base-horizontal; @font-size-base; @line-height-base; @btn-border-radius-base);\n .user-select(none);\n\n &,\n &:active,\n &.active {\n &:focus,\n &.focus {\n .tab-focus();\n }\n }\n\n &:hover,\n &:focus,\n &.focus {\n color: @btn-default-color;\n text-decoration: none;\n }\n\n &:active,\n &.active {\n background-image: none;\n outline: 0;\n .box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));\n }\n\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n cursor: @cursor-disabled;\n .opacity(.65);\n .box-shadow(none);\n }\n\n a& {\n &.disabled,\n fieldset[disabled] & {\n pointer-events: none; // Future-proof disabling of clicks on `<a>` elements\n }\n }\n}\n\n\n// Alternate buttons\n// --------------------------------------------------\n\n.btn-default {\n .button-variant(@btn-default-color; @btn-default-bg; @btn-default-border);\n}\n.btn-primary {\n .button-variant(@btn-primary-color; @btn-primary-bg; @btn-primary-border);\n}\n// Success appears as green\n.btn-success {\n .button-variant(@btn-success-color; @btn-success-bg; @btn-success-border);\n}\n// Info appears as blue-green\n.btn-info {\n .button-variant(@btn-info-color; @btn-info-bg; @btn-info-border);\n}\n// Warning appears as orange\n.btn-warning {\n .button-variant(@btn-warning-color; @btn-warning-bg; @btn-warning-border);\n}\n// Danger and error appear as red\n.btn-danger {\n .button-variant(@btn-danger-color; @btn-danger-bg; @btn-danger-border);\n}\n\n\n// Link buttons\n// -------------------------\n\n// Make a button look and behave like a link\n.btn-link {\n font-weight: 400;\n color: @link-color;\n border-radius: 0;\n\n &,\n &:active,\n &.active,\n &[disabled],\n fieldset[disabled] & {\n background-color: transparent;\n .box-shadow(none);\n }\n &,\n &:hover,\n &:focus,\n &:active {\n border-color: transparent;\n }\n &:hover,\n &:focus {\n color: @link-hover-color;\n text-decoration: @link-hover-decoration;\n background-color: transparent;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @btn-link-disabled-color;\n text-decoration: none;\n }\n }\n}\n\n\n// Button Sizes\n// --------------------------------------------------\n\n.btn-lg {\n // line-height: ensure even-numbered height of button next to large input\n .button-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @btn-border-radius-large);\n}\n.btn-sm {\n // line-height: ensure proper height of button next to small input\n .button-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n.btn-xs {\n .button-size(@padding-xs-vertical; @padding-xs-horizontal; @font-size-small; @line-height-small; @btn-border-radius-small);\n}\n\n\n// Block button\n// --------------------------------------------------\n\n.btn-block {\n display: block;\n width: 100%;\n}\n\n// Vertically space out multiple block buttons\n.btn-block + .btn-block {\n margin-top: 5px;\n}\n\n// Specificity overrides\ninput[type=\"submit\"],\ninput[type=\"reset\"],\ninput[type=\"button\"] {\n &.btn-block {\n width: 100%;\n }\n}\n","// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for all buttons\n\n.button-variant(@color; @background; @border) {\n color: @color;\n background-color: @background;\n border-color: @border;\n\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 25%);\n }\n &:hover {\n color: @color;\n background-color: darken(@background, 10%);\n border-color: darken(@border, 12%);\n }\n &:active,\n &.active,\n .open > .dropdown-toggle& {\n color: @color;\n background-color: darken(@background, 10%);\n background-image: none;\n border-color: darken(@border, 12%);\n\n &:hover,\n &:focus,\n &.focus {\n color: @color;\n background-color: darken(@background, 17%);\n border-color: darken(@border, 25%);\n }\n }\n &.disabled,\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus,\n &.focus {\n background-color: @background;\n border-color: @border;\n }\n }\n\n .badge {\n color: @background;\n background-color: @color;\n }\n}\n\n// Button sizes\n.button-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n border-radius: @border-radius;\n}\n","// Opacity\n\n.opacity(@opacity) {\n @opacity-ie: (@opacity * 100); // IE8 filter\n filter: ~\"alpha(opacity=@{opacity-ie})\";\n opacity: @opacity;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `.opacity()` mixin here since it causes a bug with text\n// fields in IE7-8. Source: https://github.com/twbs/bootstrap/pull/3552.\n\n.fade {\n opacity: 0;\n .transition(opacity .15s linear);\n\n &.in {\n opacity: 1;\n }\n}\n\n.collapse {\n display: none;\n\n &.in { display: block; }\n tr&.in { display: table-row; }\n tbody&.in { display: table-row-group; }\n}\n\n.collapsing {\n position: relative;\n height: 0;\n overflow: hidden;\n .transition-property(~\"height, visibility\");\n .transition-duration(.35s);\n .transition-timing-function(ease);\n}\n","//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n display: inline-block;\n width: 0;\n height: 0;\n margin-left: 2px;\n vertical-align: middle;\n border-top: @caret-width-base dashed;\n border-top: @caret-width-base solid ~\"\\9\"; // IE8\n border-right: @caret-width-base solid transparent;\n border-left: @caret-width-base solid transparent;\n}\n\n// The dropdown wrapper (div)\n.dropup,\n.dropdown {\n position: relative;\n}\n\n// Prevent the focus on the dropdown toggle when closing dropdowns\n.dropdown-toggle:focus {\n outline: 0;\n}\n\n// The dropdown menu (ul)\n.dropdown-menu {\n position: absolute;\n top: 100%;\n left: 0;\n z-index: @zindex-dropdown;\n display: none; // none by default, but block on \"open\" of the menu\n float: left;\n min-width: 160px;\n padding: 5px 0;\n margin: 2px 0 0; // override default ul\n font-size: @font-size-base;\n text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer)\n list-style: none;\n background-color: @dropdown-bg;\n background-clip: padding-box;\n border: 1px solid @dropdown-fallback-border; // IE8 fallback\n border: 1px solid @dropdown-border;\n border-radius: @border-radius-base;\n .box-shadow(0 6px 12px rgba(0, 0, 0, .175));\n\n // Aligns the dropdown menu to right\n //\n // Deprecated as of 3.1.0 in favor of `.dropdown-menu-[dir]`\n &.pull-right {\n right: 0;\n left: auto;\n }\n\n // Dividers (basically an hr) within the dropdown\n .divider {\n .nav-divider(@dropdown-divider-bg);\n }\n\n // Links within the dropdown menu\n > li > a {\n display: block;\n padding: 3px 20px;\n clear: both;\n font-weight: 400;\n line-height: @line-height-base;\n color: @dropdown-link-color;\n white-space: nowrap; // prevent links from randomly breaking onto new lines\n\n &:hover,\n &:focus {\n color: @dropdown-link-hover-color;\n text-decoration: none;\n background-color: @dropdown-link-hover-bg;\n }\n }\n}\n\n// Active state\n.dropdown-menu > .active > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-active-color;\n text-decoration: none;\n background-color: @dropdown-link-active-bg;\n outline: 0;\n }\n}\n\n// Disabled state\n//\n// Gray out text and ensure the hover/focus state remains gray\n\n.dropdown-menu > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @dropdown-link-disabled-color;\n }\n\n // Nuke hover/focus effects\n &:hover,\n &:focus {\n text-decoration: none;\n cursor: @cursor-disabled;\n background-color: transparent;\n background-image: none; // Remove CSS gradient\n .reset-filter();\n }\n}\n\n// Open state for the dropdown\n.open {\n // Show the menu\n > .dropdown-menu {\n display: block;\n }\n\n // Remove the outline when :focus is triggered\n > a {\n outline: 0;\n }\n}\n\n// Menu positioning\n//\n// Add extra class to `.dropdown-menu` to flip the alignment of the dropdown\n// menu with the parent.\n.dropdown-menu-right {\n right: 0;\n left: auto; // Reset the default from `.dropdown-menu`\n}\n// With v3, we enabled auto-flipping if you have a dropdown within a right\n// aligned nav component. To enable the undoing of that, we provide an override\n// to restore the default dropdown menu alignment.\n//\n// This is only for left-aligning a dropdown menu within a `.navbar-right` or\n// `.pull-right` nav component.\n.dropdown-menu-left {\n right: auto;\n left: 0;\n}\n\n// Dropdown section headers\n.dropdown-header {\n display: block;\n padding: 3px 20px;\n font-size: @font-size-small;\n line-height: @line-height-base;\n color: @dropdown-header-color;\n white-space: nowrap; // as with > li > a\n}\n\n// Backdrop to catch body clicks on mobile, etc.\n.dropdown-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: (@zindex-dropdown - 10);\n}\n\n// Right aligned dropdowns\n.pull-right > .dropdown-menu {\n right: 0;\n left: auto;\n}\n\n// Allow for dropdowns to go bottom up (aka, dropup-menu)\n//\n// Just add .dropup after the standard .dropdown class and you're set, bro.\n// TODO: abstract this so that the navbar fixed styles are not placed here?\n\n.dropup,\n.navbar-fixed-bottom .dropdown {\n // Reverse the caret\n .caret {\n content: \"\";\n border-top: 0;\n border-bottom: @caret-width-base dashed;\n border-bottom: @caret-width-base solid ~\"\\9\"; // IE8\n }\n // Different positioning for bottom up menu\n .dropdown-menu {\n top: auto;\n bottom: 100%;\n margin-bottom: 2px;\n }\n}\n\n\n// Component alignment\n//\n// Reiterate per navbar.less and the modified component alignment there.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-right {\n .dropdown-menu {\n .dropdown-menu-right();\n }\n // Necessary for overrides of the default right aligned menu.\n // Will remove come v4 in all likelihood.\n .dropdown-menu-left {\n .dropdown-menu-left();\n }\n }\n}\n","// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n.nav-divider(@color: #e5e5e5) {\n height: 1px;\n margin: ((@line-height-computed / 2) - 1) 0;\n overflow: hidden;\n background-color: @color;\n}\n","// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the IE filter for IE9 and below.\n\n.reset-filter() {\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(enabled = false)\"));\n}\n","// stylelint-disable selector-no-qualifying-type */\n\n//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-group,\n.btn-group-vertical {\n position: relative;\n display: inline-block;\n vertical-align: middle; // match .btn alignment given font-size hack above\n > .btn {\n position: relative;\n float: left;\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active,\n &.active {\n z-index: 2;\n }\n }\n}\n\n// Prevent double borders when buttons are next to each other\n.btn-group {\n .btn + .btn,\n .btn + .btn-group,\n .btn-group + .btn,\n .btn-group + .btn-group {\n margin-left: -1px;\n }\n}\n\n// Optional: Group multiple button groups together for a toolbar\n.btn-toolbar {\n margin-left: -5px; // Offset the first child's margin\n &:extend(.clearfix all);\n\n .btn,\n .btn-group,\n .input-group {\n float: left;\n }\n > .btn,\n > .btn-group,\n > .input-group {\n margin-left: 5px;\n }\n}\n\n.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {\n border-radius: 0;\n}\n\n// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match\n.btn-group > .btn:first-child {\n margin-left: 0;\n &:not(:last-child):not(.dropdown-toggle) {\n .border-right-radius(0);\n }\n}\n// Need .dropdown-toggle since :last-child doesn't apply, given that a .dropdown-menu is used immediately after it\n.btn-group > .btn:last-child:not(:first-child),\n.btn-group > .dropdown-toggle:not(:first-child) {\n .border-left-radius(0);\n}\n\n// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group)\n.btn-group > .btn-group {\n float: left;\n}\n.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-right-radius(0);\n }\n}\n.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-left-radius(0);\n}\n\n// On active and open, don't show outline\n.btn-group .dropdown-toggle:active,\n.btn-group.open .dropdown-toggle {\n outline: 0;\n}\n\n\n// Sizing\n//\n// Remix the default button sizing classes into new ones for easier manipulation.\n\n.btn-group-xs > .btn { &:extend(.btn-xs); }\n.btn-group-sm > .btn { &:extend(.btn-sm); }\n.btn-group-lg > .btn { &:extend(.btn-lg); }\n\n\n// Split button dropdowns\n// ----------------------\n\n// Give the line between buttons some depth\n.btn-group > .btn + .dropdown-toggle {\n padding-right: 8px;\n padding-left: 8px;\n}\n.btn-group > .btn-lg + .dropdown-toggle {\n padding-right: 12px;\n padding-left: 12px;\n}\n\n// The clickable button for toggling the menu\n// Remove the gradient and set the same inset shadow as the :active state\n.btn-group.open .dropdown-toggle {\n .box-shadow(inset 0 3px 5px rgba(0, 0, 0, .125));\n\n // Show no shadow for `.btn-link` since it has no other button styles.\n &.btn-link {\n .box-shadow(none);\n }\n}\n\n\n// Reposition the caret\n.btn .caret {\n margin-left: 0;\n}\n// Carets in other button sizes\n.btn-lg .caret {\n border-width: @caret-width-large @caret-width-large 0;\n border-bottom-width: 0;\n}\n// Upside down carets for .dropup\n.dropup .btn-lg .caret {\n border-width: 0 @caret-width-large @caret-width-large;\n}\n\n\n// Vertical button groups\n// ----------------------\n\n.btn-group-vertical {\n > .btn,\n > .btn-group,\n > .btn-group > .btn {\n display: block;\n float: none;\n width: 100%;\n max-width: 100%;\n }\n\n // Clear floats so dropdown menus can be properly placed\n > .btn-group {\n &:extend(.clearfix all);\n > .btn {\n float: none;\n }\n }\n\n > .btn + .btn,\n > .btn + .btn-group,\n > .btn-group + .btn,\n > .btn-group + .btn-group {\n margin-top: -1px;\n margin-left: 0;\n }\n}\n\n.btn-group-vertical > .btn {\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n &:first-child:not(:last-child) {\n .border-top-radius(@btn-border-radius-base);\n .border-bottom-radius(0);\n }\n &:last-child:not(:first-child) {\n .border-top-radius(0);\n .border-bottom-radius(@btn-border-radius-base);\n }\n}\n.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {\n border-radius: 0;\n}\n.btn-group-vertical > .btn-group:first-child:not(:last-child) {\n > .btn:last-child,\n > .dropdown-toggle {\n .border-bottom-radius(0);\n }\n}\n.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {\n .border-top-radius(0);\n}\n\n\n// Justified button groups\n// ----------------------\n\n.btn-group-justified {\n display: table;\n width: 100%;\n table-layout: fixed;\n border-collapse: separate;\n > .btn,\n > .btn-group {\n display: table-cell;\n float: none;\n width: 1%;\n }\n > .btn-group .btn {\n width: 100%;\n }\n\n > .btn-group .dropdown-menu {\n left: auto;\n }\n}\n\n\n// Checkbox and radio options\n//\n// In order to support the browser's form validation feedback, powered by the\n// `required` attribute, we have to \"hide\" the inputs via `clip`. We cannot use\n// `display: none;` or `visibility: hidden;` as that also hides the popover.\n// Simply visually hiding the inputs via `opacity` would leave them clickable in\n// certain cases which is prevented by using `clip` and `pointer-events`.\n// This way, we ensure a DOM element is visible to position the popover from.\n//\n// See https://github.com/twbs/bootstrap/pull/12794 and\n// https://github.com/twbs/bootstrap/pull/14559 for more information.\n\n[data-toggle=\"buttons\"] {\n > .btn,\n > .btn-group > .btn {\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n position: absolute;\n clip: rect(0, 0, 0, 0);\n pointer-events: none;\n }\n }\n}\n","// Single side border-radius\n\n.border-top-radius(@radius) {\n border-top-left-radius: @radius;\n border-top-right-radius: @radius;\n}\n.border-right-radius(@radius) {\n border-top-right-radius: @radius;\n border-bottom-right-radius: @radius;\n}\n.border-bottom-radius(@radius) {\n border-bottom-right-radius: @radius;\n border-bottom-left-radius: @radius;\n}\n.border-left-radius(@radius) {\n border-top-left-radius: @radius;\n border-bottom-left-radius: @radius;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.input-group {\n position: relative; // For dropdowns\n display: table;\n border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table\n\n // Undo padding and float of grid classes\n &[class*=\"col-\"] {\n float: none;\n padding-right: 0;\n padding-left: 0;\n }\n\n .form-control {\n // Ensure that the input is always above the *appended* addon button for\n // proper border colors.\n position: relative;\n z-index: 2;\n\n // IE9 fubars the placeholder attribute in text inputs and the arrows on\n // select elements in input groups. To fix it, we float the input. Details:\n // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855\n float: left;\n\n width: 100%;\n margin-bottom: 0;\n\n &:focus {\n z-index: 3;\n }\n }\n}\n\n// Sizing options\n//\n// Remix the default form control sizing classes into new ones for easier\n// manipulation.\n\n.input-group-lg > .form-control,\n.input-group-lg > .input-group-addon,\n.input-group-lg > .input-group-btn > .btn {\n .input-lg();\n}\n.input-group-sm > .form-control,\n.input-group-sm > .input-group-addon,\n.input-group-sm > .input-group-btn > .btn {\n .input-sm();\n}\n\n\n// Display as table-cell\n// -------------------------\n.input-group-addon,\n.input-group-btn,\n.input-group .form-control {\n display: table-cell;\n\n &:not(:first-child):not(:last-child) {\n border-radius: 0;\n }\n}\n// Addon and addon wrapper for buttons\n.input-group-addon,\n.input-group-btn {\n width: 1%;\n white-space: nowrap;\n vertical-align: middle; // Match the inputs\n}\n\n// Text input groups\n// -------------------------\n.input-group-addon {\n padding: @padding-base-vertical @padding-base-horizontal;\n font-size: @font-size-base;\n font-weight: 400;\n line-height: 1;\n color: @input-color;\n text-align: center;\n background-color: @input-group-addon-bg;\n border: 1px solid @input-group-addon-border-color;\n border-radius: @input-border-radius;\n\n // Sizing\n &.input-sm {\n padding: @padding-small-vertical @padding-small-horizontal;\n font-size: @font-size-small;\n border-radius: @input-border-radius-small;\n }\n &.input-lg {\n padding: @padding-large-vertical @padding-large-horizontal;\n font-size: @font-size-large;\n border-radius: @input-border-radius-large;\n }\n\n // Nuke default margins from checkboxes and radios to vertically center within.\n input[type=\"radio\"],\n input[type=\"checkbox\"] {\n margin-top: 0;\n }\n}\n\n// Reset rounded corners\n.input-group .form-control:first-child,\n.input-group-addon:first-child,\n.input-group-btn:first-child > .btn,\n.input-group-btn:first-child > .btn-group > .btn,\n.input-group-btn:first-child > .dropdown-toggle,\n.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),\n.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {\n .border-right-radius(0);\n}\n.input-group-addon:first-child {\n border-right: 0;\n}\n.input-group .form-control:last-child,\n.input-group-addon:last-child,\n.input-group-btn:last-child > .btn,\n.input-group-btn:last-child > .btn-group > .btn,\n.input-group-btn:last-child > .dropdown-toggle,\n.input-group-btn:first-child > .btn:not(:first-child),\n.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {\n .border-left-radius(0);\n}\n.input-group-addon:last-child {\n border-left: 0;\n}\n\n// Button input groups\n// -------------------------\n.input-group-btn {\n position: relative;\n // Jankily prevent input button groups from wrapping with `white-space` and\n // `font-size` in combination with `inline-block` on buttons.\n font-size: 0;\n white-space: nowrap;\n\n // Negative margin for spacing, position for bringing hovered/focused/actived\n // element above the siblings.\n > .btn {\n position: relative;\n + .btn {\n margin-left: -1px;\n }\n // Bring the \"active\" button to the front\n &:hover,\n &:focus,\n &:active {\n z-index: 2;\n }\n }\n\n // Negative margin to only have a 1px border between the two\n &:first-child {\n > .btn,\n > .btn-group {\n margin-right: -1px;\n }\n }\n &:last-child {\n > .btn,\n > .btn-group {\n z-index: 2;\n margin-left: -1px;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type, selector-max-type\n\n//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// --------------------------------------------------\n\n.nav {\n padding-left: 0; // Override default ul/ol\n margin-bottom: 0;\n list-style: none;\n &:extend(.clearfix all);\n\n > li {\n position: relative;\n display: block;\n\n > a {\n position: relative;\n display: block;\n padding: @nav-link-padding;\n &:hover,\n &:focus {\n text-decoration: none;\n background-color: @nav-link-hover-bg;\n }\n }\n\n // Disabled state sets text to gray and nukes hover/tab effects\n &.disabled > a {\n color: @nav-disabled-link-color;\n\n &:hover,\n &:focus {\n color: @nav-disabled-link-hover-color;\n text-decoration: none;\n cursor: @cursor-disabled;\n background-color: transparent;\n }\n }\n }\n\n // Open dropdowns\n .open > a {\n &,\n &:hover,\n &:focus {\n background-color: @nav-link-hover-bg;\n border-color: @link-color;\n }\n }\n\n // Nav dividers (deprecated with v3.0.1)\n //\n // This should have been removed in v3 with the dropping of `.nav-list`, but\n // we missed it. We don't currently support this anywhere, but in the interest\n // of maintaining backward compatibility in case you use it, it's deprecated.\n .nav-divider {\n .nav-divider();\n }\n\n // Prevent IE8 from misplacing imgs\n //\n // See https://github.com/h5bp/html5-boilerplate/issues/984#issuecomment-3985989\n > li > a > img {\n max-width: none;\n }\n}\n\n\n// Tabs\n// -------------------------\n\n// Give the tabs something to sit on\n.nav-tabs {\n border-bottom: 1px solid @nav-tabs-border-color;\n > li {\n float: left;\n // Make the list-items overlay the bottom border\n margin-bottom: -1px;\n\n // Actual tabs (as links)\n > a {\n margin-right: 2px;\n line-height: @line-height-base;\n border: 1px solid transparent;\n border-radius: @border-radius-base @border-radius-base 0 0;\n &:hover {\n border-color: @nav-tabs-link-hover-border-color @nav-tabs-link-hover-border-color @nav-tabs-border-color;\n }\n }\n\n // Active state, and its :hover to override normal :hover\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-tabs-active-link-hover-color;\n cursor: default;\n background-color: @nav-tabs-active-link-hover-bg;\n border: 1px solid @nav-tabs-active-link-hover-border-color;\n border-bottom-color: transparent;\n }\n }\n }\n // pulling this in mainly for less shorthand\n &.nav-justified {\n .nav-justified();\n .nav-tabs-justified();\n }\n}\n\n\n// Pills\n// -------------------------\n.nav-pills {\n > li {\n float: left;\n\n // Links rendered as pills\n > a {\n border-radius: @nav-pills-border-radius;\n }\n + li {\n margin-left: 2px;\n }\n\n // Active state\n &.active > a {\n &,\n &:hover,\n &:focus {\n color: @nav-pills-active-link-hover-color;\n background-color: @nav-pills-active-link-hover-bg;\n }\n }\n }\n}\n\n\n// Stacked pills\n.nav-stacked {\n > li {\n float: none;\n + li {\n margin-top: 2px;\n margin-left: 0; // no need for this gap between nav items\n }\n }\n}\n\n\n// Nav variations\n// --------------------------------------------------\n\n// Justified nav links\n// -------------------------\n\n.nav-justified {\n width: 100%;\n\n > li {\n float: none;\n > a {\n margin-bottom: 5px;\n text-align: center;\n }\n }\n\n > .dropdown .dropdown-menu {\n top: auto;\n left: auto;\n }\n\n @media (min-width: @screen-sm-min) {\n > li {\n display: table-cell;\n width: 1%;\n > a {\n margin-bottom: 0;\n }\n }\n }\n}\n\n// Move borders to anchors instead of bottom of list\n//\n// Mixin for adding on top the shared `.nav-justified` styles for our tabs\n.nav-tabs-justified {\n border-bottom: 0;\n\n > li > a {\n // Override margin from .nav-tabs\n margin-right: 0;\n border-radius: @border-radius-base;\n }\n\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border: 1px solid @nav-tabs-justified-link-border-color;\n }\n\n @media (min-width: @screen-sm-min) {\n > li > a {\n border-bottom: 1px solid @nav-tabs-justified-link-border-color;\n border-radius: @border-radius-base @border-radius-base 0 0;\n }\n > .active > a,\n > .active > a:hover,\n > .active > a:focus {\n border-bottom-color: @nav-tabs-justified-active-link-border-color;\n }\n }\n}\n\n\n// Tabbable tabs\n// -------------------------\n\n// Hide tabbable panes to start, show them when `.active`\n.tab-content {\n > .tab-pane {\n display: none;\n }\n > .active {\n display: block;\n }\n}\n\n\n// Dropdowns\n// -------------------------\n\n// Specific dropdowns\n.nav-tabs .dropdown-menu {\n // make dropdown border overlap tab border\n margin-top: -1px;\n // Remove the top rounded corners here since there is a hard edge above the menu\n .border-top-radius(0);\n}\n","// stylelint-disable selector-max-type, selector-max-compound-selectors, selector-max-combinators, selector-max-class, declaration-no-important, selector-no-qualifying-type\n\n//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// Provide a static navbar from which we expand to create full-width, fixed, and\n// other navbar variations.\n\n.navbar {\n position: relative;\n min-height: @navbar-height; // Ensure a navbar always shows (e.g., without a .navbar-brand in collapsed mode)\n margin-bottom: @navbar-margin-bottom;\n border: 1px solid transparent;\n\n // Prevent floats from breaking the navbar\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: @navbar-border-radius;\n }\n}\n\n\n// Navbar heading\n//\n// Groups `.navbar-brand` and `.navbar-toggle` into a single component for easy\n// styling of responsive aspects.\n\n.navbar-header {\n &:extend(.clearfix all);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n }\n}\n\n\n// Navbar collapse (body)\n//\n// Group your navbar content into this for easy collapsing and expanding across\n// various device sizes. By default, this content is collapsed when <768px, but\n// will expand past that for a horizontal display.\n//\n// To start (on mobile devices) the navbar links, forms, and buttons are stacked\n// vertically and include a `max-height` to overflow in case you have too much\n// content for the user's viewport.\n\n.navbar-collapse {\n padding-right: @navbar-padding-horizontal;\n padding-left: @navbar-padding-horizontal;\n overflow-x: visible;\n border-top: 1px solid transparent;\n box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1);\n &:extend(.clearfix all);\n -webkit-overflow-scrolling: touch;\n\n &.in {\n overflow-y: auto;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n border-top: 0;\n box-shadow: none;\n\n &.collapse {\n display: block !important;\n height: auto !important;\n padding-bottom: 0; // Override default setting\n overflow: visible !important;\n }\n\n &.in {\n overflow-y: visible;\n }\n\n // Undo the collapse side padding for navbars with containers to ensure\n // alignment of right-aligned contents.\n .navbar-fixed-top &,\n .navbar-static-top &,\n .navbar-fixed-bottom & {\n padding-right: 0;\n padding-left: 0;\n }\n }\n}\n\n.navbar-fixed-top,\n.navbar-fixed-bottom {\n .navbar-collapse {\n max-height: @navbar-collapse-max-height;\n\n @media (max-device-width: @screen-xs-min) and (orientation: landscape) {\n max-height: 200px;\n }\n }\n\n // Fix the top/bottom navbars when screen real estate supports it\n position: fixed;\n right: 0;\n left: 0;\n z-index: @zindex-navbar-fixed;\n\n // Undo the rounded corners\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n\n.navbar-fixed-top {\n top: 0;\n border-width: 0 0 1px;\n}\n.navbar-fixed-bottom {\n bottom: 0;\n margin-bottom: 0; // override .navbar defaults\n border-width: 1px 0 0;\n}\n\n\n// Both navbar header and collapse\n//\n// When a container is present, change the behavior of the header and collapse.\n\n.container,\n.container-fluid {\n > .navbar-header,\n > .navbar-collapse {\n margin-right: -@navbar-padding-horizontal;\n margin-left: -@navbar-padding-horizontal;\n\n @media (min-width: @grid-float-breakpoint) {\n margin-right: 0;\n margin-left: 0;\n }\n }\n}\n\n\n//\n// Navbar alignment options\n//\n// Display the navbar across the entirety of the page or fixed it to the top or\n// bottom of the page.\n\n// Static top (unfixed, but 100% wide) navbar\n.navbar-static-top {\n z-index: @zindex-navbar;\n border-width: 0 0 1px;\n\n @media (min-width: @grid-float-breakpoint) {\n border-radius: 0;\n }\n}\n\n\n// Brand/project name\n\n.navbar-brand {\n float: left;\n height: @navbar-height;\n padding: @navbar-padding-vertical @navbar-padding-horizontal;\n font-size: @font-size-large;\n line-height: @line-height-computed;\n\n &:hover,\n &:focus {\n text-decoration: none;\n }\n\n > img {\n display: block;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n .navbar > .container &,\n .navbar > .container-fluid & {\n margin-left: -@navbar-padding-horizontal;\n }\n }\n}\n\n\n// Navbar toggle\n//\n// Custom button for toggling the `.navbar-collapse`, powered by the collapse\n// JavaScript plugin.\n\n.navbar-toggle {\n position: relative;\n float: right;\n padding: 9px 10px;\n margin-right: @navbar-padding-horizontal;\n .navbar-vertical-align(34px);\n background-color: transparent;\n background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214\n border: 1px solid transparent;\n border-radius: @border-radius-base;\n\n // We remove the `outline` here, but later compensate by attaching `:hover`\n // styles to `:focus`.\n &:focus {\n outline: 0;\n }\n\n // Bars\n .icon-bar {\n display: block;\n width: 22px;\n height: 2px;\n border-radius: 1px;\n }\n .icon-bar + .icon-bar {\n margin-top: 4px;\n }\n\n @media (min-width: @grid-float-breakpoint) {\n display: none;\n }\n}\n\n\n// Navbar nav links\n//\n// Builds on top of the `.nav` components with its own modifier class to make\n// the nav the full height of the horizontal nav (above 768px).\n\n.navbar-nav {\n margin: (@navbar-padding-vertical / 2) -@navbar-padding-horizontal;\n\n > li > a {\n padding-top: 10px;\n padding-bottom: 10px;\n line-height: @line-height-computed;\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n position: static;\n float: none;\n width: auto;\n margin-top: 0;\n background-color: transparent;\n border: 0;\n box-shadow: none;\n > li > a,\n .dropdown-header {\n padding: 5px 15px 5px 25px;\n }\n > li > a {\n line-height: @line-height-computed;\n &:hover,\n &:focus {\n background-image: none;\n }\n }\n }\n }\n\n // Uncollapse the nav\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin: 0;\n\n > li {\n float: left;\n > a {\n padding-top: @navbar-padding-vertical;\n padding-bottom: @navbar-padding-vertical;\n }\n }\n }\n}\n\n\n// Navbar form\n//\n// Extension of the `.form-inline` with some extra flavor for optimum display in\n// our navbars.\n\n.navbar-form {\n padding: 10px @navbar-padding-horizontal;\n margin-right: -@navbar-padding-horizontal;\n margin-left: -@navbar-padding-horizontal;\n border-top: 1px solid transparent;\n border-bottom: 1px solid transparent;\n @shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 1px 0 rgba(255, 255, 255, .1);\n .box-shadow(@shadow);\n\n // Mixin behavior for optimum display\n .form-inline();\n\n .form-group {\n @media (max-width: @grid-float-breakpoint-max) {\n margin-bottom: 5px;\n\n &:last-child {\n margin-bottom: 0;\n }\n }\n }\n\n // Vertically center in expanded, horizontal navbar\n .navbar-vertical-align(@input-height-base);\n\n // Undo 100% width for pull classes\n @media (min-width: @grid-float-breakpoint) {\n width: auto;\n padding-top: 0;\n padding-bottom: 0;\n margin-right: 0;\n margin-left: 0;\n border: 0;\n .box-shadow(none);\n }\n}\n\n\n// Dropdown menus\n\n// Menu position and menu carets\n.navbar-nav > li > .dropdown-menu {\n margin-top: 0;\n .border-top-radius(0);\n}\n// Menu position and menu caret support for dropups via extra dropup class\n.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {\n margin-bottom: 0;\n .border-top-radius(@navbar-border-radius);\n .border-bottom-radius(0);\n}\n\n\n// Buttons in navbars\n//\n// Vertically center a button within a navbar (when *not* in a form).\n\n.navbar-btn {\n .navbar-vertical-align(@input-height-base);\n\n &.btn-sm {\n .navbar-vertical-align(@input-height-small);\n }\n &.btn-xs {\n .navbar-vertical-align(22);\n }\n}\n\n\n// Text in navbars\n//\n// Add a class to make any element properly align itself vertically within the navbars.\n\n.navbar-text {\n .navbar-vertical-align(@line-height-computed);\n\n @media (min-width: @grid-float-breakpoint) {\n float: left;\n margin-right: @navbar-padding-horizontal;\n margin-left: @navbar-padding-horizontal;\n }\n}\n\n\n// Component alignment\n//\n// Repurpose the pull utilities as their own navbar utilities to avoid specificity\n// issues with parents and chaining. Only do this when the navbar is uncollapsed\n// though so that navbar contents properly stack and align in mobile.\n//\n// Declared after the navbar components to ensure more specificity on the margins.\n\n@media (min-width: @grid-float-breakpoint) {\n .navbar-left { .pull-left(); }\n .navbar-right {\n .pull-right();\n margin-right: -@navbar-padding-horizontal;\n\n ~ .navbar-right {\n margin-right: 0;\n }\n }\n}\n\n\n// Alternate navbars\n// --------------------------------------------------\n\n// Default navbar\n.navbar-default {\n background-color: @navbar-default-bg;\n border-color: @navbar-default-border;\n\n .navbar-brand {\n color: @navbar-default-brand-color;\n &:hover,\n &:focus {\n color: @navbar-default-brand-hover-color;\n background-color: @navbar-default-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-default-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-default-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n\n // Dropdown menu items\n // Remove background color from open dropdown\n > .open > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display when collapsed\n .open .dropdown-menu {\n > li > a {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n background-color: @navbar-default-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-active-color;\n background-color: @navbar-default-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n background-color: @navbar-default-link-disabled-bg;\n }\n }\n }\n }\n }\n\n .navbar-toggle {\n border-color: @navbar-default-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-default-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-default-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: @navbar-default-border;\n }\n\n\n // Links in navbars\n //\n // Add a class to ensure links outside the navbar nav are colored correctly.\n\n .navbar-link {\n color: @navbar-default-link-color;\n &:hover {\n color: @navbar-default-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-default-link-color;\n &:hover,\n &:focus {\n color: @navbar-default-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-default-link-disabled-color;\n }\n }\n }\n}\n\n// Inverse navbar\n\n.navbar-inverse {\n background-color: @navbar-inverse-bg;\n border-color: @navbar-inverse-border;\n\n .navbar-brand {\n color: @navbar-inverse-brand-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-brand-hover-color;\n background-color: @navbar-inverse-brand-hover-bg;\n }\n }\n\n .navbar-text {\n color: @navbar-inverse-color;\n }\n\n .navbar-nav {\n > li > a {\n color: @navbar-inverse-link-color;\n\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n\n // Dropdowns\n > .open > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n\n @media (max-width: @grid-float-breakpoint-max) {\n // Dropdowns get custom display\n .open .dropdown-menu {\n > .dropdown-header {\n border-color: @navbar-inverse-border;\n }\n .divider {\n background-color: @navbar-inverse-border;\n }\n > li > a {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n background-color: @navbar-inverse-link-hover-bg;\n }\n }\n > .active > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-active-color;\n background-color: @navbar-inverse-link-active-bg;\n }\n }\n > .disabled > a {\n &,\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n background-color: @navbar-inverse-link-disabled-bg;\n }\n }\n }\n }\n }\n\n // Darken the responsive nav toggle\n .navbar-toggle {\n border-color: @navbar-inverse-toggle-border-color;\n &:hover,\n &:focus {\n background-color: @navbar-inverse-toggle-hover-bg;\n }\n .icon-bar {\n background-color: @navbar-inverse-toggle-icon-bar-bg;\n }\n }\n\n .navbar-collapse,\n .navbar-form {\n border-color: darken(@navbar-inverse-bg, 7%);\n }\n\n .navbar-link {\n color: @navbar-inverse-link-color;\n &:hover {\n color: @navbar-inverse-link-hover-color;\n }\n }\n\n .btn-link {\n color: @navbar-inverse-link-color;\n &:hover,\n &:focus {\n color: @navbar-inverse-link-hover-color;\n }\n &[disabled],\n fieldset[disabled] & {\n &:hover,\n &:focus {\n color: @navbar-inverse-link-disabled-color;\n }\n }\n }\n}\n","// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so write out `.navbar-vertical-align(30px);` to calculate the appropriate top margin.\n\n.navbar-vertical-align(@element-height) {\n margin-top: ((@navbar-height - @element-height) / 2);\n margin-bottom: ((@navbar-height - @element-height) / 2);\n}\n","// stylelint-disable declaration-no-important\n\n//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.clearfix {\n .clearfix();\n}\n.center-block {\n .center-block();\n}\n.pull-right {\n float: right !important;\n}\n.pull-left {\n float: left !important;\n}\n\n\n// Toggling content\n// -------------------------\n\n// Note: Deprecated .hide in favor of .hidden or .sr-only (as appropriate) in v3.0.1\n.hide {\n display: none !important;\n}\n.show {\n display: block !important;\n}\n.invisible {\n visibility: hidden;\n}\n.text-hide {\n .text-hide();\n}\n\n\n// Hide from screenreaders and browsers\n//\n// Credit: HTML5 Boilerplate\n\n.hidden {\n display: none !important;\n}\n\n\n// For Affix plugin\n// -------------------------\n\n.affix {\n position: fixed;\n}\n","//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n padding: @breadcrumb-padding-vertical @breadcrumb-padding-horizontal;\n margin-bottom: @line-height-computed;\n list-style: none;\n background-color: @breadcrumb-bg;\n border-radius: @border-radius-base;\n\n > li {\n display: inline-block;\n\n + li:before {\n padding: 0 5px;\n color: @breadcrumb-color;\n content: \"@{breadcrumb-separator}\\00a0\"; // Unicode space added since inline-block means non-collapsing white-space\n }\n }\n\n > .active {\n color: @breadcrumb-active-color;\n }\n}\n","//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n display: inline-block;\n padding-left: 0;\n margin: @line-height-computed 0;\n border-radius: @border-radius-base;\n\n > li {\n display: inline; // Remove list-style and block-level defaults\n > a,\n > span {\n position: relative;\n float: left; // Collapse white-space\n padding: @padding-base-vertical @padding-base-horizontal;\n margin-left: -1px;\n line-height: @line-height-base;\n color: @pagination-color;\n text-decoration: none;\n background-color: @pagination-bg;\n border: 1px solid @pagination-border;\n\n &:hover,\n &:focus {\n z-index: 2;\n color: @pagination-hover-color;\n background-color: @pagination-hover-bg;\n border-color: @pagination-hover-border;\n }\n }\n &:first-child {\n > a,\n > span {\n margin-left: 0;\n .border-left-radius(@border-radius-base);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius-base);\n }\n }\n }\n\n > .active > a,\n > .active > span {\n &,\n &:hover,\n &:focus {\n z-index: 3;\n color: @pagination-active-color;\n cursor: default;\n background-color: @pagination-active-bg;\n border-color: @pagination-active-border;\n }\n }\n\n > .disabled {\n > span,\n > span:hover,\n > span:focus,\n > a,\n > a:hover,\n > a:focus {\n color: @pagination-disabled-color;\n cursor: @cursor-disabled;\n background-color: @pagination-disabled-bg;\n border-color: @pagination-disabled-border;\n }\n }\n}\n\n// Sizing\n// --------------------------------------------------\n\n// Large\n.pagination-lg {\n .pagination-size(@padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @border-radius-large);\n}\n\n// Small\n.pagination-sm {\n .pagination-size(@padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @border-radius-small);\n}\n","// Pagination\n\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n > li {\n > a,\n > span {\n padding: @padding-vertical @padding-horizontal;\n font-size: @font-size;\n line-height: @line-height;\n }\n &:first-child {\n > a,\n > span {\n .border-left-radius(@border-radius);\n }\n }\n &:last-child {\n > a,\n > span {\n .border-right-radius(@border-radius);\n }\n }\n }\n}\n","//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n padding-left: 0;\n margin: @line-height-computed 0;\n text-align: center;\n list-style: none;\n &:extend(.clearfix all);\n li {\n display: inline;\n > a,\n > span {\n display: inline-block;\n padding: 5px 14px;\n background-color: @pager-bg;\n border: 1px solid @pager-border;\n border-radius: @pager-border-radius;\n }\n\n > a:hover,\n > a:focus {\n text-decoration: none;\n background-color: @pager-hover-bg;\n }\n }\n\n .next {\n > a,\n > span {\n float: right;\n }\n }\n\n .previous {\n > a,\n > span {\n float: left;\n }\n }\n\n .disabled {\n > a,\n > a:hover,\n > a:focus,\n > span {\n color: @pager-disabled-color;\n cursor: @cursor-disabled;\n background-color: @pager-bg;\n }\n }\n}\n","//\n// Labels\n// --------------------------------------------------\n\n.label {\n display: inline;\n padding: .2em .6em .3em;\n font-size: 75%;\n font-weight: 700;\n line-height: 1;\n color: @label-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: baseline;\n border-radius: .25em;\n\n // Add hover effects, but only for links\n a& {\n &:hover,\n &:focus {\n color: @label-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Empty labels collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for labels in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n}\n\n// Colors\n// Contextual variations (linked labels get darker on :hover)\n\n.label-default {\n .label-variant(@label-default-bg);\n}\n\n.label-primary {\n .label-variant(@label-primary-bg);\n}\n\n.label-success {\n .label-variant(@label-success-bg);\n}\n\n.label-info {\n .label-variant(@label-info-bg);\n}\n\n.label-warning {\n .label-variant(@label-warning-bg);\n}\n\n.label-danger {\n .label-variant(@label-danger-bg);\n}\n","// Labels\n\n.label-variant(@color) {\n background-color: @color;\n\n &[href] {\n &:hover,\n &:focus {\n background-color: darken(@color, 10%);\n }\n }\n}\n","//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n display: inline-block;\n min-width: 10px;\n padding: 3px 7px;\n font-size: @font-size-small;\n font-weight: @badge-font-weight;\n line-height: @badge-line-height;\n color: @badge-color;\n text-align: center;\n white-space: nowrap;\n vertical-align: middle;\n background-color: @badge-bg;\n border-radius: @badge-border-radius;\n\n // Empty badges collapse automatically (not available in IE8)\n &:empty {\n display: none;\n }\n\n // Quick fix for badges in buttons\n .btn & {\n position: relative;\n top: -1px;\n }\n\n .btn-xs &,\n .btn-group-xs > .btn & {\n top: 0;\n padding: 1px 5px;\n }\n\n // Hover state, but only for links\n a& {\n &:hover,\n &:focus {\n color: @badge-link-hover-color;\n text-decoration: none;\n cursor: pointer;\n }\n }\n\n // Account for badges in navs\n .list-group-item.active > &,\n .nav-pills > .active > a > & {\n color: @badge-active-color;\n background-color: @badge-active-bg;\n }\n\n .list-group-item > & {\n float: right;\n }\n\n .list-group-item > & + & {\n margin-right: 5px;\n }\n\n .nav-pills > li > a > & {\n margin-left: 3px;\n }\n}\n","//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n padding-top: @jumbotron-padding;\n padding-bottom: @jumbotron-padding;\n margin-bottom: @jumbotron-padding;\n color: @jumbotron-color;\n background-color: @jumbotron-bg;\n\n h1,\n .h1 {\n color: @jumbotron-heading-color;\n }\n\n p {\n margin-bottom: (@jumbotron-padding / 2);\n font-size: @jumbotron-font-size;\n font-weight: 200;\n }\n\n > hr {\n border-top-color: darken(@jumbotron-bg, 10%);\n }\n\n .container &,\n .container-fluid & {\n padding-right: (@grid-gutter-width / 2);\n padding-left: (@grid-gutter-width / 2);\n border-radius: @border-radius-large; // Only round corners at higher resolutions if contained in a container\n }\n\n .container {\n max-width: 100%;\n }\n\n @media screen and (min-width: @screen-sm-min) {\n padding-top: (@jumbotron-padding * 1.6);\n padding-bottom: (@jumbotron-padding * 1.6);\n\n .container &,\n .container-fluid & {\n padding-right: (@jumbotron-padding * 2);\n padding-left: (@jumbotron-padding * 2);\n }\n\n h1,\n .h1 {\n font-size: @jumbotron-heading-font-size;\n }\n }\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.thumbnail {\n display: block;\n padding: @thumbnail-padding;\n margin-bottom: @line-height-computed;\n line-height: @line-height-base;\n background-color: @thumbnail-bg;\n border: 1px solid @thumbnail-border;\n border-radius: @thumbnail-border-radius;\n .transition(border .2s ease-in-out);\n\n > img,\n a > img {\n &:extend(.img-responsive);\n margin-right: auto;\n margin-left: auto;\n }\n\n // Add a hover state for linked versions only\n a&:hover,\n a&:focus,\n a&.active {\n border-color: @link-color;\n }\n\n // Image captions\n .caption {\n padding: @thumbnail-caption-padding;\n color: @thumbnail-caption-color;\n }\n}\n","//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert {\n padding: @alert-padding;\n margin-bottom: @line-height-computed;\n border: 1px solid transparent;\n border-radius: @alert-border-radius;\n\n // Headings for larger alerts\n h4 {\n margin-top: 0;\n color: inherit; // Specified for the h4 to prevent conflicts of changing @headings-color\n }\n\n // Provide class for links that match alerts\n .alert-link {\n font-weight: @alert-link-font-weight;\n }\n\n // Improve alignment and spacing of inner content\n > p,\n > ul {\n margin-bottom: 0;\n }\n\n > p + p {\n margin-top: 5px;\n }\n}\n\n// Dismissible alerts\n//\n// Expand the right padding and account for the close button's positioning.\n\n// The misspelled .alert-dismissable was deprecated in 3.2.0.\n.alert-dismissable,\n.alert-dismissible {\n padding-right: (@alert-padding + 20);\n\n // Adjust close link position\n .close {\n position: relative;\n top: -2px;\n right: -21px;\n color: inherit;\n }\n}\n\n// Alternate styles\n//\n// Generate contextual modifier classes for colorizing the alert.\n\n.alert-success {\n .alert-variant(@alert-success-bg; @alert-success-border; @alert-success-text);\n}\n\n.alert-info {\n .alert-variant(@alert-info-bg; @alert-info-border; @alert-info-text);\n}\n\n.alert-warning {\n .alert-variant(@alert-warning-bg; @alert-warning-border; @alert-warning-text);\n}\n\n.alert-danger {\n .alert-variant(@alert-danger-bg; @alert-danger-border; @alert-danger-text);\n}\n","// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n color: @text-color;\n background-color: @background;\n border-color: @border;\n\n hr {\n border-top-color: darken(@border, 5%);\n }\n\n .alert-link {\n color: darken(@text-color, 10%);\n }\n}\n","// stylelint-disable at-rule-no-vendor-prefix\n\n//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -------------------------\n\n// WebKit\n@-webkit-keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n// Spec and IE10+\n@keyframes progress-bar-stripes {\n from { background-position: 40px 0; }\n to { background-position: 0 0; }\n}\n\n\n// Bar itself\n// -------------------------\n\n// Outer container\n.progress {\n height: @line-height-computed;\n margin-bottom: @line-height-computed;\n overflow: hidden;\n background-color: @progress-bg;\n border-radius: @progress-border-radius;\n .box-shadow(inset 0 1px 2px rgba(0, 0, 0, .1));\n}\n\n// Bar of progress\n.progress-bar {\n float: left;\n width: 0%;\n height: 100%;\n font-size: @font-size-small;\n line-height: @line-height-computed;\n color: @progress-bar-color;\n text-align: center;\n background-color: @progress-bar-bg;\n .box-shadow(inset 0 -1px 0 rgba(0, 0, 0, .15));\n .transition(width .6s ease);\n}\n\n// Striped bars\n//\n// `.progress-striped .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar-striped` class, which you just add to an existing\n// `.progress-bar`.\n.progress-striped .progress-bar,\n.progress-bar-striped {\n #gradient > .striped();\n background-size: 40px 40px;\n}\n\n// Call animation for the active one\n//\n// `.progress.active .progress-bar` is deprecated as of v3.2.0 in favor of the\n// `.progress-bar.active` approach.\n.progress.active .progress-bar,\n.progress-bar.active {\n .animation(progress-bar-stripes 2s linear infinite);\n}\n\n\n// Variations\n// -------------------------\n\n.progress-bar-success {\n .progress-bar-variant(@progress-bar-success-bg);\n}\n\n.progress-bar-info {\n .progress-bar-variant(@progress-bar-info-bg);\n}\n\n.progress-bar-warning {\n .progress-bar-variant(@progress-bar-warning-bg);\n}\n\n.progress-bar-danger {\n .progress-bar-variant(@progress-bar-danger-bg);\n}\n","// stylelint-disable value-no-vendor-prefix, selector-max-id\n\n#gradient {\n\n // Horizontal gradient, from left to right\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down\n background-repeat: repeat-x;\n }\n\n // Vertical gradient, from top to bottom\n //\n // Creates two color stops, start and end, by specifying a color and position for each color stop.\n // Color stops are not available in IE9 and below.\n .vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {\n background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent); // Opera 12\n background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down\n background-repeat: repeat-x;\n }\n\n .directional(@start-color: #555; @end-color: #333; @deg: 45deg) {\n background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+\n background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12\n background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+\n background-repeat: repeat-x;\n }\n .horizontal-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(left, @start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(to right, @start-color, @mid-color @color-stop, @end-color);\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n background-repeat: no-repeat;\n }\n .vertical-three-colors(@start-color: #00b3ee; @mid-color: #7a43b6; @color-stop: 50%; @end-color: #c3325f) {\n background-image: -webkit-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: -o-linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n background-image: linear-gradient(@start-color, @mid-color @color-stop, @end-color);\n filter: e(%(\"progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)\", argb(@start-color), argb(@end-color))); // IE9 and down, gets no color-stop at all for proper fallback\n background-repeat: no-repeat;\n }\n .radial(@inner-color: #555; @outer-color: #333) {\n background-image: -webkit-radial-gradient(circle, @inner-color, @outer-color);\n background-image: radial-gradient(circle, @inner-color, @outer-color);\n background-repeat: no-repeat;\n }\n .striped(@color: rgba(255, 255, 255, .15); @angle: 45deg) {\n background-image: -webkit-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: -o-linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n background-image: linear-gradient(@angle, @color 25%, transparent 25%, transparent 50%, @color 50%, @color 75%, transparent 75%, transparent);\n }\n}\n","// Progress bars\n\n.progress-bar-variant(@color) {\n background-color: @color;\n\n // Deprecated parent class requirement as of v3.2.0\n .progress-striped & {\n #gradient > .striped();\n }\n}\n",".media {\n // Proper spacing between instances of .media\n margin-top: 15px;\n\n &:first-child {\n margin-top: 0;\n }\n}\n\n.media,\n.media-body {\n overflow: hidden;\n zoom: 1;\n}\n\n.media-body {\n width: 10000px;\n}\n\n.media-object {\n display: block;\n\n // Fix collapse in webkit from max-width: 100% and display: table-cell.\n &.img-thumbnail {\n max-width: none;\n }\n}\n\n.media-right,\n.media > .pull-right {\n padding-left: 10px;\n}\n\n.media-left,\n.media > .pull-left {\n padding-right: 10px;\n}\n\n.media-left,\n.media-right,\n.media-body {\n display: table-cell;\n vertical-align: top;\n}\n\n.media-middle {\n vertical-align: middle;\n}\n\n.media-bottom {\n vertical-align: bottom;\n}\n\n// Reset margins on headings for tighter default spacing\n.media-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n\n// Media list variation\n//\n// Undo default ul/ol styles\n.media-list {\n padding-left: 0;\n list-style: none;\n}\n","// stylelint-disable selector-no-qualifying-type\n\n//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on <ul>, <ol>, or <div>.\n\n.list-group {\n // No need to set list-style: none; since .list-group-item is block level\n padding-left: 0; // reset padding because ul and ol\n margin-bottom: 20px;\n}\n\n\n// Individual list items\n//\n// Use on `li`s or `div`s within the `.list-group` parent.\n\n.list-group-item {\n position: relative;\n display: block;\n padding: 10px 15px;\n // Place the border on the list items and negative margin up for better styling\n margin-bottom: -1px;\n background-color: @list-group-bg;\n border: 1px solid @list-group-border;\n\n // Round the first and last items\n &:first-child {\n .border-top-radius(@list-group-border-radius);\n }\n &:last-child {\n margin-bottom: 0;\n .border-bottom-radius(@list-group-border-radius);\n }\n\n // Disabled state\n &.disabled,\n &.disabled:hover,\n &.disabled:focus {\n color: @list-group-disabled-color;\n cursor: @cursor-disabled;\n background-color: @list-group-disabled-bg;\n\n // Force color to inherit for custom content\n .list-group-item-heading {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-disabled-text-color;\n }\n }\n\n // Active class on item itself, not parent\n &.active,\n &.active:hover,\n &.active:focus {\n z-index: 2; // Place active items above their siblings for proper border styling\n color: @list-group-active-color;\n background-color: @list-group-active-bg;\n border-color: @list-group-active-border;\n\n // Force color to inherit for custom content\n .list-group-item-heading,\n .list-group-item-heading > small,\n .list-group-item-heading > .small {\n color: inherit;\n }\n .list-group-item-text {\n color: @list-group-active-text-color;\n }\n }\n}\n\n\n// Interactive list items\n//\n// Use anchor or button elements instead of `li`s or `div`s to create interactive items.\n// Includes an extra `.active` modifier class for showing selected items.\n\na.list-group-item,\nbutton.list-group-item {\n color: @list-group-link-color;\n\n .list-group-item-heading {\n color: @list-group-link-heading-color;\n }\n\n // Hover state\n &:hover,\n &:focus {\n color: @list-group-link-hover-color;\n text-decoration: none;\n background-color: @list-group-hover-bg;\n }\n}\n\nbutton.list-group-item {\n width: 100%;\n text-align: left;\n}\n\n\n// Contextual variants\n//\n// Add modifier classes to change text and background color on individual items.\n// Organizationally, this must come after the `:hover` states.\n\n.list-group-item-variant(success; @state-success-bg; @state-success-text);\n.list-group-item-variant(info; @state-info-bg; @state-info-text);\n.list-group-item-variant(warning; @state-warning-bg; @state-warning-text);\n.list-group-item-variant(danger; @state-danger-bg; @state-danger-text);\n\n\n// Custom content options\n//\n// Extra classes for creating well-formatted content within `.list-group-item`s.\n\n.list-group-item-heading {\n margin-top: 0;\n margin-bottom: 5px;\n}\n.list-group-item-text {\n margin-bottom: 0;\n line-height: 1.3;\n}\n","// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n .list-group-item-@{state} {\n color: @color;\n background-color: @background;\n\n a&,\n button& {\n color: @color;\n\n .list-group-item-heading {\n color: inherit;\n }\n\n &:hover,\n &:focus {\n color: @color;\n background-color: darken(@background, 5%);\n }\n &.active,\n &.active:hover,\n &.active:focus {\n color: #fff;\n background-color: @color;\n border-color: @color;\n }\n }\n }\n}\n","// stylelint-disable selector-max-type, selector-max-compound-selectors, selector-max-combinators, no-duplicate-selectors\n\n//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n margin-bottom: @line-height-computed;\n background-color: @panel-bg;\n border: 1px solid transparent;\n border-radius: @panel-border-radius;\n .box-shadow(0 1px 1px rgba(0, 0, 0, .05));\n}\n\n// Panel contents\n.panel-body {\n padding: @panel-body-padding;\n &:extend(.clearfix all);\n}\n\n// Optional heading\n.panel-heading {\n padding: @panel-heading-padding;\n border-bottom: 1px solid transparent;\n .border-top-radius((@panel-border-radius - 1));\n\n > .dropdown .dropdown-toggle {\n color: inherit;\n }\n}\n\n// Within heading, strip any `h*` tag of its default margins for spacing.\n.panel-title {\n margin-top: 0;\n margin-bottom: 0;\n font-size: ceil((@font-size-base * 1.125));\n color: inherit;\n\n > a,\n > small,\n > .small,\n > small > a,\n > .small > a {\n color: inherit;\n }\n}\n\n// Optional footer (stays gray in every modifier class)\n.panel-footer {\n padding: @panel-footer-padding;\n background-color: @panel-footer-bg;\n border-top: 1px solid @panel-inner-border;\n .border-bottom-radius((@panel-border-radius - 1));\n}\n\n\n// List groups in panels\n//\n// By default, space out list group content from panel headings to account for\n// any kind of custom content between the two.\n\n.panel {\n > .list-group,\n > .panel-collapse > .list-group {\n margin-bottom: 0;\n\n .list-group-item {\n border-width: 1px 0;\n border-radius: 0;\n }\n\n // Add border top radius for first one\n &:first-child {\n .list-group-item:first-child {\n border-top: 0;\n .border-top-radius((@panel-border-radius - 1));\n }\n }\n\n // Add border bottom radius for last one\n &:last-child {\n .list-group-item:last-child {\n border-bottom: 0;\n .border-bottom-radius((@panel-border-radius - 1));\n }\n }\n }\n > .panel-heading + .panel-collapse > .list-group {\n .list-group-item:first-child {\n .border-top-radius(0);\n }\n }\n}\n// Collapse space between when there's no additional content.\n.panel-heading + .list-group {\n .list-group-item:first-child {\n border-top-width: 0;\n }\n}\n.list-group + .panel-footer {\n border-top-width: 0;\n}\n\n// Tables in panels\n//\n// Place a non-bordered `.table` within a panel (not within a `.panel-body`) and\n// watch it go full width.\n\n.panel {\n > .table,\n > .table-responsive > .table,\n > .panel-collapse > .table {\n margin-bottom: 0;\n\n caption {\n padding-right: @panel-body-padding;\n padding-left: @panel-body-padding;\n }\n }\n // Add border top radius for first one\n > .table:first-child,\n > .table-responsive:first-child > .table:first-child {\n .border-top-radius((@panel-border-radius - 1));\n\n > thead:first-child,\n > tbody:first-child {\n > tr:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n border-top-right-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-top-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-top-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n // Add border bottom radius for last one\n > .table:last-child,\n > .table-responsive:last-child > .table:last-child {\n .border-bottom-radius((@panel-border-radius - 1));\n\n > tbody:last-child,\n > tfoot:last-child {\n > tr:last-child {\n border-bottom-right-radius: (@panel-border-radius - 1);\n border-bottom-left-radius: (@panel-border-radius - 1);\n\n td:first-child,\n th:first-child {\n border-bottom-left-radius: (@panel-border-radius - 1);\n }\n td:last-child,\n th:last-child {\n border-bottom-right-radius: (@panel-border-radius - 1);\n }\n }\n }\n }\n > .panel-body + .table,\n > .panel-body + .table-responsive,\n > .table + .panel-body,\n > .table-responsive + .panel-body {\n border-top: 1px solid @table-border-color;\n }\n > .table > tbody:first-child > tr:first-child th,\n > .table > tbody:first-child > tr:first-child td {\n border-top: 0;\n }\n > .table-bordered,\n > .table-responsive > .table-bordered {\n border: 0;\n > thead,\n > tbody,\n > tfoot {\n > tr {\n > th:first-child,\n > td:first-child {\n border-left: 0;\n }\n > th:last-child,\n > td:last-child {\n border-right: 0;\n }\n }\n }\n > thead,\n > tbody {\n > tr:first-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n > tbody,\n > tfoot {\n > tr:last-child {\n > td,\n > th {\n border-bottom: 0;\n }\n }\n }\n }\n > .table-responsive {\n margin-bottom: 0;\n border: 0;\n }\n}\n\n\n// Collapsible panels (aka, accordion)\n//\n// Wrap a series of panels in `.panel-group` to turn them into an accordion with\n// the help of our collapse JavaScript plugin.\n\n.panel-group {\n margin-bottom: @line-height-computed;\n\n // Tighten up margin so it's only between panels\n .panel {\n margin-bottom: 0;\n border-radius: @panel-border-radius;\n\n + .panel {\n margin-top: 5px;\n }\n }\n\n .panel-heading {\n border-bottom: 0;\n\n + .panel-collapse > .panel-body,\n + .panel-collapse > .list-group {\n border-top: 1px solid @panel-inner-border;\n }\n }\n\n .panel-footer {\n border-top: 0;\n + .panel-collapse .panel-body {\n border-bottom: 1px solid @panel-inner-border;\n }\n }\n}\n\n\n// Contextual variations\n.panel-default {\n .panel-variant(@panel-default-border; @panel-default-text; @panel-default-heading-bg; @panel-default-border);\n}\n.panel-primary {\n .panel-variant(@panel-primary-border; @panel-primary-text; @panel-primary-heading-bg; @panel-primary-border);\n}\n.panel-success {\n .panel-variant(@panel-success-border; @panel-success-text; @panel-success-heading-bg; @panel-success-border);\n}\n.panel-info {\n .panel-variant(@panel-info-border; @panel-info-text; @panel-info-heading-bg; @panel-info-border);\n}\n.panel-warning {\n .panel-variant(@panel-warning-border; @panel-warning-text; @panel-warning-heading-bg; @panel-warning-border);\n}\n.panel-danger {\n .panel-variant(@panel-danger-border; @panel-danger-text; @panel-danger-heading-bg; @panel-danger-border);\n}\n","// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n border-color: @border;\n\n & > .panel-heading {\n color: @heading-text-color;\n background-color: @heading-bg-color;\n border-color: @heading-border;\n\n + .panel-collapse > .panel-body {\n border-top-color: @border;\n }\n .badge {\n color: @heading-bg-color;\n background-color: @heading-text-color;\n }\n }\n & > .panel-footer {\n + .panel-collapse > .panel-body {\n border-bottom-color: @border;\n }\n }\n}\n","// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n position: relative;\n display: block;\n height: 0;\n padding: 0;\n overflow: hidden;\n\n .embed-responsive-item,\n iframe,\n embed,\n object,\n video {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 100%;\n border: 0;\n }\n}\n\n// Modifier class for 16:9 aspect ratio\n.embed-responsive-16by9 {\n padding-bottom: 56.25%;\n}\n\n// Modifier class for 4:3 aspect ratio\n.embed-responsive-4by3 {\n padding-bottom: 75%;\n}\n","//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n min-height: 20px;\n padding: 19px;\n margin-bottom: 20px;\n background-color: @well-bg;\n border: 1px solid @well-border;\n border-radius: @border-radius-base;\n .box-shadow(inset 0 1px 1px rgba(0, 0, 0, .05));\n blockquote {\n border-color: #ddd;\n border-color: rgba(0, 0, 0, .15);\n }\n}\n\n// Sizes\n.well-lg {\n padding: 24px;\n border-radius: @border-radius-large;\n}\n.well-sm {\n padding: 9px;\n border-radius: @border-radius-small;\n}\n","// stylelint-disable property-no-vendor-prefix\n\n//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n float: right;\n font-size: (@font-size-base * 1.5);\n font-weight: @close-font-weight;\n line-height: 1;\n color: @close-color;\n text-shadow: @close-text-shadow;\n .opacity(.2);\n\n &:hover,\n &:focus {\n color: @close-color;\n text-decoration: none;\n cursor: pointer;\n .opacity(.5);\n }\n\n // Additional properties for button version\n // iOS requires the button element instead of an anchor tag.\n // If you want the anchor version, it requires `href=\"#\"`.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile\n button& {\n padding: 0;\n cursor: pointer;\n background: transparent;\n border: 0;\n -webkit-appearance: none;\n appearance: none;\n }\n}\n","//\n// Modals\n// --------------------------------------------------\n\n// .modal-open - body class for killing the scroll\n// .modal - container to scroll within\n// .modal-dialog - positioning shell for the actual modal\n// .modal-content - actual modal w/ bg and corners and shit\n\n// Kill the scroll on the body\n.modal-open {\n overflow: hidden;\n}\n\n// Container that the modal scrolls within\n.modal {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal;\n display: none;\n overflow: hidden;\n -webkit-overflow-scrolling: touch;\n\n // Prevent Chrome on Windows from adding a focus outline. For details, see\n // https://github.com/twbs/bootstrap/pull/10951.\n outline: 0;\n\n // When fading in the modal, animate it to slide down\n &.fade .modal-dialog {\n .translate(0, -25%);\n .transition-transform(~\"0.3s ease-out\");\n }\n &.in .modal-dialog { .translate(0, 0); }\n}\n.modal-open .modal {\n overflow-x: hidden;\n overflow-y: auto;\n}\n\n// Shell div to position the modal with bottom padding\n.modal-dialog {\n position: relative;\n width: auto;\n margin: 10px;\n}\n\n// Actual modal\n.modal-content {\n position: relative;\n background-color: @modal-content-bg;\n background-clip: padding-box;\n border: 1px solid @modal-content-fallback-border-color; //old browsers fallback (ie8 etc)\n border: 1px solid @modal-content-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 3px 9px rgba(0, 0, 0, .5));\n // Remove focus outline from opened modal\n outline: 0;\n}\n\n// Modal background\n.modal-backdrop {\n position: fixed;\n top: 0;\n right: 0;\n bottom: 0;\n left: 0;\n z-index: @zindex-modal-background;\n background-color: @modal-backdrop-bg;\n // Fade for backdrop\n &.fade { .opacity(0); }\n &.in { .opacity(@modal-backdrop-opacity); }\n}\n\n// Modal header\n// Top section of the modal w/ title and dismiss\n.modal-header {\n padding: @modal-title-padding;\n border-bottom: 1px solid @modal-header-border-color;\n &:extend(.clearfix all);\n}\n// Close icon\n.modal-header .close {\n margin-top: -2px;\n}\n\n// Title text within header\n.modal-title {\n margin: 0;\n line-height: @modal-title-line-height;\n}\n\n// Modal body\n// Where all modal content resides (sibling of .modal-header and .modal-footer)\n.modal-body {\n position: relative;\n padding: @modal-inner-padding;\n}\n\n// Footer (for actions)\n.modal-footer {\n padding: @modal-inner-padding;\n text-align: right; // right align buttons\n border-top: 1px solid @modal-footer-border-color;\n &:extend(.clearfix all); // clear it in case folks use .pull-* classes on buttons\n\n // Properly space out buttons\n .btn + .btn {\n margin-bottom: 0; // account for input[type=\"submit\"] which gets the bottom margin like all other inputs\n margin-left: 5px;\n }\n // but override that for button groups\n .btn-group .btn + .btn {\n margin-left: -1px;\n }\n // and override it for block buttons as well\n .btn-block + .btn-block {\n margin-left: 0;\n }\n}\n\n// Measure scrollbar width for padding body during modal show/hide\n.modal-scrollbar-measure {\n position: absolute;\n top: -9999px;\n width: 50px;\n height: 50px;\n overflow: scroll;\n}\n\n// Scale up the modal\n@media (min-width: @screen-sm-min) {\n // Automatically set modal's width for larger viewports\n .modal-dialog {\n width: @modal-md;\n margin: 30px auto;\n }\n .modal-content {\n .box-shadow(0 5px 15px rgba(0, 0, 0, .5));\n }\n\n // Modal sizes\n .modal-sm { width: @modal-sm; }\n}\n\n@media (min-width: @screen-md-min) {\n .modal-lg { width: @modal-lg; }\n}\n","//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n position: absolute;\n z-index: @zindex-tooltip;\n display: block;\n // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-small;\n\n .opacity(0);\n\n &.in { .opacity(@tooltip-opacity); }\n &.top {\n padding: @tooltip-arrow-width 0;\n margin-top: -3px;\n }\n &.right {\n padding: 0 @tooltip-arrow-width;\n margin-left: 3px;\n }\n &.bottom {\n padding: @tooltip-arrow-width 0;\n margin-top: 3px;\n }\n &.left {\n padding: 0 @tooltip-arrow-width;\n margin-left: -3px;\n }\n\n // Note: Deprecated .top-left, .top-right, .bottom-left, and .bottom-right as of v3.3.1\n &.top .tooltip-arrow {\n bottom: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-left .tooltip-arrow {\n right: @tooltip-arrow-width;\n bottom: 0;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.top-right .tooltip-arrow {\n bottom: 0;\n left: @tooltip-arrow-width;\n margin-bottom: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width 0;\n border-top-color: @tooltip-arrow-color;\n }\n &.right .tooltip-arrow {\n top: 50%;\n left: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width @tooltip-arrow-width @tooltip-arrow-width 0;\n border-right-color: @tooltip-arrow-color;\n }\n &.left .tooltip-arrow {\n top: 50%;\n right: 0;\n margin-top: -@tooltip-arrow-width;\n border-width: @tooltip-arrow-width 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-left-color: @tooltip-arrow-color;\n }\n &.bottom .tooltip-arrow {\n top: 0;\n left: 50%;\n margin-left: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-left .tooltip-arrow {\n top: 0;\n right: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n &.bottom-right .tooltip-arrow {\n top: 0;\n left: @tooltip-arrow-width;\n margin-top: -@tooltip-arrow-width;\n border-width: 0 @tooltip-arrow-width @tooltip-arrow-width;\n border-bottom-color: @tooltip-arrow-color;\n }\n}\n\n// Wrapper for the tooltip content\n.tooltip-inner {\n max-width: @tooltip-max-width;\n padding: 3px 8px;\n color: @tooltip-color;\n text-align: center;\n background-color: @tooltip-bg;\n border-radius: @border-radius-base;\n}\n\n// Arrows\n.tooltip-arrow {\n position: absolute;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n}\n",".reset-text() {\n font-family: @font-family-base;\n // We deliberately do NOT reset font-size.\n font-style: normal;\n font-weight: 400;\n line-height: @line-height-base;\n line-break: auto;\n text-align: left; // Fallback for where `start` is not supported\n text-align: start;\n text-decoration: none;\n text-shadow: none;\n text-transform: none;\n letter-spacing: normal;\n word-break: normal;\n word-spacing: normal;\n word-wrap: normal;\n white-space: normal;\n}\n","//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n position: absolute;\n top: 0;\n left: 0;\n z-index: @zindex-popover;\n display: none;\n max-width: @popover-max-width;\n padding: 1px;\n // Our parent element can be arbitrary since popovers are by default inserted as a sibling of their target element.\n // So reset our font and text properties to avoid inheriting weird values.\n .reset-text();\n font-size: @font-size-base;\n background-color: @popover-bg;\n background-clip: padding-box;\n border: 1px solid @popover-fallback-border-color;\n border: 1px solid @popover-border-color;\n border-radius: @border-radius-large;\n .box-shadow(0 5px 10px rgba(0, 0, 0, .2));\n\n // Offset the popover to account for the popover arrow\n &.top { margin-top: -@popover-arrow-width; }\n &.right { margin-left: @popover-arrow-width; }\n &.bottom { margin-top: @popover-arrow-width; }\n &.left { margin-left: -@popover-arrow-width; }\n\n // Arrows\n // .arrow is outer, .arrow:after is inner\n > .arrow {\n border-width: @popover-arrow-outer-width;\n\n &,\n &:after {\n position: absolute;\n display: block;\n width: 0;\n height: 0;\n border-color: transparent;\n border-style: solid;\n }\n\n &:after {\n content: \"\";\n border-width: @popover-arrow-width;\n }\n }\n\n &.top > .arrow {\n bottom: -@popover-arrow-outer-width;\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-top-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-top-color: @popover-arrow-outer-color;\n border-bottom-width: 0;\n &:after {\n bottom: 1px;\n margin-left: -@popover-arrow-width;\n content: \" \";\n border-top-color: @popover-arrow-color;\n border-bottom-width: 0;\n }\n }\n &.right > .arrow {\n top: 50%;\n left: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-right-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-right-color: @popover-arrow-outer-color;\n border-left-width: 0;\n &:after {\n bottom: -@popover-arrow-width;\n left: 1px;\n content: \" \";\n border-right-color: @popover-arrow-color;\n border-left-width: 0;\n }\n }\n &.bottom > .arrow {\n top: -@popover-arrow-outer-width;\n left: 50%;\n margin-left: -@popover-arrow-outer-width;\n border-top-width: 0;\n border-bottom-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-bottom-color: @popover-arrow-outer-color;\n &:after {\n top: 1px;\n margin-left: -@popover-arrow-width;\n content: \" \";\n border-top-width: 0;\n border-bottom-color: @popover-arrow-color;\n }\n }\n\n &.left > .arrow {\n top: 50%;\n right: -@popover-arrow-outer-width;\n margin-top: -@popover-arrow-outer-width;\n border-right-width: 0;\n border-left-color: @popover-arrow-outer-fallback-color; // IE8 fallback\n border-left-color: @popover-arrow-outer-color;\n &:after {\n right: 1px;\n bottom: -@popover-arrow-width;\n content: \" \";\n border-right-width: 0;\n border-left-color: @popover-arrow-color;\n }\n }\n}\n\n.popover-title {\n padding: 8px 14px;\n margin: 0; // reset heading margin\n font-size: @font-size-base;\n background-color: @popover-title-bg;\n border-bottom: 1px solid darken(@popover-title-bg, 5%);\n border-radius: (@border-radius-large - 1) (@border-radius-large - 1) 0 0;\n}\n\n.popover-content {\n padding: 9px 14px;\n}\n","// stylelint-disable media-feature-name-no-unknown\n\n//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide container and indicators\n.carousel {\n position: relative;\n}\n\n.carousel-inner {\n position: relative;\n width: 100%;\n overflow: hidden;\n\n > .item {\n position: relative;\n display: none;\n .transition(.6s ease-in-out left);\n\n // Account for jankitude on images\n > img,\n > a > img {\n &:extend(.img-responsive);\n line-height: 1;\n }\n\n // WebKit CSS3 transforms for supported devices\n @media all and (transform-3d), (-webkit-transform-3d) {\n .transition-transform(~\"0.6s ease-in-out\");\n .backface-visibility(~\"hidden\");\n .perspective(1000px);\n\n &.next,\n &.active.right {\n .translate3d(100%, 0, 0);\n left: 0;\n }\n &.prev,\n &.active.left {\n .translate3d(-100%, 0, 0);\n left: 0;\n }\n &.next.left,\n &.prev.right,\n &.active {\n .translate3d(0, 0, 0);\n left: 0;\n }\n }\n }\n\n > .active,\n > .next,\n > .prev {\n display: block;\n }\n\n > .active {\n left: 0;\n }\n\n > .next,\n > .prev {\n position: absolute;\n top: 0;\n width: 100%;\n }\n\n > .next {\n left: 100%;\n }\n > .prev {\n left: -100%;\n }\n > .next.left,\n > .prev.right {\n left: 0;\n }\n\n > .active.left {\n left: -100%;\n }\n > .active.right {\n left: 100%;\n }\n\n}\n\n// Left/right controls for nav\n// ---------------------------\n\n.carousel-control {\n position: absolute;\n top: 0;\n bottom: 0;\n left: 0;\n width: @carousel-control-width;\n font-size: @carousel-control-font-size;\n color: @carousel-control-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n background-color: rgba(0, 0, 0, 0); // Fix IE9 click-thru bug\n .opacity(@carousel-control-opacity);\n // We can't have this transition here because WebKit cancels the carousel\n // animation if you trip this while in the middle of another animation.\n\n // Set gradients for backgrounds\n &.left {\n #gradient > .horizontal(@start-color: rgba(0, 0, 0, .5); @end-color: rgba(0, 0, 0, .0001));\n }\n &.right {\n right: 0;\n left: auto;\n #gradient > .horizontal(@start-color: rgba(0, 0, 0, .0001); @end-color: rgba(0, 0, 0, .5));\n }\n\n // Hover/focus state\n &:hover,\n &:focus {\n color: @carousel-control-color;\n text-decoration: none;\n outline: 0;\n .opacity(.9);\n }\n\n // Toggles\n .icon-prev,\n .icon-next,\n .glyphicon-chevron-left,\n .glyphicon-chevron-right {\n position: absolute;\n top: 50%;\n z-index: 5;\n display: inline-block;\n margin-top: -10px;\n }\n .icon-prev,\n .glyphicon-chevron-left {\n left: 50%;\n margin-left: -10px;\n }\n .icon-next,\n .glyphicon-chevron-right {\n right: 50%;\n margin-right: -10px;\n }\n .icon-prev,\n .icon-next {\n width: 20px;\n height: 20px;\n font-family: serif;\n line-height: 1;\n }\n\n .icon-prev {\n &:before {\n content: \"\\2039\";// SINGLE LEFT-POINTING ANGLE QUOTATION MARK (U+2039)\n }\n }\n .icon-next {\n &:before {\n content: \"\\203a\";// SINGLE RIGHT-POINTING ANGLE QUOTATION MARK (U+203A)\n }\n }\n}\n\n// Optional indicator pips\n//\n// Add an unordered list with the following class and add a list item for each\n// slide your carousel holds.\n\n.carousel-indicators {\n position: absolute;\n bottom: 10px;\n left: 50%;\n z-index: 15;\n width: 60%;\n padding-left: 0;\n margin-left: -30%;\n text-align: center;\n list-style: none;\n\n li {\n display: inline-block;\n width: 10px;\n height: 10px;\n margin: 1px;\n text-indent: -999px;\n cursor: pointer;\n // IE8-9 hack for event handling\n //\n // Internet Explorer 8-9 does not support clicks on elements without a set\n // `background-color`. We cannot use `filter` since that's not viewed as a\n // background color by the browser. Thus, a hack is needed.\n // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Internet_Explorer\n //\n // For IE8, we set solid black as it doesn't support `rgba()`. For IE9, we\n // set alpha transparency for the best results possible.\n background-color: #000 \\9; // IE8\n background-color: rgba(0, 0, 0, 0); // IE9\n\n border: 1px solid @carousel-indicator-border-color;\n border-radius: 10px;\n }\n\n .active {\n width: 12px;\n height: 12px;\n margin: 0;\n background-color: @carousel-indicator-active-bg;\n }\n}\n\n// Optional captions\n// -----------------------------\n// Hidden by default for smaller viewports\n.carousel-caption {\n position: absolute;\n right: 15%;\n bottom: 20px;\n left: 15%;\n z-index: 10;\n padding-top: 20px;\n padding-bottom: 20px;\n color: @carousel-caption-color;\n text-align: center;\n text-shadow: @carousel-text-shadow;\n\n & .btn {\n text-shadow: none; // No shadow for button elements in carousel-caption\n }\n}\n\n\n// Scale up controls for tablets and up\n@media screen and (min-width: @screen-sm-min) {\n\n // Scale up the controls a smidge\n .carousel-control {\n .glyphicon-chevron-left,\n .glyphicon-chevron-right,\n .icon-prev,\n .icon-next {\n width: (@carousel-control-font-size * 1.5);\n height: (@carousel-control-font-size * 1.5);\n margin-top: (@carousel-control-font-size / -2);\n font-size: (@carousel-control-font-size * 1.5);\n }\n .glyphicon-chevron-left,\n .icon-prev {\n margin-left: (@carousel-control-font-size / -2);\n }\n .glyphicon-chevron-right,\n .icon-next {\n margin-right: (@carousel-control-font-size / -2);\n }\n }\n\n // Show and left align the captions\n .carousel-caption {\n right: 20%;\n left: 20%;\n padding-bottom: 30px;\n }\n\n // Move up the indicators\n .carousel-indicators {\n bottom: 20px;\n }\n}\n","// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n// contenteditable attribute is included anywhere else in the document.\n// Otherwise it causes space to appear at the top and bottom of elements\n// that are clearfixed.\n// 2. The use of `table` rather than `block` is only necessary if using\n// `:before` to contain the top-margins of child elements.\n//\n// Source: http://nicolasgallagher.com/micro-clearfix-hack/\n\n.clearfix() {\n &:before,\n &:after {\n display: table; // 2\n content: \" \"; // 1\n }\n &:after {\n clear: both;\n }\n}\n","// Center-align a block level element\n\n.center-block() {\n display: block;\n margin-right: auto;\n margin-left: auto;\n}\n","// stylelint-disable font-family-name-quotes, font-family-no-missing-generic-family-keyword\n\n// CSS image replacement\n//\n// Heads up! v3 launched with only `.hide-text()`, but per our pattern for\n// mixins being reused as classes with the same name, this doesn't hold up. As\n// of v3.0.1 we have added `.text-hide()` and deprecated `.hide-text()`.\n//\n// Source: https://github.com/h5bp/html5-boilerplate/commit/aa0396eae757\n\n// Deprecated as of v3.0.1 (has been removed in v4)\n.hide-text() {\n font: ~\"0/0\" a;\n color: transparent;\n text-shadow: none;\n background-color: transparent;\n border: 0;\n}\n\n// New mixin to use as of v3.0.1\n.text-hide() {\n .hide-text();\n}\n","// stylelint-disable declaration-no-important, at-rule-no-vendor-prefix\n\n//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n//\n// Support for responsive views via media queries is kind of borked in IE10, for\n// Surface/desktop in split view and for Windows Phone 8. This particular fix\n// must be accompanied by a snippet of JavaScript to sniff the user agent and\n// apply some conditional CSS to *only* the Surface/desktop Windows 8. Look at\n// our Getting Started page for more information on this bug.\n//\n// For more information, see the following:\n//\n// Issue: https://github.com/twbs/bootstrap/issues/10497\n// Docs: https://getbootstrap.com/docs/3.4/getting-started/#support-ie10-width\n// Source: https://timkadlec.com/2013/01/windows-phone-8-and-device-width/\n// Source: https://timkadlec.com/2012/10/ie10-snap-mode-and-responsive-design/\n\n@-ms-viewport {\n width: device-width;\n}\n\n\n// Visibility utilities\n// Note: Deprecated .visible-xs, .visible-sm, .visible-md, and .visible-lg as of v3.2.0\n.visible-xs,\n.visible-sm,\n.visible-md,\n.visible-lg {\n .responsive-invisibility();\n}\n\n.visible-xs-block,\n.visible-xs-inline,\n.visible-xs-inline-block,\n.visible-sm-block,\n.visible-sm-inline,\n.visible-sm-inline-block,\n.visible-md-block,\n.visible-md-inline,\n.visible-md-inline-block,\n.visible-lg-block,\n.visible-lg-inline,\n.visible-lg-inline-block {\n display: none !important;\n}\n\n.visible-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-visibility();\n }\n}\n.visible-xs-block {\n @media (max-width: @screen-xs-max) {\n display: block !important;\n }\n}\n.visible-xs-inline {\n @media (max-width: @screen-xs-max) {\n display: inline !important;\n }\n}\n.visible-xs-inline-block {\n @media (max-width: @screen-xs-max) {\n display: inline-block !important;\n }\n}\n\n.visible-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-visibility();\n }\n}\n.visible-sm-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: block !important;\n }\n}\n.visible-sm-inline {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline !important;\n }\n}\n.visible-sm-inline-block {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n display: inline-block !important;\n }\n}\n\n.visible-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-visibility();\n }\n}\n.visible-md-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: block !important;\n }\n}\n.visible-md-inline {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline !important;\n }\n}\n.visible-md-inline-block {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n display: inline-block !important;\n }\n}\n\n.visible-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-visibility();\n }\n}\n.visible-lg-block {\n @media (min-width: @screen-lg-min) {\n display: block !important;\n }\n}\n.visible-lg-inline {\n @media (min-width: @screen-lg-min) {\n display: inline !important;\n }\n}\n.visible-lg-inline-block {\n @media (min-width: @screen-lg-min) {\n display: inline-block !important;\n }\n}\n\n.hidden-xs {\n @media (max-width: @screen-xs-max) {\n .responsive-invisibility();\n }\n}\n.hidden-sm {\n @media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) {\n .responsive-invisibility();\n }\n}\n.hidden-md {\n @media (min-width: @screen-md-min) and (max-width: @screen-md-max) {\n .responsive-invisibility();\n }\n}\n.hidden-lg {\n @media (min-width: @screen-lg-min) {\n .responsive-invisibility();\n }\n}\n\n\n// Print utilities\n//\n// Media queries are placed on the inside to be mixin-friendly.\n\n// Note: Deprecated .visible-print as of v3.2.0\n.visible-print {\n .responsive-invisibility();\n\n @media print {\n .responsive-visibility();\n }\n}\n.visible-print-block {\n display: none !important;\n\n @media print {\n display: block !important;\n }\n}\n.visible-print-inline {\n display: none !important;\n\n @media print {\n display: inline !important;\n }\n}\n.visible-print-inline-block {\n display: none !important;\n\n @media print {\n display: inline-block !important;\n }\n}\n\n.hidden-print {\n @media print {\n .responsive-invisibility();\n }\n}\n","// stylelint-disable declaration-no-important\n\n.responsive-visibility() {\n display: block !important;\n table& { display: table !important; }\n tr& { display: table-row !important; }\n th&,\n td& { display: table-cell !important; }\n}\n\n.responsive-invisibility() {\n display: none !important;\n}\n"]} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/js/class-diagram.js b/ui/ui-frontend/projects/pastis/src/assets/js/class-diagram.js new file mode 100644 index 0000000000000000000000000000000000000000..aa01e28bf90d16505cca7b5ab32f07bc8f53af8b --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/js/class-diagram.js @@ -0,0 +1,468 @@ + +var classDiagram = (function() { + + function addMarkers(defs) { + defs.append('marker') + .attr({ + 'id': 'filledTraiangle', + viewBox: '0 0 10 10', + 'refX': 10, + 'refY': 5, + 'markerWidth': 10, + 'markerHeight': 10, + 'orient': 'auto' + }) + .append('path') + .attr({ + d: 'M10 5 0 0 0 10Z', + 'fill-rule': 'evenodd', + stroke: 'none', + fill: 'black' + }); + + defs.append('marker') + .attr({ + 'id': 'triangle', + viewBox: '0 0 10 10', + 'refX': 10, + 'refY': 5, + 'markerWidth': 10, + 'markerHeight': 10, + 'orient': 'auto' + }) + .append('path') + .attr({ + d: 'M10 5 0 0 0 10 Z M8 5 1 8.4 1 1.6Z', + 'fill-rule': 'evenodd', + stroke: 'none', + fill: 'black' + }); + + defs.append('marker') + .attr({ + 'id': 'arrowhead', + viewBox: '0 0 10 10', + 'refX': 10, + 'refY': 5, + 'markerWidth': 10, + 'markerHeight': 10, + 'orient': 'auto' + }) + .append('path') + .attr({ + d: 'M10 5 0 10 0 8.7 6.8 5.5 0 5.5 0 4.5 6.8 4.5 0 1.3 0 0Z', + stroke: 'none', + fill: 'black' + }); + + defs.append('marker') + .attr({ + id: 'diamond', + viewBox: '0 0 16 10', + refX: 16, + refY: 5, + markerWidth: 16, + markerHeight: 10, + orient: 'auto' + }) + .append('path') + .attr({ + d: 'M-1 5 7.5 0 16 5 7.5 10Z M1.3 5 7.5 8.7 14 5 7.5 1.3Z', + 'fill-rule': 'evenodd', + stroke: 'none', + fill: 'black' + }); + + defs.append('marker') + .attr({ + id: 'filledDiamond', + viewBox: '0 0 16 10', + refX: 16, + refY: 5, + markerWidth: 16, + markerHeight: 10, + orient: 'auto' + }) + .append('path') + .attr({ + d: 'M-1 5 7.5 0 16 5 7.5 10Z', + stroke: 'none', + fill: 'black' + }); + } + + function multilineText() { + var lineHeight = 1.4; + var horizontalAlign = 'center'; // 'left', 'center', or 'right' + var verticalAlign = 'center'; // 'top', 'center', or 'bottom' + var paddingTop = 10; + var paddingBottom = 10; + var paddingLeft = 10; + var paddingRight = 10; + var textAnchorsByHorizontalAlign = { + 'center': 'middle', + 'left': 'start', + 'right': 'end' + }; + var text = function(d) { return d.text; }; + var width = function(d) { return d.width; }; + var height = function(d) { return d.height; }; + + function my(selection) { + selection.each(function(d, i) { + var textElem = d3.select(this), + lines, + lineCount, + lineI, + line; + + lines = result(d, text); + if (typeof lines === 'string') { + lines = lines.split(/\n/); + } + if (lines === undefined) { + return; + } + lineCount = lines.length; + + textElem.attr({ + 'text-anchor': textAnchorsByHorizontalAlign[horizontalAlign], + 'fill': 'black', + transform: function(d) { + return 'translate(' + translateX(d) + ',' + translateY(d) + ')'; + }, + }); + + for (lineI = 0; lineI < lineCount; lineI++) { + line = lines[lineI]; + textElem.append('tspan') + .attr({ + 'x': 0, + 'y': lineTspanY(lineI, lineCount) + }) + .attr(lineTspanAttrs()) + .text(line); + } + }); + } + + function translateX(d) { + var w = result(d, width); + switch (horizontalAlign) { + case 'center': + return w / 2; + case 'left': + return paddingLeft; + case 'right': + return w - paddingRight; + } + } + + function translateY(d) { + var h = result(d, height); + switch (verticalAlign) { + case 'center': + return h / 2; + case 'top': + return paddingTop; + case 'bottom': + return h - paddingBottom; + } + } + + function lineTspanY(lineI, lineCount) { + var y; + switch (verticalAlign) { + case 'center': + y = (lineI - (lineCount - 1) / 2) * lineHeight; + break; + case 'top': + y = lineI * lineHeight; + break; + case 'bottom': + y = -((lineCount - 1) - lineI) * lineHeight; + break; + } + return y ? y + 'em' : 0; + } + + function lineTspanAttrs() { + switch (verticalAlign) { + case 'center': + return {dy: '.35em'}; + case 'top': + return {dy: '1em'}; + case 'bottom': + return {dy: 0}; + } + } + + function result(d, property) { + return typeof property === 'function' ? property(d) : property; + } + + my.lineHeight = function(value) { + if (!arguments.length) return lineHeight; + lineHeight = value; + return my; + }; + + my.horizontalAlign = function(value) { + if (!arguments.length) return horizontalAlign; + horizontalAlign = value; + return my; + }; + + my.verticalAlign = function(value) { + if (!arguments.length) return verticalAlign; + verticalAlign = value; + return my; + }; + + my.paddingTop = function(value) { + if (!arguments.length) return paddingTop; + paddingTop = value; + return my; + }; + + my.paddingRight = function(value) { + if (!arguments.length) return paddingRight; + paddingRight = value; + return my; + }; + + my.paddingBottom = function(value) { + if (!arguments.length) return paddingBottom; + paddingBottom = value; + return my; + }; + + my.paddingLeft = function(value) { + if (!arguments.length) return paddingLeft; + paddingLeft = value; + return my; + }; + + my.width = function(value) { + if (!arguments.length) return width; + width = value; + return my; + }; + + my.height = function(value) { + if (!arguments.length) return height; + height = value; + return my; + }; + + my.text = function(value) { + if (!arguments.length) return text; + text = value; + return my; + }; + + return my; + } + + function createClasses(classes,svg) { + var g = svg.selectAll('g.class') + .data(classes).enter().append('g') + .attr({ + id: function(d) { return d.classname + 'Class'; }, + 'class': 'class', + transform: function(d) { + return "translate(" + d.x + "," + d.y + ")"; + }, + }); + + g.append('rect') + .attr({ + 'width': function(d) { return d.width; }, + 'fill': '#FFFFC2', + 'stroke': 'black', + 'stroke-width': 1 + }); + + g.append('text') + .attr('font-size', 12) + .attr('x',110) + .attr('y',-5) + .text( function (d) { return d.classname !== 'ArchiveTransfer' ? (d.cardinality ? d.cardinality : '1') : '' }) + + + + + var classNameG = g.append('g') + .attr('class', 'classname'); + var classNameRects = classNameG.append('rect') + .attr({ + 'width': function(d) { return d.width; }, + 'fill': 'none', + 'stroke': 'black', + 'stroke-width': 1 + }); + var classNameTexts = classNameG.append('text') + .attr('font-size', 12) + .call(multilineText() + .verticalAlign('top') + .paddingTop(4) + .paddingBottom(4) + .text(function(d) { return d.classname; }) + ); + + adjustHeight(classNameRects[0], classNameTexts[0], 4, 4); + + function adjustHeight(rects, texts, paddingTop, paddingBottom) { + var i, + n = rects.length, + rect, + text, + height; + for (i = 0; i < n; i++) { + rect = rects[i]; + text = texts[i]; + if (text) { + height = text.getBBox().height + paddingTop + paddingBottom; + d3.select(rect).attr('height', height); + } + } + } + + var attributesG = g.append('g') + .attr({ + 'class': 'attributes', + 'transform': function(d) { + var classNameG = d3.select(this).node().previousSibling, + height = classNameG.getBBox().height; + return 'translate(0,' + height + ')'; + } + }); + var attributesRects = attributesG.append('rect') + .attr({ + 'width': function(d) { return d.width; }, + 'fill': 'none', + 'stroke': 'black', + 'stroke-width': 1 + }); + var attributesTexts = attributesG.append('text') + .attr('font-size', 12) + .call(multilineText() + .text(function(d) { return d.attributes; }) + .verticalAlign('top') + .horizontalAlign('left') + .paddingTop(4) + .paddingLeft(4) + ); + if (attributesRects.length > 0) { + adjustHeight(attributesRects[0], attributesTexts[0], 4, 4); + } + + var methodsG = g.append('g') + .attr({ + 'class': 'methods', + 'transform': function(d) { + var attributesG = d3.select(this).node().previousSibling, + classNameText = attributesG.previousSibling, + classNameBBox = classNameText.getBBox(), + attributesBBox = attributesG.getBBox(); + return 'translate(0,' + (classNameBBox.height + attributesBBox.height) + ')'; + } + }); + /* + var methodsRects = methodsG.append('rect') + .attr({ + 'width': function(d) { return d.width; }, + 'fill': 'none', + 'stroke': 'black', + 'stroke-width': 1 + }); + var methodsTexts = methodsG.append('text') + .attr('font-size', 12) + .call(multilineText() + .text(function(d) { return d.methods; }) + .verticalAlign('top') + .horizontalAlign('left') + .paddingTop(4) + .paddingLeft(4) + ); + adjustHeight(methodsRects[0], methodsTexts[0], 4, 4); + */ + svg.selectAll('g.class') + .each(function(d, i) { + var classG = d3.select(this), + classRect = classG.node().firstChild, + classNameG = classRect.nextSibling, + attributesG = classNameG.nextSibling, + methodsG = attributesG.nextSibling, + height = + classNameG.getBBox().height + + attributesG.getBBox().height + + methodsG.getBBox().height; + d3.select(classRect).attr('height', height); + }); + + var boxes = {}; + svg.selectAll('g.class') + .each(function(d, i) { + var classG = d3.select(this), + bbox = classG.node().getBBox(); + boxes[d.id] = new classDiagram.Box(d.x, d.y, bbox.width, bbox.height,d.id); + + }); + + return boxes; + } + + function Box(x, y, width, height,id) { + this.x = x; + this.y = y; + this.width = width; + this.height = height; + this.id = id; + } + Box.prototype.midX = function() { return this.x + this.width / 2; }; + Box.prototype.rightX = function() { return this.x + this.width; } + Box.prototype.midY = function() { return this.y + this.height / 2; } + Box.prototype.bottomY = function() { return this.y + this.height; } + + function createConnectors(connectors,mysvg) { + var line = d3.svg.line() + .x(function(d) {return d.x;}) + .y(function(d) {return d.y;}); + + mysvg.selectAll('path.connector') + .data(connectors).enter().append('path') + .each(function(d, i) { + var path = d3.select(this); + path.attr({ + 'class': 'connector', + 'd': line(d.points), + 'stroke': 'gray', + 'stroke-width': 1, + 'fill': 'none' + }); + if (d.markerEnd) { + path.attr('marker-end', 'url(#' + d.markerEnd + ')'); + } + }); + + mysvg.selectAll('path.connector') + .attr({ + 'stroke-dasharray': function(d) { + var path = d3.select(this), + totalLength = path.node().getTotalLength(), + marker = mysvg.select('#' + d['markerEnd'])[0][0], + markerWidth = marker.markerWidth.baseVal.value; + return '' + (totalLength - markerWidth) + ' ' + markerWidth; + }, + 'stroke-dashoffset': 0 + }); + } + + return { + Box: Box, + addMarkers: addMarkers, + createClasses: createClasses, + createConnectors: createConnectors + }; +})(); diff --git a/ui/ui-frontend/projects/pastis/src/assets/js/d3.min.js b/ui/ui-frontend/projects/pastis/src/assets/js/d3.min.js new file mode 100644 index 0000000000000000000000000000000000000000..166487309a774a196d29b52ad29f14d8a16f9509 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/js/d3.min.js @@ -0,0 +1,5 @@ +!function(){function n(n){return n&&(n.ownerDocument||n.document||n).documentElement}function t(n){return n&&(n.ownerDocument&&n.ownerDocument.defaultView||n.document&&n||n.defaultView)}function e(n,t){return t>n?-1:n>t?1:n>=t?0:NaN}function r(n){return null===n?NaN:+n}function i(n){return!isNaN(n)}function u(n){return{left:function(t,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=t.length);i>r;){var u=r+i>>>1;n(t[u],e)<0?r=u+1:i=u}return r},right:function(t,e,r,i){for(arguments.length<3&&(r=0),arguments.length<4&&(i=t.length);i>r;){var u=r+i>>>1;n(t[u],e)>0?i=u:r=u+1}return r}}}function o(n){return n.length}function a(n){for(var t=1;n*t%1;)t*=10;return t}function l(n,t){for(var e in t)Object.defineProperty(n.prototype,e,{value:t[e],enumerable:!1})}function c(){this._=Object.create(null)}function f(n){return(n+="")===bo||n[0]===_o?_o+n:n}function s(n){return(n+="")[0]===_o?n.slice(1):n}function h(n){return f(n)in this._}function p(n){return(n=f(n))in this._&&delete this._[n]}function g(){var n=[];for(var t in this._)n.push(s(t));return n}function v(){var n=0;for(var t in this._)++n;return n}function d(){for(var n in this._)return!1;return!0}function y(){this._=Object.create(null)}function m(n){return n}function M(n,t,e){return function(){var r=e.apply(t,arguments);return r===t?n:r}}function x(n,t){if(t in n)return t;t=t.charAt(0).toUpperCase()+t.slice(1);for(var e=0,r=wo.length;r>e;++e){var i=wo[e]+t;if(i in n)return i}}function b(){}function _(){}function w(n){function t(){for(var t,r=e,i=-1,u=r.length;++i<u;)(t=r[i].on)&&t.apply(this,arguments);return n}var e=[],r=new c;return t.on=function(t,i){var u,o=r.get(t);return arguments.length<2?o&&o.on:(o&&(o.on=null,e=e.slice(0,u=e.indexOf(o)).concat(e.slice(u+1)),r.remove(t)),i&&e.push(r.set(t,{on:i})),n)},t}function S(){ao.event.preventDefault()}function k(){for(var n,t=ao.event;n=t.sourceEvent;)t=n;return t}function N(n){for(var t=new _,e=0,r=arguments.length;++e<r;)t[arguments[e]]=w(t);return t.of=function(e,r){return function(i){try{var u=i.sourceEvent=ao.event;i.target=n,ao.event=i,t[i.type].apply(e,r)}finally{ao.event=u}}},t}function E(n){return ko(n,Co),n}function A(n){return"function"==typeof n?n:function(){return No(n,this)}}function C(n){return"function"==typeof n?n:function(){return Eo(n,this)}}function z(n,t){function e(){this.removeAttribute(n)}function r(){this.removeAttributeNS(n.space,n.local)}function i(){this.setAttribute(n,t)}function u(){this.setAttributeNS(n.space,n.local,t)}function o(){var e=t.apply(this,arguments);null==e?this.removeAttribute(n):this.setAttribute(n,e)}function a(){var e=t.apply(this,arguments);null==e?this.removeAttributeNS(n.space,n.local):this.setAttributeNS(n.space,n.local,e)}return n=ao.ns.qualify(n),null==t?n.local?r:e:"function"==typeof t?n.local?a:o:n.local?u:i}function L(n){return n.trim().replace(/\s+/g," ")}function q(n){return new RegExp("(?:^|\\s+)"+ao.requote(n)+"(?:\\s+|$)","g")}function T(n){return(n+"").trim().split(/^|\s+/)}function R(n,t){function e(){for(var e=-1;++e<i;)n[e](this,t)}function r(){for(var e=-1,r=t.apply(this,arguments);++e<i;)n[e](this,r)}n=T(n).map(D);var i=n.length;return"function"==typeof t?r:e}function D(n){var t=q(n);return function(e,r){if(i=e.classList)return r?i.add(n):i.remove(n);var i=e.getAttribute("class")||"";r?(t.lastIndex=0,t.test(i)||e.setAttribute("class",L(i+" "+n))):e.setAttribute("class",L(i.replace(t," ")))}}function P(n,t,e){function r(){this.style.removeProperty(n)}function i(){this.style.setProperty(n,t,e)}function u(){var r=t.apply(this,arguments);null==r?this.style.removeProperty(n):this.style.setProperty(n,r,e)}return null==t?r:"function"==typeof t?u:i}function U(n,t){function e(){delete this[n]}function r(){this[n]=t}function i(){var e=t.apply(this,arguments);null==e?delete this[n]:this[n]=e}return null==t?e:"function"==typeof t?i:r}function j(n){function t(){var t=this.ownerDocument,e=this.namespaceURI;return e===zo&&t.documentElement.namespaceURI===zo?t.createElement(n):t.createElementNS(e,n)}function e(){return this.ownerDocument.createElementNS(n.space,n.local)}return"function"==typeof n?n:(n=ao.ns.qualify(n)).local?e:t}function F(){var n=this.parentNode;n&&n.removeChild(this)}function H(n){return{__data__:n}}function O(n){return function(){return Ao(this,n)}}function I(n){return arguments.length||(n=e),function(t,e){return t&&e?n(t.__data__,e.__data__):!t-!e}}function Y(n,t){for(var e=0,r=n.length;r>e;e++)for(var i,u=n[e],o=0,a=u.length;a>o;o++)(i=u[o])&&t(i,o,e);return n}function Z(n){return ko(n,qo),n}function V(n){var t,e;return function(r,i,u){var o,a=n[u].update,l=a.length;for(u!=e&&(e=u,t=0),i>=t&&(t=i+1);!(o=a[t])&&++t<l;);return o}}function X(n,t,e){function r(){var t=this[o];t&&(this.removeEventListener(n,t,t.$),delete this[o])}function i(){var i=l(t,co(arguments));r.call(this),this.addEventListener(n,this[o]=i,i.$=e),i._=t}function u(){var t,e=new RegExp("^__on([^.]+)"+ao.requote(n)+"$");for(var r in this)if(t=r.match(e)){var i=this[r];this.removeEventListener(t[1],i,i.$),delete this[r]}}var o="__on"+n,a=n.indexOf("."),l=$;a>0&&(n=n.slice(0,a));var c=To.get(n);return c&&(n=c,l=B),a?t?i:r:t?b:u}function $(n,t){return function(e){var r=ao.event;ao.event=e,t[0]=this.__data__;try{n.apply(this,t)}finally{ao.event=r}}}function B(n,t){var e=$(n,t);return function(n){var t=this,r=n.relatedTarget;r&&(r===t||8&r.compareDocumentPosition(t))||e.call(t,n)}}function W(e){var r=".dragsuppress-"+ ++Do,i="click"+r,u=ao.select(t(e)).on("touchmove"+r,S).on("dragstart"+r,S).on("selectstart"+r,S);if(null==Ro&&(Ro="onselectstart"in e?!1:x(e.style,"userSelect")),Ro){var o=n(e).style,a=o[Ro];o[Ro]="none"}return function(n){if(u.on(r,null),Ro&&(o[Ro]=a),n){var t=function(){u.on(i,null)};u.on(i,function(){S(),t()},!0),setTimeout(t,0)}}}function J(n,e){e.changedTouches&&(e=e.changedTouches[0]);var r=n.ownerSVGElement||n;if(r.createSVGPoint){var i=r.createSVGPoint();if(0>Po){var u=t(n);if(u.scrollX||u.scrollY){r=ao.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var o=r[0][0].getScreenCTM();Po=!(o.f||o.e),r.remove()}}return Po?(i.x=e.pageX,i.y=e.pageY):(i.x=e.clientX,i.y=e.clientY),i=i.matrixTransform(n.getScreenCTM().inverse()),[i.x,i.y]}var a=n.getBoundingClientRect();return[e.clientX-a.left-n.clientLeft,e.clientY-a.top-n.clientTop]}function G(){return ao.event.changedTouches[0].identifier}function K(n){return n>0?1:0>n?-1:0}function Q(n,t,e){return(t[0]-n[0])*(e[1]-n[1])-(t[1]-n[1])*(e[0]-n[0])}function nn(n){return n>1?0:-1>n?Fo:Math.acos(n)}function tn(n){return n>1?Io:-1>n?-Io:Math.asin(n)}function en(n){return((n=Math.exp(n))-1/n)/2}function rn(n){return((n=Math.exp(n))+1/n)/2}function un(n){return((n=Math.exp(2*n))-1)/(n+1)}function on(n){return(n=Math.sin(n/2))*n}function an(){}function ln(n,t,e){return this instanceof ln?(this.h=+n,this.s=+t,void(this.l=+e)):arguments.length<2?n instanceof ln?new ln(n.h,n.s,n.l):_n(""+n,wn,ln):new ln(n,t,e)}function cn(n,t,e){function r(n){return n>360?n-=360:0>n&&(n+=360),60>n?u+(o-u)*n/60:180>n?o:240>n?u+(o-u)*(240-n)/60:u}function i(n){return Math.round(255*r(n))}var u,o;return n=isNaN(n)?0:(n%=360)<0?n+360:n,t=isNaN(t)?0:0>t?0:t>1?1:t,e=0>e?0:e>1?1:e,o=.5>=e?e*(1+t):e+t-e*t,u=2*e-o,new mn(i(n+120),i(n),i(n-120))}function fn(n,t,e){return this instanceof fn?(this.h=+n,this.c=+t,void(this.l=+e)):arguments.length<2?n instanceof fn?new fn(n.h,n.c,n.l):n instanceof hn?gn(n.l,n.a,n.b):gn((n=Sn((n=ao.rgb(n)).r,n.g,n.b)).l,n.a,n.b):new fn(n,t,e)}function sn(n,t,e){return isNaN(n)&&(n=0),isNaN(t)&&(t=0),new hn(e,Math.cos(n*=Yo)*t,Math.sin(n)*t)}function hn(n,t,e){return this instanceof hn?(this.l=+n,this.a=+t,void(this.b=+e)):arguments.length<2?n instanceof hn?new hn(n.l,n.a,n.b):n instanceof fn?sn(n.h,n.c,n.l):Sn((n=mn(n)).r,n.g,n.b):new hn(n,t,e)}function pn(n,t,e){var r=(n+16)/116,i=r+t/500,u=r-e/200;return i=vn(i)*na,r=vn(r)*ta,u=vn(u)*ea,new mn(yn(3.2404542*i-1.5371385*r-.4985314*u),yn(-.969266*i+1.8760108*r+.041556*u),yn(.0556434*i-.2040259*r+1.0572252*u))}function gn(n,t,e){return n>0?new fn(Math.atan2(e,t)*Zo,Math.sqrt(t*t+e*e),n):new fn(NaN,NaN,n)}function vn(n){return n>.206893034?n*n*n:(n-4/29)/7.787037}function dn(n){return n>.008856?Math.pow(n,1/3):7.787037*n+4/29}function yn(n){return Math.round(255*(.00304>=n?12.92*n:1.055*Math.pow(n,1/2.4)-.055))}function mn(n,t,e){return this instanceof mn?(this.r=~~n,this.g=~~t,void(this.b=~~e)):arguments.length<2?n instanceof mn?new mn(n.r,n.g,n.b):_n(""+n,mn,cn):new mn(n,t,e)}function Mn(n){return new mn(n>>16,n>>8&255,255&n)}function xn(n){return Mn(n)+""}function bn(n){return 16>n?"0"+Math.max(0,n).toString(16):Math.min(255,n).toString(16)}function _n(n,t,e){var r,i,u,o=0,a=0,l=0;if(r=/([a-z]+)\((.*)\)/.exec(n=n.toLowerCase()))switch(i=r[2].split(","),r[1]){case"hsl":return e(parseFloat(i[0]),parseFloat(i[1])/100,parseFloat(i[2])/100);case"rgb":return t(Nn(i[0]),Nn(i[1]),Nn(i[2]))}return(u=ua.get(n))?t(u.r,u.g,u.b):(null==n||"#"!==n.charAt(0)||isNaN(u=parseInt(n.slice(1),16))||(4===n.length?(o=(3840&u)>>4,o=o>>4|o,a=240&u,a=a>>4|a,l=15&u,l=l<<4|l):7===n.length&&(o=(16711680&u)>>16,a=(65280&u)>>8,l=255&u)),t(o,a,l))}function wn(n,t,e){var r,i,u=Math.min(n/=255,t/=255,e/=255),o=Math.max(n,t,e),a=o-u,l=(o+u)/2;return a?(i=.5>l?a/(o+u):a/(2-o-u),r=n==o?(t-e)/a+(e>t?6:0):t==o?(e-n)/a+2:(n-t)/a+4,r*=60):(r=NaN,i=l>0&&1>l?0:r),new ln(r,i,l)}function Sn(n,t,e){n=kn(n),t=kn(t),e=kn(e);var r=dn((.4124564*n+.3575761*t+.1804375*e)/na),i=dn((.2126729*n+.7151522*t+.072175*e)/ta),u=dn((.0193339*n+.119192*t+.9503041*e)/ea);return hn(116*i-16,500*(r-i),200*(i-u))}function kn(n){return(n/=255)<=.04045?n/12.92:Math.pow((n+.055)/1.055,2.4)}function Nn(n){var t=parseFloat(n);return"%"===n.charAt(n.length-1)?Math.round(2.55*t):t}function En(n){return"function"==typeof n?n:function(){return n}}function An(n){return function(t,e,r){return 2===arguments.length&&"function"==typeof e&&(r=e,e=null),Cn(t,e,n,r)}}function Cn(n,t,e,r){function i(){var n,t=l.status;if(!t&&Ln(l)||t>=200&&300>t||304===t){try{n=e.call(u,l)}catch(r){return void o.error.call(u,r)}o.load.call(u,n)}else o.error.call(u,l)}var u={},o=ao.dispatch("beforesend","progress","load","error"),a={},l=new XMLHttpRequest,c=null;return!this.XDomainRequest||"withCredentials"in l||!/^(http(s)?:)?\/\//.test(n)||(l=new XDomainRequest),"onload"in l?l.onload=l.onerror=i:l.onreadystatechange=function(){l.readyState>3&&i()},l.onprogress=function(n){var t=ao.event;ao.event=n;try{o.progress.call(u,l)}finally{ao.event=t}},u.header=function(n,t){return n=(n+"").toLowerCase(),arguments.length<2?a[n]:(null==t?delete a[n]:a[n]=t+"",u)},u.mimeType=function(n){return arguments.length?(t=null==n?null:n+"",u):t},u.responseType=function(n){return arguments.length?(c=n,u):c},u.response=function(n){return e=n,u},["get","post"].forEach(function(n){u[n]=function(){return u.send.apply(u,[n].concat(co(arguments)))}}),u.send=function(e,r,i){if(2===arguments.length&&"function"==typeof r&&(i=r,r=null),l.open(e,n,!0),null==t||"accept"in a||(a.accept=t+",*/*"),l.setRequestHeader)for(var f in a)l.setRequestHeader(f,a[f]);return null!=t&&l.overrideMimeType&&l.overrideMimeType(t),null!=c&&(l.responseType=c),null!=i&&u.on("error",i).on("load",function(n){i(null,n)}),o.beforesend.call(u,l),l.send(null==r?null:r),u},u.abort=function(){return l.abort(),u},ao.rebind(u,o,"on"),null==r?u:u.get(zn(r))}function zn(n){return 1===n.length?function(t,e){n(null==t?e:null)}:n}function Ln(n){var t=n.responseType;return t&&"text"!==t?n.response:n.responseText}function qn(n,t,e){var r=arguments.length;2>r&&(t=0),3>r&&(e=Date.now());var i=e+t,u={c:n,t:i,n:null};return aa?aa.n=u:oa=u,aa=u,la||(ca=clearTimeout(ca),la=1,fa(Tn)),u}function Tn(){var n=Rn(),t=Dn()-n;t>24?(isFinite(t)&&(clearTimeout(ca),ca=setTimeout(Tn,t)),la=0):(la=1,fa(Tn))}function Rn(){for(var n=Date.now(),t=oa;t;)n>=t.t&&t.c(n-t.t)&&(t.c=null),t=t.n;return n}function Dn(){for(var n,t=oa,e=1/0;t;)t.c?(t.t<e&&(e=t.t),t=(n=t).n):t=n?n.n=t.n:oa=t.n;return aa=n,e}function Pn(n,t){return t-(n?Math.ceil(Math.log(n)/Math.LN10):1)}function Un(n,t){var e=Math.pow(10,3*xo(8-t));return{scale:t>8?function(n){return n/e}:function(n){return n*e},symbol:n}}function jn(n){var t=n.decimal,e=n.thousands,r=n.grouping,i=n.currency,u=r&&e?function(n,t){for(var i=n.length,u=[],o=0,a=r[0],l=0;i>0&&a>0&&(l+a+1>t&&(a=Math.max(1,t-l)),u.push(n.substring(i-=a,i+a)),!((l+=a+1)>t));)a=r[o=(o+1)%r.length];return u.reverse().join(e)}:m;return function(n){var e=ha.exec(n),r=e[1]||" ",o=e[2]||">",a=e[3]||"-",l=e[4]||"",c=e[5],f=+e[6],s=e[7],h=e[8],p=e[9],g=1,v="",d="",y=!1,m=!0;switch(h&&(h=+h.substring(1)),(c||"0"===r&&"="===o)&&(c=r="0",o="="),p){case"n":s=!0,p="g";break;case"%":g=100,d="%",p="f";break;case"p":g=100,d="%",p="r";break;case"b":case"o":case"x":case"X":"#"===l&&(v="0"+p.toLowerCase());case"c":m=!1;case"d":y=!0,h=0;break;case"s":g=-1,p="r"}"$"===l&&(v=i[0],d=i[1]),"r"!=p||h||(p="g"),null!=h&&("g"==p?h=Math.max(1,Math.min(21,h)):"e"!=p&&"f"!=p||(h=Math.max(0,Math.min(20,h)))),p=pa.get(p)||Fn;var M=c&&s;return function(n){var e=d;if(y&&n%1)return"";var i=0>n||0===n&&0>1/n?(n=-n,"-"):"-"===a?"":a;if(0>g){var l=ao.formatPrefix(n,h);n=l.scale(n),e=l.symbol+d}else n*=g;n=p(n,h);var x,b,_=n.lastIndexOf(".");if(0>_){var w=m?n.lastIndexOf("e"):-1;0>w?(x=n,b=""):(x=n.substring(0,w),b=n.substring(w))}else x=n.substring(0,_),b=t+n.substring(_+1);!c&&s&&(x=u(x,1/0));var S=v.length+x.length+b.length+(M?0:i.length),k=f>S?new Array(S=f-S+1).join(r):"";return M&&(x=u(k+x,k.length?f-b.length:1/0)),i+=v,n=x+b,("<"===o?i+n+k:">"===o?k+i+n:"^"===o?k.substring(0,S>>=1)+i+n+k.substring(S):i+(M?n:k+n))+e}}}function Fn(n){return n+""}function Hn(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}function On(n,t,e){function r(t){var e=n(t),r=u(e,1);return r-t>t-e?e:r}function i(e){return t(e=n(new va(e-1)),1),e}function u(n,e){return t(n=new va(+n),e),n}function o(n,r,u){var o=i(n),a=[];if(u>1)for(;r>o;)e(o)%u||a.push(new Date(+o)),t(o,1);else for(;r>o;)a.push(new Date(+o)),t(o,1);return a}function a(n,t,e){try{va=Hn;var r=new Hn;return r._=n,o(r,t,e)}finally{va=Date}}n.floor=n,n.round=r,n.ceil=i,n.offset=u,n.range=o;var l=n.utc=In(n);return l.floor=l,l.round=In(r),l.ceil=In(i),l.offset=In(u),l.range=a,n}function In(n){return function(t,e){try{va=Hn;var r=new Hn;return r._=t,n(r,e)._}finally{va=Date}}}function Yn(n){function t(n){function t(t){for(var e,i,u,o=[],a=-1,l=0;++a<r;)37===n.charCodeAt(a)&&(o.push(n.slice(l,a)),null!=(i=ya[e=n.charAt(++a)])&&(e=n.charAt(++a)),(u=A[e])&&(e=u(t,null==i?"e"===e?" ":"0":i)),o.push(e),l=a+1);return o.push(n.slice(l,a)),o.join("")}var r=n.length;return t.parse=function(t){var r={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},i=e(r,n,t,0);if(i!=t.length)return null;"p"in r&&(r.H=r.H%12+12*r.p);var u=null!=r.Z&&va!==Hn,o=new(u?Hn:va);return"j"in r?o.setFullYear(r.y,0,r.j):"W"in r||"U"in r?("w"in r||(r.w="W"in r?1:0),o.setFullYear(r.y,0,1),o.setFullYear(r.y,0,"W"in r?(r.w+6)%7+7*r.W-(o.getDay()+5)%7:r.w+7*r.U-(o.getDay()+6)%7)):o.setFullYear(r.y,r.m,r.d),o.setHours(r.H+(r.Z/100|0),r.M+r.Z%100,r.S,r.L),u?o._:o},t.toString=function(){return n},t}function e(n,t,e,r){for(var i,u,o,a=0,l=t.length,c=e.length;l>a;){if(r>=c)return-1;if(i=t.charCodeAt(a++),37===i){if(o=t.charAt(a++),u=C[o in ya?t.charAt(a++):o],!u||(r=u(n,e,r))<0)return-1}else if(i!=e.charCodeAt(r++))return-1}return r}function r(n,t,e){_.lastIndex=0;var r=_.exec(t.slice(e));return r?(n.w=w.get(r[0].toLowerCase()),e+r[0].length):-1}function i(n,t,e){x.lastIndex=0;var r=x.exec(t.slice(e));return r?(n.w=b.get(r[0].toLowerCase()),e+r[0].length):-1}function u(n,t,e){N.lastIndex=0;var r=N.exec(t.slice(e));return r?(n.m=E.get(r[0].toLowerCase()),e+r[0].length):-1}function o(n,t,e){S.lastIndex=0;var r=S.exec(t.slice(e));return r?(n.m=k.get(r[0].toLowerCase()),e+r[0].length):-1}function a(n,t,r){return e(n,A.c.toString(),t,r)}function l(n,t,r){return e(n,A.x.toString(),t,r)}function c(n,t,r){return e(n,A.X.toString(),t,r)}function f(n,t,e){var r=M.get(t.slice(e,e+=2).toLowerCase());return null==r?-1:(n.p=r,e)}var s=n.dateTime,h=n.date,p=n.time,g=n.periods,v=n.days,d=n.shortDays,y=n.months,m=n.shortMonths;t.utc=function(n){function e(n){try{va=Hn;var t=new va;return t._=n,r(t)}finally{va=Date}}var r=t(n);return e.parse=function(n){try{va=Hn;var t=r.parse(n);return t&&t._}finally{va=Date}},e.toString=r.toString,e},t.multi=t.utc.multi=ct;var M=ao.map(),x=Vn(v),b=Xn(v),_=Vn(d),w=Xn(d),S=Vn(y),k=Xn(y),N=Vn(m),E=Xn(m);g.forEach(function(n,t){M.set(n.toLowerCase(),t)});var A={a:function(n){return d[n.getDay()]},A:function(n){return v[n.getDay()]},b:function(n){return m[n.getMonth()]},B:function(n){return y[n.getMonth()]},c:t(s),d:function(n,t){return Zn(n.getDate(),t,2)},e:function(n,t){return Zn(n.getDate(),t,2)},H:function(n,t){return Zn(n.getHours(),t,2)},I:function(n,t){return Zn(n.getHours()%12||12,t,2)},j:function(n,t){return Zn(1+ga.dayOfYear(n),t,3)},L:function(n,t){return Zn(n.getMilliseconds(),t,3)},m:function(n,t){return Zn(n.getMonth()+1,t,2)},M:function(n,t){return Zn(n.getMinutes(),t,2)},p:function(n){return g[+(n.getHours()>=12)]},S:function(n,t){return Zn(n.getSeconds(),t,2)},U:function(n,t){return Zn(ga.sundayOfYear(n),t,2)},w:function(n){return n.getDay()},W:function(n,t){return Zn(ga.mondayOfYear(n),t,2)},x:t(h),X:t(p),y:function(n,t){return Zn(n.getFullYear()%100,t,2)},Y:function(n,t){return Zn(n.getFullYear()%1e4,t,4)},Z:at,"%":function(){return"%"}},C={a:r,A:i,b:u,B:o,c:a,d:tt,e:tt,H:rt,I:rt,j:et,L:ot,m:nt,M:it,p:f,S:ut,U:Bn,w:$n,W:Wn,x:l,X:c,y:Gn,Y:Jn,Z:Kn,"%":lt};return t}function Zn(n,t,e){var r=0>n?"-":"",i=(r?-n:n)+"",u=i.length;return r+(e>u?new Array(e-u+1).join(t)+i:i)}function Vn(n){return new RegExp("^(?:"+n.map(ao.requote).join("|")+")","i")}function Xn(n){for(var t=new c,e=-1,r=n.length;++e<r;)t.set(n[e].toLowerCase(),e);return t}function $n(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+1));return r?(n.w=+r[0],e+r[0].length):-1}function Bn(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e));return r?(n.U=+r[0],e+r[0].length):-1}function Wn(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e));return r?(n.W=+r[0],e+r[0].length):-1}function Jn(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+4));return r?(n.y=+r[0],e+r[0].length):-1}function Gn(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.y=Qn(+r[0]),e+r[0].length):-1}function Kn(n,t,e){return/^[+-]\d{4}$/.test(t=t.slice(e,e+5))?(n.Z=-t,e+5):-1}function Qn(n){return n+(n>68?1900:2e3)}function nt(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.m=r[0]-1,e+r[0].length):-1}function tt(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.d=+r[0],e+r[0].length):-1}function et(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+3));return r?(n.j=+r[0],e+r[0].length):-1}function rt(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.H=+r[0],e+r[0].length):-1}function it(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.M=+r[0],e+r[0].length):-1}function ut(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+2));return r?(n.S=+r[0],e+r[0].length):-1}function ot(n,t,e){ma.lastIndex=0;var r=ma.exec(t.slice(e,e+3));return r?(n.L=+r[0],e+r[0].length):-1}function at(n){var t=n.getTimezoneOffset(),e=t>0?"-":"+",r=xo(t)/60|0,i=xo(t)%60;return e+Zn(r,"0",2)+Zn(i,"0",2)}function lt(n,t,e){Ma.lastIndex=0;var r=Ma.exec(t.slice(e,e+1));return r?e+r[0].length:-1}function ct(n){for(var t=n.length,e=-1;++e<t;)n[e][0]=this(n[e][0]);return function(t){for(var e=0,r=n[e];!r[1](t);)r=n[++e];return r[0](t)}}function ft(){}function st(n,t,e){var r=e.s=n+t,i=r-n,u=r-i;e.t=n-u+(t-i)}function ht(n,t){n&&wa.hasOwnProperty(n.type)&&wa[n.type](n,t)}function pt(n,t,e){var r,i=-1,u=n.length-e;for(t.lineStart();++i<u;)r=n[i],t.point(r[0],r[1],r[2]);t.lineEnd()}function gt(n,t){var e=-1,r=n.length;for(t.polygonStart();++e<r;)pt(n[e],t,1);t.polygonEnd()}function vt(){function n(n,t){n*=Yo,t=t*Yo/2+Fo/4;var e=n-r,o=e>=0?1:-1,a=o*e,l=Math.cos(t),c=Math.sin(t),f=u*c,s=i*l+f*Math.cos(a),h=f*o*Math.sin(a);ka.add(Math.atan2(h,s)),r=n,i=l,u=c}var t,e,r,i,u;Na.point=function(o,a){Na.point=n,r=(t=o)*Yo,i=Math.cos(a=(e=a)*Yo/2+Fo/4),u=Math.sin(a)},Na.lineEnd=function(){n(t,e)}}function dt(n){var t=n[0],e=n[1],r=Math.cos(e);return[r*Math.cos(t),r*Math.sin(t),Math.sin(e)]}function yt(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]}function mt(n,t){return[n[1]*t[2]-n[2]*t[1],n[2]*t[0]-n[0]*t[2],n[0]*t[1]-n[1]*t[0]]}function Mt(n,t){n[0]+=t[0],n[1]+=t[1],n[2]+=t[2]}function xt(n,t){return[n[0]*t,n[1]*t,n[2]*t]}function bt(n){var t=Math.sqrt(n[0]*n[0]+n[1]*n[1]+n[2]*n[2]);n[0]/=t,n[1]/=t,n[2]/=t}function _t(n){return[Math.atan2(n[1],n[0]),tn(n[2])]}function wt(n,t){return xo(n[0]-t[0])<Uo&&xo(n[1]-t[1])<Uo}function St(n,t){n*=Yo;var e=Math.cos(t*=Yo);kt(e*Math.cos(n),e*Math.sin(n),Math.sin(t))}function kt(n,t,e){++Ea,Ca+=(n-Ca)/Ea,za+=(t-za)/Ea,La+=(e-La)/Ea}function Nt(){function n(n,i){n*=Yo;var u=Math.cos(i*=Yo),o=u*Math.cos(n),a=u*Math.sin(n),l=Math.sin(i),c=Math.atan2(Math.sqrt((c=e*l-r*a)*c+(c=r*o-t*l)*c+(c=t*a-e*o)*c),t*o+e*a+r*l);Aa+=c,qa+=c*(t+(t=o)),Ta+=c*(e+(e=a)),Ra+=c*(r+(r=l)),kt(t,e,r)}var t,e,r;ja.point=function(i,u){i*=Yo;var o=Math.cos(u*=Yo);t=o*Math.cos(i),e=o*Math.sin(i),r=Math.sin(u),ja.point=n,kt(t,e,r)}}function Et(){ja.point=St}function At(){function n(n,t){n*=Yo;var e=Math.cos(t*=Yo),o=e*Math.cos(n),a=e*Math.sin(n),l=Math.sin(t),c=i*l-u*a,f=u*o-r*l,s=r*a-i*o,h=Math.sqrt(c*c+f*f+s*s),p=r*o+i*a+u*l,g=h&&-nn(p)/h,v=Math.atan2(h,p);Da+=g*c,Pa+=g*f,Ua+=g*s,Aa+=v,qa+=v*(r+(r=o)),Ta+=v*(i+(i=a)),Ra+=v*(u+(u=l)),kt(r,i,u)}var t,e,r,i,u;ja.point=function(o,a){t=o,e=a,ja.point=n,o*=Yo;var l=Math.cos(a*=Yo);r=l*Math.cos(o),i=l*Math.sin(o),u=Math.sin(a),kt(r,i,u)},ja.lineEnd=function(){n(t,e),ja.lineEnd=Et,ja.point=St}}function Ct(n,t){function e(e,r){return e=n(e,r),t(e[0],e[1])}return n.invert&&t.invert&&(e.invert=function(e,r){return e=t.invert(e,r),e&&n.invert(e[0],e[1])}),e}function zt(){return!0}function Lt(n,t,e,r,i){var u=[],o=[];if(n.forEach(function(n){if(!((t=n.length-1)<=0)){var t,e=n[0],r=n[t];if(wt(e,r)){i.lineStart();for(var a=0;t>a;++a)i.point((e=n[a])[0],e[1]);return void i.lineEnd()}var l=new Tt(e,n,null,!0),c=new Tt(e,null,l,!1);l.o=c,u.push(l),o.push(c),l=new Tt(r,n,null,!1),c=new Tt(r,null,l,!0),l.o=c,u.push(l),o.push(c)}}),o.sort(t),qt(u),qt(o),u.length){for(var a=0,l=e,c=o.length;c>a;++a)o[a].e=l=!l;for(var f,s,h=u[0];;){for(var p=h,g=!0;p.v;)if((p=p.n)===h)return;f=p.z,i.lineStart();do{if(p.v=p.o.v=!0,p.e){if(g)for(var a=0,c=f.length;c>a;++a)i.point((s=f[a])[0],s[1]);else r(p.x,p.n.x,1,i);p=p.n}else{if(g){f=p.p.z;for(var a=f.length-1;a>=0;--a)i.point((s=f[a])[0],s[1])}else r(p.x,p.p.x,-1,i);p=p.p}p=p.o,f=p.z,g=!g}while(!p.v);i.lineEnd()}}}function qt(n){if(t=n.length){for(var t,e,r=0,i=n[0];++r<t;)i.n=e=n[r],e.p=i,i=e;i.n=e=n[0],e.p=i}}function Tt(n,t,e,r){this.x=n,this.z=t,this.o=e,this.e=r,this.v=!1,this.n=this.p=null}function Rt(n,t,e,r){return function(i,u){function o(t,e){var r=i(t,e);n(t=r[0],e=r[1])&&u.point(t,e)}function a(n,t){var e=i(n,t);d.point(e[0],e[1])}function l(){m.point=a,d.lineStart()}function c(){m.point=o,d.lineEnd()}function f(n,t){v.push([n,t]);var e=i(n,t);x.point(e[0],e[1])}function s(){x.lineStart(),v=[]}function h(){f(v[0][0],v[0][1]),x.lineEnd();var n,t=x.clean(),e=M.buffer(),r=e.length;if(v.pop(),g.push(v),v=null,r)if(1&t){n=e[0];var i,r=n.length-1,o=-1;if(r>0){for(b||(u.polygonStart(),b=!0),u.lineStart();++o<r;)u.point((i=n[o])[0],i[1]);u.lineEnd()}}else r>1&&2&t&&e.push(e.pop().concat(e.shift())),p.push(e.filter(Dt))}var p,g,v,d=t(u),y=i.invert(r[0],r[1]),m={point:o,lineStart:l,lineEnd:c,polygonStart:function(){m.point=f,m.lineStart=s,m.lineEnd=h,p=[],g=[]},polygonEnd:function(){m.point=o,m.lineStart=l,m.lineEnd=c,p=ao.merge(p);var n=Ot(y,g);p.length?(b||(u.polygonStart(),b=!0),Lt(p,Ut,n,e,u)):n&&(b||(u.polygonStart(),b=!0),u.lineStart(),e(null,null,1,u),u.lineEnd()),b&&(u.polygonEnd(),b=!1),p=g=null},sphere:function(){u.polygonStart(),u.lineStart(),e(null,null,1,u),u.lineEnd(),u.polygonEnd()}},M=Pt(),x=t(M),b=!1;return m}}function Dt(n){return n.length>1}function Pt(){var n,t=[];return{lineStart:function(){t.push(n=[])},point:function(t,e){n.push([t,e])},lineEnd:b,buffer:function(){var e=t;return t=[],n=null,e},rejoin:function(){t.length>1&&t.push(t.pop().concat(t.shift()))}}}function Ut(n,t){return((n=n.x)[0]<0?n[1]-Io-Uo:Io-n[1])-((t=t.x)[0]<0?t[1]-Io-Uo:Io-t[1])}function jt(n){var t,e=NaN,r=NaN,i=NaN;return{lineStart:function(){n.lineStart(),t=1},point:function(u,o){var a=u>0?Fo:-Fo,l=xo(u-e);xo(l-Fo)<Uo?(n.point(e,r=(r+o)/2>0?Io:-Io),n.point(i,r),n.lineEnd(),n.lineStart(),n.point(a,r),n.point(u,r),t=0):i!==a&&l>=Fo&&(xo(e-i)<Uo&&(e-=i*Uo),xo(u-a)<Uo&&(u-=a*Uo),r=Ft(e,r,u,o),n.point(i,r),n.lineEnd(),n.lineStart(),n.point(a,r),t=0),n.point(e=u,r=o),i=a},lineEnd:function(){n.lineEnd(),e=r=NaN},clean:function(){return 2-t}}}function Ft(n,t,e,r){var i,u,o=Math.sin(n-e);return xo(o)>Uo?Math.atan((Math.sin(t)*(u=Math.cos(r))*Math.sin(e)-Math.sin(r)*(i=Math.cos(t))*Math.sin(n))/(i*u*o)):(t+r)/2}function Ht(n,t,e,r){var i;if(null==n)i=e*Io,r.point(-Fo,i),r.point(0,i),r.point(Fo,i),r.point(Fo,0),r.point(Fo,-i),r.point(0,-i),r.point(-Fo,-i),r.point(-Fo,0),r.point(-Fo,i);else if(xo(n[0]-t[0])>Uo){var u=n[0]<t[0]?Fo:-Fo;i=e*u/2,r.point(-u,i),r.point(0,i),r.point(u,i)}else r.point(t[0],t[1])}function Ot(n,t){var e=n[0],r=n[1],i=[Math.sin(e),-Math.cos(e),0],u=0,o=0;ka.reset();for(var a=0,l=t.length;l>a;++a){var c=t[a],f=c.length;if(f)for(var s=c[0],h=s[0],p=s[1]/2+Fo/4,g=Math.sin(p),v=Math.cos(p),d=1;;){d===f&&(d=0),n=c[d];var y=n[0],m=n[1]/2+Fo/4,M=Math.sin(m),x=Math.cos(m),b=y-h,_=b>=0?1:-1,w=_*b,S=w>Fo,k=g*M;if(ka.add(Math.atan2(k*_*Math.sin(w),v*x+k*Math.cos(w))),u+=S?b+_*Ho:b,S^h>=e^y>=e){var N=mt(dt(s),dt(n));bt(N);var E=mt(i,N);bt(E);var A=(S^b>=0?-1:1)*tn(E[2]);(r>A||r===A&&(N[0]||N[1]))&&(o+=S^b>=0?1:-1)}if(!d++)break;h=y,g=M,v=x,s=n}}return(-Uo>u||Uo>u&&-Uo>ka)^1&o}function It(n){function t(n,t){return Math.cos(n)*Math.cos(t)>u}function e(n){var e,u,l,c,f;return{lineStart:function(){c=l=!1,f=1},point:function(s,h){var p,g=[s,h],v=t(s,h),d=o?v?0:i(s,h):v?i(s+(0>s?Fo:-Fo),h):0;if(!e&&(c=l=v)&&n.lineStart(),v!==l&&(p=r(e,g),(wt(e,p)||wt(g,p))&&(g[0]+=Uo,g[1]+=Uo,v=t(g[0],g[1]))),v!==l)f=0,v?(n.lineStart(),p=r(g,e),n.point(p[0],p[1])):(p=r(e,g),n.point(p[0],p[1]),n.lineEnd()),e=p;else if(a&&e&&o^v){var y;d&u||!(y=r(g,e,!0))||(f=0,o?(n.lineStart(),n.point(y[0][0],y[0][1]),n.point(y[1][0],y[1][1]),n.lineEnd()):(n.point(y[1][0],y[1][1]),n.lineEnd(),n.lineStart(),n.point(y[0][0],y[0][1])))}!v||e&&wt(e,g)||n.point(g[0],g[1]),e=g,l=v,u=d},lineEnd:function(){l&&n.lineEnd(),e=null},clean:function(){return f|(c&&l)<<1}}}function r(n,t,e){var r=dt(n),i=dt(t),o=[1,0,0],a=mt(r,i),l=yt(a,a),c=a[0],f=l-c*c;if(!f)return!e&&n;var s=u*l/f,h=-u*c/f,p=mt(o,a),g=xt(o,s),v=xt(a,h);Mt(g,v);var d=p,y=yt(g,d),m=yt(d,d),M=y*y-m*(yt(g,g)-1);if(!(0>M)){var x=Math.sqrt(M),b=xt(d,(-y-x)/m);if(Mt(b,g),b=_t(b),!e)return b;var _,w=n[0],S=t[0],k=n[1],N=t[1];w>S&&(_=w,w=S,S=_);var E=S-w,A=xo(E-Fo)<Uo,C=A||Uo>E;if(!A&&k>N&&(_=k,k=N,N=_),C?A?k+N>0^b[1]<(xo(b[0]-w)<Uo?k:N):k<=b[1]&&b[1]<=N:E>Fo^(w<=b[0]&&b[0]<=S)){var z=xt(d,(-y+x)/m);return Mt(z,g),[b,_t(z)]}}}function i(t,e){var r=o?n:Fo-n,i=0;return-r>t?i|=1:t>r&&(i|=2),-r>e?i|=4:e>r&&(i|=8),i}var u=Math.cos(n),o=u>0,a=xo(u)>Uo,l=ve(n,6*Yo);return Rt(t,e,l,o?[0,-n]:[-Fo,n-Fo])}function Yt(n,t,e,r){return function(i){var u,o=i.a,a=i.b,l=o.x,c=o.y,f=a.x,s=a.y,h=0,p=1,g=f-l,v=s-c;if(u=n-l,g||!(u>0)){if(u/=g,0>g){if(h>u)return;p>u&&(p=u)}else if(g>0){if(u>p)return;u>h&&(h=u)}if(u=e-l,g||!(0>u)){if(u/=g,0>g){if(u>p)return;u>h&&(h=u)}else if(g>0){if(h>u)return;p>u&&(p=u)}if(u=t-c,v||!(u>0)){if(u/=v,0>v){if(h>u)return;p>u&&(p=u)}else if(v>0){if(u>p)return;u>h&&(h=u)}if(u=r-c,v||!(0>u)){if(u/=v,0>v){if(u>p)return;u>h&&(h=u)}else if(v>0){if(h>u)return;p>u&&(p=u)}return h>0&&(i.a={x:l+h*g,y:c+h*v}),1>p&&(i.b={x:l+p*g,y:c+p*v}),i}}}}}}function Zt(n,t,e,r){function i(r,i){return xo(r[0]-n)<Uo?i>0?0:3:xo(r[0]-e)<Uo?i>0?2:1:xo(r[1]-t)<Uo?i>0?1:0:i>0?3:2}function u(n,t){return o(n.x,t.x)}function o(n,t){var e=i(n,1),r=i(t,1);return e!==r?e-r:0===e?t[1]-n[1]:1===e?n[0]-t[0]:2===e?n[1]-t[1]:t[0]-n[0]}return function(a){function l(n){for(var t=0,e=d.length,r=n[1],i=0;e>i;++i)for(var u,o=1,a=d[i],l=a.length,c=a[0];l>o;++o)u=a[o],c[1]<=r?u[1]>r&&Q(c,u,n)>0&&++t:u[1]<=r&&Q(c,u,n)<0&&--t,c=u;return 0!==t}function c(u,a,l,c){var f=0,s=0;if(null==u||(f=i(u,l))!==(s=i(a,l))||o(u,a)<0^l>0){do c.point(0===f||3===f?n:e,f>1?r:t);while((f=(f+l+4)%4)!==s)}else c.point(a[0],a[1])}function f(i,u){return i>=n&&e>=i&&u>=t&&r>=u}function s(n,t){f(n,t)&&a.point(n,t)}function h(){C.point=g,d&&d.push(y=[]),S=!0,w=!1,b=_=NaN}function p(){v&&(g(m,M),x&&w&&E.rejoin(),v.push(E.buffer())),C.point=s,w&&a.lineEnd()}function g(n,t){n=Math.max(-Ha,Math.min(Ha,n)),t=Math.max(-Ha,Math.min(Ha,t));var e=f(n,t);if(d&&y.push([n,t]),S)m=n,M=t,x=e,S=!1,e&&(a.lineStart(),a.point(n,t));else if(e&&w)a.point(n,t);else{var r={a:{x:b,y:_},b:{x:n,y:t}};A(r)?(w||(a.lineStart(),a.point(r.a.x,r.a.y)),a.point(r.b.x,r.b.y),e||a.lineEnd(),k=!1):e&&(a.lineStart(),a.point(n,t),k=!1)}b=n,_=t,w=e}var v,d,y,m,M,x,b,_,w,S,k,N=a,E=Pt(),A=Yt(n,t,e,r),C={point:s,lineStart:h,lineEnd:p,polygonStart:function(){a=E,v=[],d=[],k=!0},polygonEnd:function(){a=N,v=ao.merge(v);var t=l([n,r]),e=k&&t,i=v.length;(e||i)&&(a.polygonStart(),e&&(a.lineStart(),c(null,null,1,a),a.lineEnd()),i&&Lt(v,u,t,c,a),a.polygonEnd()),v=d=y=null}};return C}}function Vt(n){var t=0,e=Fo/3,r=ae(n),i=r(t,e);return i.parallels=function(n){return arguments.length?r(t=n[0]*Fo/180,e=n[1]*Fo/180):[t/Fo*180,e/Fo*180]},i}function Xt(n,t){function e(n,t){var e=Math.sqrt(u-2*i*Math.sin(t))/i;return[e*Math.sin(n*=i),o-e*Math.cos(n)]}var r=Math.sin(n),i=(r+Math.sin(t))/2,u=1+r*(2*i-r),o=Math.sqrt(u)/i;return e.invert=function(n,t){var e=o-t;return[Math.atan2(n,e)/i,tn((u-(n*n+e*e)*i*i)/(2*i))]},e}function $t(){function n(n,t){Ia+=i*n-r*t,r=n,i=t}var t,e,r,i;$a.point=function(u,o){$a.point=n,t=r=u,e=i=o},$a.lineEnd=function(){n(t,e)}}function Bt(n,t){Ya>n&&(Ya=n),n>Va&&(Va=n),Za>t&&(Za=t),t>Xa&&(Xa=t)}function Wt(){function n(n,t){o.push("M",n,",",t,u)}function t(n,t){o.push("M",n,",",t),a.point=e}function e(n,t){o.push("L",n,",",t)}function r(){a.point=n}function i(){o.push("Z")}var u=Jt(4.5),o=[],a={point:n,lineStart:function(){a.point=t},lineEnd:r,polygonStart:function(){a.lineEnd=i},polygonEnd:function(){a.lineEnd=r,a.point=n},pointRadius:function(n){return u=Jt(n),a},result:function(){if(o.length){var n=o.join("");return o=[],n}}};return a}function Jt(n){return"m0,"+n+"a"+n+","+n+" 0 1,1 0,"+-2*n+"a"+n+","+n+" 0 1,1 0,"+2*n+"z"}function Gt(n,t){Ca+=n,za+=t,++La}function Kt(){function n(n,r){var i=n-t,u=r-e,o=Math.sqrt(i*i+u*u);qa+=o*(t+n)/2,Ta+=o*(e+r)/2,Ra+=o,Gt(t=n,e=r)}var t,e;Wa.point=function(r,i){Wa.point=n,Gt(t=r,e=i)}}function Qt(){Wa.point=Gt}function ne(){function n(n,t){var e=n-r,u=t-i,o=Math.sqrt(e*e+u*u);qa+=o*(r+n)/2,Ta+=o*(i+t)/2,Ra+=o,o=i*n-r*t,Da+=o*(r+n),Pa+=o*(i+t),Ua+=3*o,Gt(r=n,i=t)}var t,e,r,i;Wa.point=function(u,o){Wa.point=n,Gt(t=r=u,e=i=o)},Wa.lineEnd=function(){n(t,e)}}function te(n){function t(t,e){n.moveTo(t+o,e),n.arc(t,e,o,0,Ho)}function e(t,e){n.moveTo(t,e),a.point=r}function r(t,e){n.lineTo(t,e)}function i(){a.point=t}function u(){n.closePath()}var o=4.5,a={point:t,lineStart:function(){a.point=e},lineEnd:i,polygonStart:function(){a.lineEnd=u},polygonEnd:function(){a.lineEnd=i,a.point=t},pointRadius:function(n){return o=n,a},result:b};return a}function ee(n){function t(n){return(a?r:e)(n)}function e(t){return ue(t,function(e,r){e=n(e,r),t.point(e[0],e[1])})}function r(t){function e(e,r){e=n(e,r),t.point(e[0],e[1])}function r(){M=NaN,S.point=u,t.lineStart()}function u(e,r){var u=dt([e,r]),o=n(e,r);i(M,x,m,b,_,w,M=o[0],x=o[1],m=e,b=u[0],_=u[1],w=u[2],a,t),t.point(M,x)}function o(){S.point=e,t.lineEnd()}function l(){ +r(),S.point=c,S.lineEnd=f}function c(n,t){u(s=n,h=t),p=M,g=x,v=b,d=_,y=w,S.point=u}function f(){i(M,x,m,b,_,w,p,g,s,v,d,y,a,t),S.lineEnd=o,o()}var s,h,p,g,v,d,y,m,M,x,b,_,w,S={point:e,lineStart:r,lineEnd:o,polygonStart:function(){t.polygonStart(),S.lineStart=l},polygonEnd:function(){t.polygonEnd(),S.lineStart=r}};return S}function i(t,e,r,a,l,c,f,s,h,p,g,v,d,y){var m=f-t,M=s-e,x=m*m+M*M;if(x>4*u&&d--){var b=a+p,_=l+g,w=c+v,S=Math.sqrt(b*b+_*_+w*w),k=Math.asin(w/=S),N=xo(xo(w)-1)<Uo||xo(r-h)<Uo?(r+h)/2:Math.atan2(_,b),E=n(N,k),A=E[0],C=E[1],z=A-t,L=C-e,q=M*z-m*L;(q*q/x>u||xo((m*z+M*L)/x-.5)>.3||o>a*p+l*g+c*v)&&(i(t,e,r,a,l,c,A,C,N,b/=S,_/=S,w,d,y),y.point(A,C),i(A,C,N,b,_,w,f,s,h,p,g,v,d,y))}}var u=.5,o=Math.cos(30*Yo),a=16;return t.precision=function(n){return arguments.length?(a=(u=n*n)>0&&16,t):Math.sqrt(u)},t}function re(n){var t=ee(function(t,e){return n([t*Zo,e*Zo])});return function(n){return le(t(n))}}function ie(n){this.stream=n}function ue(n,t){return{point:t,sphere:function(){n.sphere()},lineStart:function(){n.lineStart()},lineEnd:function(){n.lineEnd()},polygonStart:function(){n.polygonStart()},polygonEnd:function(){n.polygonEnd()}}}function oe(n){return ae(function(){return n})()}function ae(n){function t(n){return n=a(n[0]*Yo,n[1]*Yo),[n[0]*h+l,c-n[1]*h]}function e(n){return n=a.invert((n[0]-l)/h,(c-n[1])/h),n&&[n[0]*Zo,n[1]*Zo]}function r(){a=Ct(o=se(y,M,x),u);var n=u(v,d);return l=p-n[0]*h,c=g+n[1]*h,i()}function i(){return f&&(f.valid=!1,f=null),t}var u,o,a,l,c,f,s=ee(function(n,t){return n=u(n,t),[n[0]*h+l,c-n[1]*h]}),h=150,p=480,g=250,v=0,d=0,y=0,M=0,x=0,b=Fa,_=m,w=null,S=null;return t.stream=function(n){return f&&(f.valid=!1),f=le(b(o,s(_(n)))),f.valid=!0,f},t.clipAngle=function(n){return arguments.length?(b=null==n?(w=n,Fa):It((w=+n)*Yo),i()):w},t.clipExtent=function(n){return arguments.length?(S=n,_=n?Zt(n[0][0],n[0][1],n[1][0],n[1][1]):m,i()):S},t.scale=function(n){return arguments.length?(h=+n,r()):h},t.translate=function(n){return arguments.length?(p=+n[0],g=+n[1],r()):[p,g]},t.center=function(n){return arguments.length?(v=n[0]%360*Yo,d=n[1]%360*Yo,r()):[v*Zo,d*Zo]},t.rotate=function(n){return arguments.length?(y=n[0]%360*Yo,M=n[1]%360*Yo,x=n.length>2?n[2]%360*Yo:0,r()):[y*Zo,M*Zo,x*Zo]},ao.rebind(t,s,"precision"),function(){return u=n.apply(this,arguments),t.invert=u.invert&&e,r()}}function le(n){return ue(n,function(t,e){n.point(t*Yo,e*Yo)})}function ce(n,t){return[n,t]}function fe(n,t){return[n>Fo?n-Ho:-Fo>n?n+Ho:n,t]}function se(n,t,e){return n?t||e?Ct(pe(n),ge(t,e)):pe(n):t||e?ge(t,e):fe}function he(n){return function(t,e){return t+=n,[t>Fo?t-Ho:-Fo>t?t+Ho:t,e]}}function pe(n){var t=he(n);return t.invert=he(-n),t}function ge(n,t){function e(n,t){var e=Math.cos(t),a=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),f=c*r+a*i;return[Math.atan2(l*u-f*o,a*r-c*i),tn(f*u+l*o)]}var r=Math.cos(n),i=Math.sin(n),u=Math.cos(t),o=Math.sin(t);return e.invert=function(n,t){var e=Math.cos(t),a=Math.cos(n)*e,l=Math.sin(n)*e,c=Math.sin(t),f=c*u-l*o;return[Math.atan2(l*u+c*o,a*r+f*i),tn(f*r-a*i)]},e}function ve(n,t){var e=Math.cos(n),r=Math.sin(n);return function(i,u,o,a){var l=o*t;null!=i?(i=de(e,i),u=de(e,u),(o>0?u>i:i>u)&&(i+=o*Ho)):(i=n+o*Ho,u=n-.5*l);for(var c,f=i;o>0?f>u:u>f;f-=l)a.point((c=_t([e,-r*Math.cos(f),-r*Math.sin(f)]))[0],c[1])}}function de(n,t){var e=dt(t);e[0]-=n,bt(e);var r=nn(-e[1]);return((-e[2]<0?-r:r)+2*Math.PI-Uo)%(2*Math.PI)}function ye(n,t,e){var r=ao.range(n,t-Uo,e).concat(t);return function(n){return r.map(function(t){return[n,t]})}}function me(n,t,e){var r=ao.range(n,t-Uo,e).concat(t);return function(n){return r.map(function(t){return[t,n]})}}function Me(n){return n.source}function xe(n){return n.target}function be(n,t,e,r){var i=Math.cos(t),u=Math.sin(t),o=Math.cos(r),a=Math.sin(r),l=i*Math.cos(n),c=i*Math.sin(n),f=o*Math.cos(e),s=o*Math.sin(e),h=2*Math.asin(Math.sqrt(on(r-t)+i*o*on(e-n))),p=1/Math.sin(h),g=h?function(n){var t=Math.sin(n*=h)*p,e=Math.sin(h-n)*p,r=e*l+t*f,i=e*c+t*s,o=e*u+t*a;return[Math.atan2(i,r)*Zo,Math.atan2(o,Math.sqrt(r*r+i*i))*Zo]}:function(){return[n*Zo,t*Zo]};return g.distance=h,g}function _e(){function n(n,i){var u=Math.sin(i*=Yo),o=Math.cos(i),a=xo((n*=Yo)-t),l=Math.cos(a);Ja+=Math.atan2(Math.sqrt((a=o*Math.sin(a))*a+(a=r*u-e*o*l)*a),e*u+r*o*l),t=n,e=u,r=o}var t,e,r;Ga.point=function(i,u){t=i*Yo,e=Math.sin(u*=Yo),r=Math.cos(u),Ga.point=n},Ga.lineEnd=function(){Ga.point=Ga.lineEnd=b}}function we(n,t){function e(t,e){var r=Math.cos(t),i=Math.cos(e),u=n(r*i);return[u*i*Math.sin(t),u*Math.sin(e)]}return e.invert=function(n,e){var r=Math.sqrt(n*n+e*e),i=t(r),u=Math.sin(i),o=Math.cos(i);return[Math.atan2(n*u,r*o),Math.asin(r&&e*u/r)]},e}function Se(n,t){function e(n,t){o>0?-Io+Uo>t&&(t=-Io+Uo):t>Io-Uo&&(t=Io-Uo);var e=o/Math.pow(i(t),u);return[e*Math.sin(u*n),o-e*Math.cos(u*n)]}var r=Math.cos(n),i=function(n){return Math.tan(Fo/4+n/2)},u=n===t?Math.sin(n):Math.log(r/Math.cos(t))/Math.log(i(t)/i(n)),o=r*Math.pow(i(n),u)/u;return u?(e.invert=function(n,t){var e=o-t,r=K(u)*Math.sqrt(n*n+e*e);return[Math.atan2(n,e)/u,2*Math.atan(Math.pow(o/r,1/u))-Io]},e):Ne}function ke(n,t){function e(n,t){var e=u-t;return[e*Math.sin(i*n),u-e*Math.cos(i*n)]}var r=Math.cos(n),i=n===t?Math.sin(n):(r-Math.cos(t))/(t-n),u=r/i+n;return xo(i)<Uo?ce:(e.invert=function(n,t){var e=u-t;return[Math.atan2(n,e)/i,u-K(i)*Math.sqrt(n*n+e*e)]},e)}function Ne(n,t){return[n,Math.log(Math.tan(Fo/4+t/2))]}function Ee(n){var t,e=oe(n),r=e.scale,i=e.translate,u=e.clipExtent;return e.scale=function(){var n=r.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.translate=function(){var n=i.apply(e,arguments);return n===e?t?e.clipExtent(null):e:n},e.clipExtent=function(n){var o=u.apply(e,arguments);if(o===e){if(t=null==n){var a=Fo*r(),l=i();u([[l[0]-a,l[1]-a],[l[0]+a,l[1]+a]])}}else t&&(o=null);return o},e.clipExtent(null)}function Ae(n,t){return[Math.log(Math.tan(Fo/4+t/2)),-n]}function Ce(n){return n[0]}function ze(n){return n[1]}function Le(n){for(var t=n.length,e=[0,1],r=2,i=2;t>i;i++){for(;r>1&&Q(n[e[r-2]],n[e[r-1]],n[i])<=0;)--r;e[r++]=i}return e.slice(0,r)}function qe(n,t){return n[0]-t[0]||n[1]-t[1]}function Te(n,t,e){return(e[0]-t[0])*(n[1]-t[1])<(e[1]-t[1])*(n[0]-t[0])}function Re(n,t,e,r){var i=n[0],u=e[0],o=t[0]-i,a=r[0]-u,l=n[1],c=e[1],f=t[1]-l,s=r[1]-c,h=(a*(l-c)-s*(i-u))/(s*o-a*f);return[i+h*o,l+h*f]}function De(n){var t=n[0],e=n[n.length-1];return!(t[0]-e[0]||t[1]-e[1])}function Pe(){rr(this),this.edge=this.site=this.circle=null}function Ue(n){var t=cl.pop()||new Pe;return t.site=n,t}function je(n){Be(n),ol.remove(n),cl.push(n),rr(n)}function Fe(n){var t=n.circle,e=t.x,r=t.cy,i={x:e,y:r},u=n.P,o=n.N,a=[n];je(n);for(var l=u;l.circle&&xo(e-l.circle.x)<Uo&&xo(r-l.circle.cy)<Uo;)u=l.P,a.unshift(l),je(l),l=u;a.unshift(l),Be(l);for(var c=o;c.circle&&xo(e-c.circle.x)<Uo&&xo(r-c.circle.cy)<Uo;)o=c.N,a.push(c),je(c),c=o;a.push(c),Be(c);var f,s=a.length;for(f=1;s>f;++f)c=a[f],l=a[f-1],nr(c.edge,l.site,c.site,i);l=a[0],c=a[s-1],c.edge=Ke(l.site,c.site,null,i),$e(l),$e(c)}function He(n){for(var t,e,r,i,u=n.x,o=n.y,a=ol._;a;)if(r=Oe(a,o)-u,r>Uo)a=a.L;else{if(i=u-Ie(a,o),!(i>Uo)){r>-Uo?(t=a.P,e=a):i>-Uo?(t=a,e=a.N):t=e=a;break}if(!a.R){t=a;break}a=a.R}var l=Ue(n);if(ol.insert(t,l),t||e){if(t===e)return Be(t),e=Ue(t.site),ol.insert(l,e),l.edge=e.edge=Ke(t.site,l.site),$e(t),void $e(e);if(!e)return void(l.edge=Ke(t.site,l.site));Be(t),Be(e);var c=t.site,f=c.x,s=c.y,h=n.x-f,p=n.y-s,g=e.site,v=g.x-f,d=g.y-s,y=2*(h*d-p*v),m=h*h+p*p,M=v*v+d*d,x={x:(d*m-p*M)/y+f,y:(h*M-v*m)/y+s};nr(e.edge,c,g,x),l.edge=Ke(c,n,null,x),e.edge=Ke(n,g,null,x),$e(t),$e(e)}}function Oe(n,t){var e=n.site,r=e.x,i=e.y,u=i-t;if(!u)return r;var o=n.P;if(!o)return-(1/0);e=o.site;var a=e.x,l=e.y,c=l-t;if(!c)return a;var f=a-r,s=1/u-1/c,h=f/c;return s?(-h+Math.sqrt(h*h-2*s*(f*f/(-2*c)-l+c/2+i-u/2)))/s+r:(r+a)/2}function Ie(n,t){var e=n.N;if(e)return Oe(e,t);var r=n.site;return r.y===t?r.x:1/0}function Ye(n){this.site=n,this.edges=[]}function Ze(n){for(var t,e,r,i,u,o,a,l,c,f,s=n[0][0],h=n[1][0],p=n[0][1],g=n[1][1],v=ul,d=v.length;d--;)if(u=v[d],u&&u.prepare())for(a=u.edges,l=a.length,o=0;l>o;)f=a[o].end(),r=f.x,i=f.y,c=a[++o%l].start(),t=c.x,e=c.y,(xo(r-t)>Uo||xo(i-e)>Uo)&&(a.splice(o,0,new tr(Qe(u.site,f,xo(r-s)<Uo&&g-i>Uo?{x:s,y:xo(t-s)<Uo?e:g}:xo(i-g)<Uo&&h-r>Uo?{x:xo(e-g)<Uo?t:h,y:g}:xo(r-h)<Uo&&i-p>Uo?{x:h,y:xo(t-h)<Uo?e:p}:xo(i-p)<Uo&&r-s>Uo?{x:xo(e-p)<Uo?t:s,y:p}:null),u.site,null)),++l)}function Ve(n,t){return t.angle-n.angle}function Xe(){rr(this),this.x=this.y=this.arc=this.site=this.cy=null}function $e(n){var t=n.P,e=n.N;if(t&&e){var r=t.site,i=n.site,u=e.site;if(r!==u){var o=i.x,a=i.y,l=r.x-o,c=r.y-a,f=u.x-o,s=u.y-a,h=2*(l*s-c*f);if(!(h>=-jo)){var p=l*l+c*c,g=f*f+s*s,v=(s*p-c*g)/h,d=(l*g-f*p)/h,s=d+a,y=fl.pop()||new Xe;y.arc=n,y.site=i,y.x=v+o,y.y=s+Math.sqrt(v*v+d*d),y.cy=s,n.circle=y;for(var m=null,M=ll._;M;)if(y.y<M.y||y.y===M.y&&y.x<=M.x){if(!M.L){m=M.P;break}M=M.L}else{if(!M.R){m=M;break}M=M.R}ll.insert(m,y),m||(al=y)}}}}function Be(n){var t=n.circle;t&&(t.P||(al=t.N),ll.remove(t),fl.push(t),rr(t),n.circle=null)}function We(n){for(var t,e=il,r=Yt(n[0][0],n[0][1],n[1][0],n[1][1]),i=e.length;i--;)t=e[i],(!Je(t,n)||!r(t)||xo(t.a.x-t.b.x)<Uo&&xo(t.a.y-t.b.y)<Uo)&&(t.a=t.b=null,e.splice(i,1))}function Je(n,t){var e=n.b;if(e)return!0;var r,i,u=n.a,o=t[0][0],a=t[1][0],l=t[0][1],c=t[1][1],f=n.l,s=n.r,h=f.x,p=f.y,g=s.x,v=s.y,d=(h+g)/2,y=(p+v)/2;if(v===p){if(o>d||d>=a)return;if(h>g){if(u){if(u.y>=c)return}else u={x:d,y:l};e={x:d,y:c}}else{if(u){if(u.y<l)return}else u={x:d,y:c};e={x:d,y:l}}}else if(r=(h-g)/(v-p),i=y-r*d,-1>r||r>1)if(h>g){if(u){if(u.y>=c)return}else u={x:(l-i)/r,y:l};e={x:(c-i)/r,y:c}}else{if(u){if(u.y<l)return}else u={x:(c-i)/r,y:c};e={x:(l-i)/r,y:l}}else if(v>p){if(u){if(u.x>=a)return}else u={x:o,y:r*o+i};e={x:a,y:r*a+i}}else{if(u){if(u.x<o)return}else u={x:a,y:r*a+i};e={x:o,y:r*o+i}}return n.a=u,n.b=e,!0}function Ge(n,t){this.l=n,this.r=t,this.a=this.b=null}function Ke(n,t,e,r){var i=new Ge(n,t);return il.push(i),e&&nr(i,n,t,e),r&&nr(i,t,n,r),ul[n.i].edges.push(new tr(i,n,t)),ul[t.i].edges.push(new tr(i,t,n)),i}function Qe(n,t,e){var r=new Ge(n,null);return r.a=t,r.b=e,il.push(r),r}function nr(n,t,e,r){n.a||n.b?n.l===e?n.b=r:n.a=r:(n.a=r,n.l=t,n.r=e)}function tr(n,t,e){var r=n.a,i=n.b;this.edge=n,this.site=t,this.angle=e?Math.atan2(e.y-t.y,e.x-t.x):n.l===t?Math.atan2(i.x-r.x,r.y-i.y):Math.atan2(r.x-i.x,i.y-r.y)}function er(){this._=null}function rr(n){n.U=n.C=n.L=n.R=n.P=n.N=null}function ir(n,t){var e=t,r=t.R,i=e.U;i?i.L===e?i.L=r:i.R=r:n._=r,r.U=i,e.U=r,e.R=r.L,e.R&&(e.R.U=e),r.L=e}function ur(n,t){var e=t,r=t.L,i=e.U;i?i.L===e?i.L=r:i.R=r:n._=r,r.U=i,e.U=r,e.L=r.R,e.L&&(e.L.U=e),r.R=e}function or(n){for(;n.L;)n=n.L;return n}function ar(n,t){var e,r,i,u=n.sort(lr).pop();for(il=[],ul=new Array(n.length),ol=new er,ll=new er;;)if(i=al,u&&(!i||u.y<i.y||u.y===i.y&&u.x<i.x))u.x===e&&u.y===r||(ul[u.i]=new Ye(u),He(u),e=u.x,r=u.y),u=n.pop();else{if(!i)break;Fe(i.arc)}t&&(We(t),Ze(t));var o={cells:ul,edges:il};return ol=ll=il=ul=null,o}function lr(n,t){return t.y-n.y||t.x-n.x}function cr(n,t,e){return(n.x-e.x)*(t.y-n.y)-(n.x-t.x)*(e.y-n.y)}function fr(n){return n.x}function sr(n){return n.y}function hr(){return{leaf:!0,nodes:[],point:null,x:null,y:null}}function pr(n,t,e,r,i,u){if(!n(t,e,r,i,u)){var o=.5*(e+i),a=.5*(r+u),l=t.nodes;l[0]&&pr(n,l[0],e,r,o,a),l[1]&&pr(n,l[1],o,r,i,a),l[2]&&pr(n,l[2],e,a,o,u),l[3]&&pr(n,l[3],o,a,i,u)}}function gr(n,t,e,r,i,u,o){var a,l=1/0;return function c(n,f,s,h,p){if(!(f>u||s>o||r>h||i>p)){if(g=n.point){var g,v=t-n.x,d=e-n.y,y=v*v+d*d;if(l>y){var m=Math.sqrt(l=y);r=t-m,i=e-m,u=t+m,o=e+m,a=g}}for(var M=n.nodes,x=.5*(f+h),b=.5*(s+p),_=t>=x,w=e>=b,S=w<<1|_,k=S+4;k>S;++S)if(n=M[3&S])switch(3&S){case 0:c(n,f,s,x,b);break;case 1:c(n,x,s,h,b);break;case 2:c(n,f,b,x,p);break;case 3:c(n,x,b,h,p)}}}(n,r,i,u,o),a}function vr(n,t){n=ao.rgb(n),t=ao.rgb(t);var e=n.r,r=n.g,i=n.b,u=t.r-e,o=t.g-r,a=t.b-i;return function(n){return"#"+bn(Math.round(e+u*n))+bn(Math.round(r+o*n))+bn(Math.round(i+a*n))}}function dr(n,t){var e,r={},i={};for(e in n)e in t?r[e]=Mr(n[e],t[e]):i[e]=n[e];for(e in t)e in n||(i[e]=t[e]);return function(n){for(e in r)i[e]=r[e](n);return i}}function yr(n,t){return n=+n,t=+t,function(e){return n*(1-e)+t*e}}function mr(n,t){var e,r,i,u=hl.lastIndex=pl.lastIndex=0,o=-1,a=[],l=[];for(n+="",t+="";(e=hl.exec(n))&&(r=pl.exec(t));)(i=r.index)>u&&(i=t.slice(u,i),a[o]?a[o]+=i:a[++o]=i),(e=e[0])===(r=r[0])?a[o]?a[o]+=r:a[++o]=r:(a[++o]=null,l.push({i:o,x:yr(e,r)})),u=pl.lastIndex;return u<t.length&&(i=t.slice(u),a[o]?a[o]+=i:a[++o]=i),a.length<2?l[0]?(t=l[0].x,function(n){return t(n)+""}):function(){return t}:(t=l.length,function(n){for(var e,r=0;t>r;++r)a[(e=l[r]).i]=e.x(n);return a.join("")})}function Mr(n,t){for(var e,r=ao.interpolators.length;--r>=0&&!(e=ao.interpolators[r](n,t)););return e}function xr(n,t){var e,r=[],i=[],u=n.length,o=t.length,a=Math.min(n.length,t.length);for(e=0;a>e;++e)r.push(Mr(n[e],t[e]));for(;u>e;++e)i[e]=n[e];for(;o>e;++e)i[e]=t[e];return function(n){for(e=0;a>e;++e)i[e]=r[e](n);return i}}function br(n){return function(t){return 0>=t?0:t>=1?1:n(t)}}function _r(n){return function(t){return 1-n(1-t)}}function wr(n){return function(t){return.5*(.5>t?n(2*t):2-n(2-2*t))}}function Sr(n){return n*n}function kr(n){return n*n*n}function Nr(n){if(0>=n)return 0;if(n>=1)return 1;var t=n*n,e=t*n;return 4*(.5>n?e:3*(n-t)+e-.75)}function Er(n){return function(t){return Math.pow(t,n)}}function Ar(n){return 1-Math.cos(n*Io)}function Cr(n){return Math.pow(2,10*(n-1))}function zr(n){return 1-Math.sqrt(1-n*n)}function Lr(n,t){var e;return arguments.length<2&&(t=.45),arguments.length?e=t/Ho*Math.asin(1/n):(n=1,e=t/4),function(r){return 1+n*Math.pow(2,-10*r)*Math.sin((r-e)*Ho/t)}}function qr(n){return n||(n=1.70158),function(t){return t*t*((n+1)*t-n)}}function Tr(n){return 1/2.75>n?7.5625*n*n:2/2.75>n?7.5625*(n-=1.5/2.75)*n+.75:2.5/2.75>n?7.5625*(n-=2.25/2.75)*n+.9375:7.5625*(n-=2.625/2.75)*n+.984375}function Rr(n,t){n=ao.hcl(n),t=ao.hcl(t);var e=n.h,r=n.c,i=n.l,u=t.h-e,o=t.c-r,a=t.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?t.c:r),isNaN(u)?(u=0,e=isNaN(e)?t.h:e):u>180?u-=360:-180>u&&(u+=360),function(n){return sn(e+u*n,r+o*n,i+a*n)+""}}function Dr(n,t){n=ao.hsl(n),t=ao.hsl(t);var e=n.h,r=n.s,i=n.l,u=t.h-e,o=t.s-r,a=t.l-i;return isNaN(o)&&(o=0,r=isNaN(r)?t.s:r),isNaN(u)?(u=0,e=isNaN(e)?t.h:e):u>180?u-=360:-180>u&&(u+=360),function(n){return cn(e+u*n,r+o*n,i+a*n)+""}}function Pr(n,t){n=ao.lab(n),t=ao.lab(t);var e=n.l,r=n.a,i=n.b,u=t.l-e,o=t.a-r,a=t.b-i;return function(n){return pn(e+u*n,r+o*n,i+a*n)+""}}function Ur(n,t){return t-=n,function(e){return Math.round(n+t*e)}}function jr(n){var t=[n.a,n.b],e=[n.c,n.d],r=Hr(t),i=Fr(t,e),u=Hr(Or(e,t,-i))||0;t[0]*e[1]<e[0]*t[1]&&(t[0]*=-1,t[1]*=-1,r*=-1,i*=-1),this.rotate=(r?Math.atan2(t[1],t[0]):Math.atan2(-e[0],e[1]))*Zo,this.translate=[n.e,n.f],this.scale=[r,u],this.skew=u?Math.atan2(i,u)*Zo:0}function Fr(n,t){return n[0]*t[0]+n[1]*t[1]}function Hr(n){var t=Math.sqrt(Fr(n,n));return t&&(n[0]/=t,n[1]/=t),t}function Or(n,t,e){return n[0]+=e*t[0],n[1]+=e*t[1],n}function Ir(n){return n.length?n.pop()+",":""}function Yr(n,t,e,r){if(n[0]!==t[0]||n[1]!==t[1]){var i=e.push("translate(",null,",",null,")");r.push({i:i-4,x:yr(n[0],t[0])},{i:i-2,x:yr(n[1],t[1])})}else(t[0]||t[1])&&e.push("translate("+t+")")}function Zr(n,t,e,r){n!==t?(n-t>180?t+=360:t-n>180&&(n+=360),r.push({i:e.push(Ir(e)+"rotate(",null,")")-2,x:yr(n,t)})):t&&e.push(Ir(e)+"rotate("+t+")")}function Vr(n,t,e,r){n!==t?r.push({i:e.push(Ir(e)+"skewX(",null,")")-2,x:yr(n,t)}):t&&e.push(Ir(e)+"skewX("+t+")")}function Xr(n,t,e,r){if(n[0]!==t[0]||n[1]!==t[1]){var i=e.push(Ir(e)+"scale(",null,",",null,")");r.push({i:i-4,x:yr(n[0],t[0])},{i:i-2,x:yr(n[1],t[1])})}else 1===t[0]&&1===t[1]||e.push(Ir(e)+"scale("+t+")")}function $r(n,t){var e=[],r=[];return n=ao.transform(n),t=ao.transform(t),Yr(n.translate,t.translate,e,r),Zr(n.rotate,t.rotate,e,r),Vr(n.skew,t.skew,e,r),Xr(n.scale,t.scale,e,r),n=t=null,function(n){for(var t,i=-1,u=r.length;++i<u;)e[(t=r[i]).i]=t.x(n);return e.join("")}}function Br(n,t){return t=(t-=n=+n)||1/t,function(e){return(e-n)/t}}function Wr(n,t){return t=(t-=n=+n)||1/t,function(e){return Math.max(0,Math.min(1,(e-n)/t))}}function Jr(n){for(var t=n.source,e=n.target,r=Kr(t,e),i=[t];t!==r;)t=t.parent,i.push(t);for(var u=i.length;e!==r;)i.splice(u,0,e),e=e.parent;return i}function Gr(n){for(var t=[],e=n.parent;null!=e;)t.push(n),n=e,e=e.parent;return t.push(n),t}function Kr(n,t){if(n===t)return n;for(var e=Gr(n),r=Gr(t),i=e.pop(),u=r.pop(),o=null;i===u;)o=i,i=e.pop(),u=r.pop();return o}function Qr(n){n.fixed|=2}function ni(n){n.fixed&=-7}function ti(n){n.fixed|=4,n.px=n.x,n.py=n.y}function ei(n){n.fixed&=-5}function ri(n,t,e){var r=0,i=0;if(n.charge=0,!n.leaf)for(var u,o=n.nodes,a=o.length,l=-1;++l<a;)u=o[l],null!=u&&(ri(u,t,e),n.charge+=u.charge,r+=u.charge*u.cx,i+=u.charge*u.cy);if(n.point){n.leaf||(n.point.x+=Math.random()-.5,n.point.y+=Math.random()-.5);var c=t*e[n.point.index];n.charge+=n.pointCharge=c,r+=c*n.point.x,i+=c*n.point.y}n.cx=r/n.charge,n.cy=i/n.charge}function ii(n,t){return ao.rebind(n,t,"sort","children","value"),n.nodes=n,n.links=fi,n}function ui(n,t){for(var e=[n];null!=(n=e.pop());)if(t(n),(i=n.children)&&(r=i.length))for(var r,i;--r>=0;)e.push(i[r])}function oi(n,t){for(var e=[n],r=[];null!=(n=e.pop());)if(r.push(n),(u=n.children)&&(i=u.length))for(var i,u,o=-1;++o<i;)e.push(u[o]);for(;null!=(n=r.pop());)t(n)}function ai(n){return n.children}function li(n){return n.value}function ci(n,t){return t.value-n.value}function fi(n){return ao.merge(n.map(function(n){return(n.children||[]).map(function(t){return{source:n,target:t}})}))}function si(n){return n.x}function hi(n){return n.y}function pi(n,t,e){n.y0=t,n.y=e}function gi(n){return ao.range(n.length)}function vi(n){for(var t=-1,e=n[0].length,r=[];++t<e;)r[t]=0;return r}function di(n){for(var t,e=1,r=0,i=n[0][1],u=n.length;u>e;++e)(t=n[e][1])>i&&(r=e,i=t);return r}function yi(n){return n.reduce(mi,0)}function mi(n,t){return n+t[1]}function Mi(n,t){return xi(n,Math.ceil(Math.log(t.length)/Math.LN2+1))}function xi(n,t){for(var e=-1,r=+n[0],i=(n[1]-r)/t,u=[];++e<=t;)u[e]=i*e+r;return u}function bi(n){return[ao.min(n),ao.max(n)]}function _i(n,t){return n.value-t.value}function wi(n,t){var e=n._pack_next;n._pack_next=t,t._pack_prev=n,t._pack_next=e,e._pack_prev=t}function Si(n,t){n._pack_next=t,t._pack_prev=n}function ki(n,t){var e=t.x-n.x,r=t.y-n.y,i=n.r+t.r;return.999*i*i>e*e+r*r}function Ni(n){function t(n){f=Math.min(n.x-n.r,f),s=Math.max(n.x+n.r,s),h=Math.min(n.y-n.r,h),p=Math.max(n.y+n.r,p)}if((e=n.children)&&(c=e.length)){var e,r,i,u,o,a,l,c,f=1/0,s=-(1/0),h=1/0,p=-(1/0);if(e.forEach(Ei),r=e[0],r.x=-r.r,r.y=0,t(r),c>1&&(i=e[1],i.x=i.r,i.y=0,t(i),c>2))for(u=e[2],zi(r,i,u),t(u),wi(r,u),r._pack_prev=u,wi(u,i),i=r._pack_next,o=3;c>o;o++){zi(r,i,u=e[o]);var g=0,v=1,d=1;for(a=i._pack_next;a!==i;a=a._pack_next,v++)if(ki(a,u)){g=1;break}if(1==g)for(l=r._pack_prev;l!==a._pack_prev&&!ki(l,u);l=l._pack_prev,d++);g?(d>v||v==d&&i.r<r.r?Si(r,i=a):Si(r=l,i),o--):(wi(r,u),i=u,t(u))}var y=(f+s)/2,m=(h+p)/2,M=0;for(o=0;c>o;o++)u=e[o],u.x-=y,u.y-=m,M=Math.max(M,u.r+Math.sqrt(u.x*u.x+u.y*u.y));n.r=M,e.forEach(Ai)}}function Ei(n){n._pack_next=n._pack_prev=n}function Ai(n){delete n._pack_next,delete n._pack_prev}function Ci(n,t,e,r){var i=n.children;if(n.x=t+=r*n.x,n.y=e+=r*n.y,n.r*=r,i)for(var u=-1,o=i.length;++u<o;)Ci(i[u],t,e,r)}function zi(n,t,e){var r=n.r+e.r,i=t.x-n.x,u=t.y-n.y;if(r&&(i||u)){var o=t.r+e.r,a=i*i+u*u;o*=o,r*=r;var l=.5+(r-o)/(2*a),c=Math.sqrt(Math.max(0,2*o*(r+a)-(r-=a)*r-o*o))/(2*a);e.x=n.x+l*i+c*u,e.y=n.y+l*u-c*i}else e.x=n.x+r,e.y=n.y}function Li(n,t){return n.parent==t.parent?1:2}function qi(n){var t=n.children;return t.length?t[0]:n.t}function Ti(n){var t,e=n.children;return(t=e.length)?e[t-1]:n.t}function Ri(n,t,e){var r=e/(t.i-n.i);t.c-=r,t.s+=e,n.c+=r,t.z+=e,t.m+=e}function Di(n){for(var t,e=0,r=0,i=n.children,u=i.length;--u>=0;)t=i[u],t.z+=e,t.m+=e,e+=t.s+(r+=t.c)}function Pi(n,t,e){return n.a.parent===t.parent?n.a:e}function Ui(n){return 1+ao.max(n,function(n){return n.y})}function ji(n){return n.reduce(function(n,t){return n+t.x},0)/n.length}function Fi(n){var t=n.children;return t&&t.length?Fi(t[0]):n}function Hi(n){var t,e=n.children;return e&&(t=e.length)?Hi(e[t-1]):n}function Oi(n){return{x:n.x,y:n.y,dx:n.dx,dy:n.dy}}function Ii(n,t){var e=n.x+t[3],r=n.y+t[0],i=n.dx-t[1]-t[3],u=n.dy-t[0]-t[2];return 0>i&&(e+=i/2,i=0),0>u&&(r+=u/2,u=0),{x:e,y:r,dx:i,dy:u}}function Yi(n){var t=n[0],e=n[n.length-1];return e>t?[t,e]:[e,t]}function Zi(n){return n.rangeExtent?n.rangeExtent():Yi(n.range())}function Vi(n,t,e,r){var i=e(n[0],n[1]),u=r(t[0],t[1]);return function(n){return u(i(n))}}function Xi(n,t){var e,r=0,i=n.length-1,u=n[r],o=n[i];return u>o&&(e=r,r=i,i=e,e=u,u=o,o=e),n[r]=t.floor(u),n[i]=t.ceil(o),n}function $i(n){return n?{floor:function(t){return Math.floor(t/n)*n},ceil:function(t){return Math.ceil(t/n)*n}}:Sl}function Bi(n,t,e,r){var i=[],u=[],o=0,a=Math.min(n.length,t.length)-1;for(n[a]<n[0]&&(n=n.slice().reverse(),t=t.slice().reverse());++o<=a;)i.push(e(n[o-1],n[o])),u.push(r(t[o-1],t[o]));return function(t){var e=ao.bisect(n,t,1,a)-1;return u[e](i[e](t))}}function Wi(n,t,e,r){function i(){var i=Math.min(n.length,t.length)>2?Bi:Vi,l=r?Wr:Br;return o=i(n,t,l,e),a=i(t,n,l,Mr),u}function u(n){return o(n)}var o,a;return u.invert=function(n){return a(n)},u.domain=function(t){return arguments.length?(n=t.map(Number),i()):n},u.range=function(n){return arguments.length?(t=n,i()):t},u.rangeRound=function(n){return u.range(n).interpolate(Ur)},u.clamp=function(n){return arguments.length?(r=n,i()):r},u.interpolate=function(n){return arguments.length?(e=n,i()):e},u.ticks=function(t){return Qi(n,t)},u.tickFormat=function(t,e){return nu(n,t,e)},u.nice=function(t){return Gi(n,t),i()},u.copy=function(){return Wi(n,t,e,r)},i()}function Ji(n,t){return ao.rebind(n,t,"range","rangeRound","interpolate","clamp")}function Gi(n,t){return Xi(n,$i(Ki(n,t)[2])),Xi(n,$i(Ki(n,t)[2])),n}function Ki(n,t){null==t&&(t=10);var e=Yi(n),r=e[1]-e[0],i=Math.pow(10,Math.floor(Math.log(r/t)/Math.LN10)),u=t/r*i;return.15>=u?i*=10:.35>=u?i*=5:.75>=u&&(i*=2),e[0]=Math.ceil(e[0]/i)*i,e[1]=Math.floor(e[1]/i)*i+.5*i,e[2]=i,e}function Qi(n,t){return ao.range.apply(ao,Ki(n,t))}function nu(n,t,e){var r=Ki(n,t);if(e){var i=ha.exec(e);if(i.shift(),"s"===i[8]){var u=ao.formatPrefix(Math.max(xo(r[0]),xo(r[1])));return i[7]||(i[7]="."+tu(u.scale(r[2]))),i[8]="f",e=ao.format(i.join("")),function(n){return e(u.scale(n))+u.symbol}}i[7]||(i[7]="."+eu(i[8],r)),e=i.join("")}else e=",."+tu(r[2])+"f";return ao.format(e)}function tu(n){return-Math.floor(Math.log(n)/Math.LN10+.01)}function eu(n,t){var e=tu(t[2]);return n in kl?Math.abs(e-tu(Math.max(xo(t[0]),xo(t[1]))))+ +("e"!==n):e-2*("%"===n)}function ru(n,t,e,r){function i(n){return(e?Math.log(0>n?0:n):-Math.log(n>0?0:-n))/Math.log(t)}function u(n){return e?Math.pow(t,n):-Math.pow(t,-n)}function o(t){return n(i(t))}return o.invert=function(t){return u(n.invert(t))},o.domain=function(t){return arguments.length?(e=t[0]>=0,n.domain((r=t.map(Number)).map(i)),o):r},o.base=function(e){return arguments.length?(t=+e,n.domain(r.map(i)),o):t},o.nice=function(){var t=Xi(r.map(i),e?Math:El);return n.domain(t),r=t.map(u),o},o.ticks=function(){var n=Yi(r),o=[],a=n[0],l=n[1],c=Math.floor(i(a)),f=Math.ceil(i(l)),s=t%1?2:t;if(isFinite(f-c)){if(e){for(;f>c;c++)for(var h=1;s>h;h++)o.push(u(c)*h);o.push(u(c))}else for(o.push(u(c));c++<f;)for(var h=s-1;h>0;h--)o.push(u(c)*h);for(c=0;o[c]<a;c++);for(f=o.length;o[f-1]>l;f--);o=o.slice(c,f)}return o},o.tickFormat=function(n,e){if(!arguments.length)return Nl;arguments.length<2?e=Nl:"function"!=typeof e&&(e=ao.format(e));var r=Math.max(1,t*n/o.ticks().length);return function(n){var o=n/u(Math.round(i(n)));return t-.5>o*t&&(o*=t),r>=o?e(n):""}},o.copy=function(){return ru(n.copy(),t,e,r)},Ji(o,n)}function iu(n,t,e){function r(t){return n(i(t))}var i=uu(t),u=uu(1/t);return r.invert=function(t){return u(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain((e=t.map(Number)).map(i)),r):e},r.ticks=function(n){return Qi(e,n)},r.tickFormat=function(n,t){return nu(e,n,t)},r.nice=function(n){return r.domain(Gi(e,n))},r.exponent=function(o){return arguments.length?(i=uu(t=o),u=uu(1/t),n.domain(e.map(i)),r):t},r.copy=function(){return iu(n.copy(),t,e)},Ji(r,n)}function uu(n){return function(t){return 0>t?-Math.pow(-t,n):Math.pow(t,n)}}function ou(n,t){function e(e){return u[((i.get(e)||("range"===t.t?i.set(e,n.push(e)):NaN))-1)%u.length]}function r(t,e){return ao.range(n.length).map(function(n){return t+e*n})}var i,u,o;return e.domain=function(r){if(!arguments.length)return n;n=[],i=new c;for(var u,o=-1,a=r.length;++o<a;)i.has(u=r[o])||i.set(u,n.push(u));return e[t.t].apply(e,t.a)},e.range=function(n){return arguments.length?(u=n,o=0,t={t:"range",a:arguments},e):u},e.rangePoints=function(i,a){arguments.length<2&&(a=0);var l=i[0],c=i[1],f=n.length<2?(l=(l+c)/2,0):(c-l)/(n.length-1+a);return u=r(l+f*a/2,f),o=0,t={t:"rangePoints",a:arguments},e},e.rangeRoundPoints=function(i,a){arguments.length<2&&(a=0);var l=i[0],c=i[1],f=n.length<2?(l=c=Math.round((l+c)/2),0):(c-l)/(n.length-1+a)|0;return u=r(l+Math.round(f*a/2+(c-l-(n.length-1+a)*f)/2),f),o=0,t={t:"rangeRoundPoints",a:arguments},e},e.rangeBands=function(i,a,l){arguments.length<2&&(a=0),arguments.length<3&&(l=a);var c=i[1]<i[0],f=i[c-0],s=i[1-c],h=(s-f)/(n.length-a+2*l);return u=r(f+h*l,h),c&&u.reverse(),o=h*(1-a),t={t:"rangeBands",a:arguments},e},e.rangeRoundBands=function(i,a,l){arguments.length<2&&(a=0),arguments.length<3&&(l=a);var c=i[1]<i[0],f=i[c-0],s=i[1-c],h=Math.floor((s-f)/(n.length-a+2*l));return u=r(f+Math.round((s-f-(n.length-a)*h)/2),h),c&&u.reverse(),o=Math.round(h*(1-a)),t={t:"rangeRoundBands",a:arguments},e},e.rangeBand=function(){return o},e.rangeExtent=function(){return Yi(t.a[0])},e.copy=function(){return ou(n,t)},e.domain(n)}function au(n,t){function u(){var e=0,r=t.length;for(a=[];++e<r;)a[e-1]=ao.quantile(n,e/r);return o}function o(n){return isNaN(n=+n)?void 0:t[ao.bisect(a,n)]}var a;return o.domain=function(t){return arguments.length?(n=t.map(r).filter(i).sort(e),u()):n},o.range=function(n){return arguments.length?(t=n,u()):t},o.quantiles=function(){return a},o.invertExtent=function(e){return e=t.indexOf(e),0>e?[NaN,NaN]:[e>0?a[e-1]:n[0],e<a.length?a[e]:n[n.length-1]]},o.copy=function(){return au(n,t)},u()}function lu(n,t,e){function r(t){return e[Math.max(0,Math.min(o,Math.floor(u*(t-n))))]}function i(){return u=e.length/(t-n),o=e.length-1,r}var u,o;return r.domain=function(e){return arguments.length?(n=+e[0],t=+e[e.length-1],i()):[n,t]},r.range=function(n){return arguments.length?(e=n,i()):e},r.invertExtent=function(t){return t=e.indexOf(t),t=0>t?NaN:t/u+n,[t,t+1/u]},r.copy=function(){return lu(n,t,e)},i()}function cu(n,t){function e(e){return e>=e?t[ao.bisect(n,e)]:void 0}return e.domain=function(t){return arguments.length?(n=t,e):n},e.range=function(n){return arguments.length?(t=n,e):t},e.invertExtent=function(e){return e=t.indexOf(e),[n[e-1],n[e]]},e.copy=function(){return cu(n,t)},e}function fu(n){function t(n){return+n}return t.invert=t,t.domain=t.range=function(e){return arguments.length?(n=e.map(t),t):n},t.ticks=function(t){return Qi(n,t)},t.tickFormat=function(t,e){return nu(n,t,e)},t.copy=function(){return fu(n)},t}function su(){return 0}function hu(n){return n.innerRadius}function pu(n){return n.outerRadius}function gu(n){return n.startAngle}function vu(n){return n.endAngle}function du(n){return n&&n.padAngle}function yu(n,t,e,r){return(n-e)*t-(t-r)*n>0?0:1}function mu(n,t,e,r,i){var u=n[0]-t[0],o=n[1]-t[1],a=(i?r:-r)/Math.sqrt(u*u+o*o),l=a*o,c=-a*u,f=n[0]+l,s=n[1]+c,h=t[0]+l,p=t[1]+c,g=(f+h)/2,v=(s+p)/2,d=h-f,y=p-s,m=d*d+y*y,M=e-r,x=f*p-h*s,b=(0>y?-1:1)*Math.sqrt(Math.max(0,M*M*m-x*x)),_=(x*y-d*b)/m,w=(-x*d-y*b)/m,S=(x*y+d*b)/m,k=(-x*d+y*b)/m,N=_-g,E=w-v,A=S-g,C=k-v;return N*N+E*E>A*A+C*C&&(_=S,w=k),[[_-l,w-c],[_*e/M,w*e/M]]}function Mu(n){function t(t){function o(){c.push("M",u(n(f),a))}for(var l,c=[],f=[],s=-1,h=t.length,p=En(e),g=En(r);++s<h;)i.call(this,l=t[s],s)?f.push([+p.call(this,l,s),+g.call(this,l,s)]):f.length&&(o(),f=[]);return f.length&&o(),c.length?c.join(""):null}var e=Ce,r=ze,i=zt,u=xu,o=u.key,a=.7;return t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t.defined=function(n){return arguments.length?(i=n,t):i},t.interpolate=function(n){return arguments.length?(o="function"==typeof n?u=n:(u=Tl.get(n)||xu).key,t):o},t.tension=function(n){return arguments.length?(a=n,t):a},t}function xu(n){return n.length>1?n.join("L"):n+"Z"}function bu(n){return n.join("L")+"Z"}function _u(n){for(var t=0,e=n.length,r=n[0],i=[r[0],",",r[1]];++t<e;)i.push("H",(r[0]+(r=n[t])[0])/2,"V",r[1]);return e>1&&i.push("H",r[0]),i.join("")}function wu(n){for(var t=0,e=n.length,r=n[0],i=[r[0],",",r[1]];++t<e;)i.push("V",(r=n[t])[1],"H",r[0]);return i.join("")}function Su(n){for(var t=0,e=n.length,r=n[0],i=[r[0],",",r[1]];++t<e;)i.push("H",(r=n[t])[0],"V",r[1]);return i.join("")}function ku(n,t){return n.length<4?xu(n):n[1]+Au(n.slice(1,-1),Cu(n,t))}function Nu(n,t){return n.length<3?bu(n):n[0]+Au((n.push(n[0]),n),Cu([n[n.length-2]].concat(n,[n[1]]),t))}function Eu(n,t){return n.length<3?xu(n):n[0]+Au(n,Cu(n,t))}function Au(n,t){if(t.length<1||n.length!=t.length&&n.length!=t.length+2)return xu(n);var e=n.length!=t.length,r="",i=n[0],u=n[1],o=t[0],a=o,l=1;if(e&&(r+="Q"+(u[0]-2*o[0]/3)+","+(u[1]-2*o[1]/3)+","+u[0]+","+u[1],i=n[1],l=2),t.length>1){a=t[1],u=n[l],l++,r+="C"+(i[0]+o[0])+","+(i[1]+o[1])+","+(u[0]-a[0])+","+(u[1]-a[1])+","+u[0]+","+u[1];for(var c=2;c<t.length;c++,l++)u=n[l],a=t[c],r+="S"+(u[0]-a[0])+","+(u[1]-a[1])+","+u[0]+","+u[1]}if(e){var f=n[l];r+="Q"+(u[0]+2*a[0]/3)+","+(u[1]+2*a[1]/3)+","+f[0]+","+f[1]}return r}function Cu(n,t){for(var e,r=[],i=(1-t)/2,u=n[0],o=n[1],a=1,l=n.length;++a<l;)e=u,u=o,o=n[a],r.push([i*(o[0]-e[0]),i*(o[1]-e[1])]);return r}function zu(n){if(n.length<3)return xu(n);var t=1,e=n.length,r=n[0],i=r[0],u=r[1],o=[i,i,i,(r=n[1])[0]],a=[u,u,u,r[1]],l=[i,",",u,"L",Ru(Pl,o),",",Ru(Pl,a)];for(n.push(n[e-1]);++t<=e;)r=n[t],o.shift(),o.push(r[0]),a.shift(),a.push(r[1]),Du(l,o,a);return n.pop(),l.push("L",r),l.join("")}function Lu(n){if(n.length<4)return xu(n);for(var t,e=[],r=-1,i=n.length,u=[0],o=[0];++r<3;)t=n[r],u.push(t[0]),o.push(t[1]);for(e.push(Ru(Pl,u)+","+Ru(Pl,o)),--r;++r<i;)t=n[r],u.shift(),u.push(t[0]),o.shift(),o.push(t[1]),Du(e,u,o);return e.join("")}function qu(n){for(var t,e,r=-1,i=n.length,u=i+4,o=[],a=[];++r<4;)e=n[r%i],o.push(e[0]),a.push(e[1]);for(t=[Ru(Pl,o),",",Ru(Pl,a)],--r;++r<u;)e=n[r%i],o.shift(),o.push(e[0]),a.shift(),a.push(e[1]),Du(t,o,a);return t.join("")}function Tu(n,t){var e=n.length-1;if(e)for(var r,i,u=n[0][0],o=n[0][1],a=n[e][0]-u,l=n[e][1]-o,c=-1;++c<=e;)r=n[c],i=c/e,r[0]=t*r[0]+(1-t)*(u+i*a),r[1]=t*r[1]+(1-t)*(o+i*l);return zu(n)}function Ru(n,t){return n[0]*t[0]+n[1]*t[1]+n[2]*t[2]+n[3]*t[3]}function Du(n,t,e){n.push("C",Ru(Rl,t),",",Ru(Rl,e),",",Ru(Dl,t),",",Ru(Dl,e),",",Ru(Pl,t),",",Ru(Pl,e))}function Pu(n,t){return(t[1]-n[1])/(t[0]-n[0])}function Uu(n){for(var t=0,e=n.length-1,r=[],i=n[0],u=n[1],o=r[0]=Pu(i,u);++t<e;)r[t]=(o+(o=Pu(i=u,u=n[t+1])))/2;return r[t]=o,r}function ju(n){for(var t,e,r,i,u=[],o=Uu(n),a=-1,l=n.length-1;++a<l;)t=Pu(n[a],n[a+1]),xo(t)<Uo?o[a]=o[a+1]=0:(e=o[a]/t,r=o[a+1]/t,i=e*e+r*r,i>9&&(i=3*t/Math.sqrt(i),o[a]=i*e,o[a+1]=i*r));for(a=-1;++a<=l;)i=(n[Math.min(l,a+1)][0]-n[Math.max(0,a-1)][0])/(6*(1+o[a]*o[a])),u.push([i||0,o[a]*i||0]);return u}function Fu(n){return n.length<3?xu(n):n[0]+Au(n,ju(n))}function Hu(n){for(var t,e,r,i=-1,u=n.length;++i<u;)t=n[i],e=t[0],r=t[1]-Io,t[0]=e*Math.cos(r),t[1]=e*Math.sin(r);return n}function Ou(n){function t(t){function l(){v.push("M",a(n(y),s),f,c(n(d.reverse()),s),"Z")}for(var h,p,g,v=[],d=[],y=[],m=-1,M=t.length,x=En(e),b=En(i),_=e===r?function(){ +return p}:En(r),w=i===u?function(){return g}:En(u);++m<M;)o.call(this,h=t[m],m)?(d.push([p=+x.call(this,h,m),g=+b.call(this,h,m)]),y.push([+_.call(this,h,m),+w.call(this,h,m)])):d.length&&(l(),d=[],y=[]);return d.length&&l(),v.length?v.join(""):null}var e=Ce,r=Ce,i=0,u=ze,o=zt,a=xu,l=a.key,c=a,f="L",s=.7;return t.x=function(n){return arguments.length?(e=r=n,t):r},t.x0=function(n){return arguments.length?(e=n,t):e},t.x1=function(n){return arguments.length?(r=n,t):r},t.y=function(n){return arguments.length?(i=u=n,t):u},t.y0=function(n){return arguments.length?(i=n,t):i},t.y1=function(n){return arguments.length?(u=n,t):u},t.defined=function(n){return arguments.length?(o=n,t):o},t.interpolate=function(n){return arguments.length?(l="function"==typeof n?a=n:(a=Tl.get(n)||xu).key,c=a.reverse||a,f=a.closed?"M":"L",t):l},t.tension=function(n){return arguments.length?(s=n,t):s},t}function Iu(n){return n.radius}function Yu(n){return[n.x,n.y]}function Zu(n){return function(){var t=n.apply(this,arguments),e=t[0],r=t[1]-Io;return[e*Math.cos(r),e*Math.sin(r)]}}function Vu(){return 64}function Xu(){return"circle"}function $u(n){var t=Math.sqrt(n/Fo);return"M0,"+t+"A"+t+","+t+" 0 1,1 0,"+-t+"A"+t+","+t+" 0 1,1 0,"+t+"Z"}function Bu(n){return function(){var t,e,r;(t=this[n])&&(r=t[e=t.active])&&(r.timer.c=null,r.timer.t=NaN,--t.count?delete t[e]:delete this[n],t.active+=.5,r.event&&r.event.interrupt.call(this,this.__data__,r.index))}}function Wu(n,t,e){return ko(n,Yl),n.namespace=t,n.id=e,n}function Ju(n,t,e,r){var i=n.id,u=n.namespace;return Y(n,"function"==typeof e?function(n,o,a){n[u][i].tween.set(t,r(e.call(n,n.__data__,o,a)))}:(e=r(e),function(n){n[u][i].tween.set(t,e)}))}function Gu(n){return null==n&&(n=""),function(){this.textContent=n}}function Ku(n){return null==n?"__transition__":"__transition_"+n+"__"}function Qu(n,t,e,r,i){function u(n){var t=v.delay;return f.t=t+l,n>=t?o(n-t):void(f.c=o)}function o(e){var i=g.active,u=g[i];u&&(u.timer.c=null,u.timer.t=NaN,--g.count,delete g[i],u.event&&u.event.interrupt.call(n,n.__data__,u.index));for(var o in g)if(r>+o){var c=g[o];c.timer.c=null,c.timer.t=NaN,--g.count,delete g[o]}f.c=a,qn(function(){return f.c&&a(e||1)&&(f.c=null,f.t=NaN),1},0,l),g.active=r,v.event&&v.event.start.call(n,n.__data__,t),p=[],v.tween.forEach(function(e,r){(r=r.call(n,n.__data__,t))&&p.push(r)}),h=v.ease,s=v.duration}function a(i){for(var u=i/s,o=h(u),a=p.length;a>0;)p[--a].call(n,o);return u>=1?(v.event&&v.event.end.call(n,n.__data__,t),--g.count?delete g[r]:delete n[e],1):void 0}var l,f,s,h,p,g=n[e]||(n[e]={active:0,count:0}),v=g[r];v||(l=i.time,f=qn(u,0,l),v=g[r]={tween:new c,time:l,timer:f,delay:i.delay,duration:i.duration,ease:i.ease,index:t},i=null,++g.count)}function no(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate("+(isFinite(r)?r:e(n))+",0)"})}function to(n,t,e){n.attr("transform",function(n){var r=t(n);return"translate(0,"+(isFinite(r)?r:e(n))+")"})}function eo(n){return n.toISOString()}function ro(n,t,e){function r(t){return n(t)}function i(n,e){var r=n[1]-n[0],i=r/e,u=ao.bisect(Kl,i);return u==Kl.length?[t.year,Ki(n.map(function(n){return n/31536e6}),e)[2]]:u?t[i/Kl[u-1]<Kl[u]/i?u-1:u]:[tc,Ki(n,e)[2]]}return r.invert=function(t){return io(n.invert(t))},r.domain=function(t){return arguments.length?(n.domain(t),r):n.domain().map(io)},r.nice=function(n,t){function e(e){return!isNaN(e)&&!n.range(e,io(+e+1),t).length}var u=r.domain(),o=Yi(u),a=null==n?i(o,10):"number"==typeof n&&i(o,n);return a&&(n=a[0],t=a[1]),r.domain(Xi(u,t>1?{floor:function(t){for(;e(t=n.floor(t));)t=io(t-1);return t},ceil:function(t){for(;e(t=n.ceil(t));)t=io(+t+1);return t}}:n))},r.ticks=function(n,t){var e=Yi(r.domain()),u=null==n?i(e,10):"number"==typeof n?i(e,n):!n.range&&[{range:n},t];return u&&(n=u[0],t=u[1]),n.range(e[0],io(+e[1]+1),1>t?1:t)},r.tickFormat=function(){return e},r.copy=function(){return ro(n.copy(),t,e)},Ji(r,n)}function io(n){return new Date(n)}function uo(n){return JSON.parse(n.responseText)}function oo(n){var t=fo.createRange();return t.selectNode(fo.body),t.createContextualFragment(n.responseText)}var ao={version:"3.5.17"},lo=[].slice,co=function(n){return lo.call(n)},fo=this.document;if(fo)try{co(fo.documentElement.childNodes)[0].nodeType}catch(so){co=function(n){for(var t=n.length,e=new Array(t);t--;)e[t]=n[t];return e}}if(Date.now||(Date.now=function(){return+new Date}),fo)try{fo.createElement("DIV").style.setProperty("opacity",0,"")}catch(ho){var po=this.Element.prototype,go=po.setAttribute,vo=po.setAttributeNS,yo=this.CSSStyleDeclaration.prototype,mo=yo.setProperty;po.setAttribute=function(n,t){go.call(this,n,t+"")},po.setAttributeNS=function(n,t,e){vo.call(this,n,t,e+"")},yo.setProperty=function(n,t,e){mo.call(this,n,t+"",e)}}ao.ascending=e,ao.descending=function(n,t){return n>t?-1:t>n?1:t>=n?0:NaN},ao.min=function(n,t){var e,r,i=-1,u=n.length;if(1===arguments.length){for(;++i<u;)if(null!=(r=n[i])&&r>=r){e=r;break}for(;++i<u;)null!=(r=n[i])&&e>r&&(e=r)}else{for(;++i<u;)if(null!=(r=t.call(n,n[i],i))&&r>=r){e=r;break}for(;++i<u;)null!=(r=t.call(n,n[i],i))&&e>r&&(e=r)}return e},ao.max=function(n,t){var e,r,i=-1,u=n.length;if(1===arguments.length){for(;++i<u;)if(null!=(r=n[i])&&r>=r){e=r;break}for(;++i<u;)null!=(r=n[i])&&r>e&&(e=r)}else{for(;++i<u;)if(null!=(r=t.call(n,n[i],i))&&r>=r){e=r;break}for(;++i<u;)null!=(r=t.call(n,n[i],i))&&r>e&&(e=r)}return e},ao.extent=function(n,t){var e,r,i,u=-1,o=n.length;if(1===arguments.length){for(;++u<o;)if(null!=(r=n[u])&&r>=r){e=i=r;break}for(;++u<o;)null!=(r=n[u])&&(e>r&&(e=r),r>i&&(i=r))}else{for(;++u<o;)if(null!=(r=t.call(n,n[u],u))&&r>=r){e=i=r;break}for(;++u<o;)null!=(r=t.call(n,n[u],u))&&(e>r&&(e=r),r>i&&(i=r))}return[e,i]},ao.sum=function(n,t){var e,r=0,u=n.length,o=-1;if(1===arguments.length)for(;++o<u;)i(e=+n[o])&&(r+=e);else for(;++o<u;)i(e=+t.call(n,n[o],o))&&(r+=e);return r},ao.mean=function(n,t){var e,u=0,o=n.length,a=-1,l=o;if(1===arguments.length)for(;++a<o;)i(e=r(n[a]))?u+=e:--l;else for(;++a<o;)i(e=r(t.call(n,n[a],a)))?u+=e:--l;return l?u/l:void 0},ao.quantile=function(n,t){var e=(n.length-1)*t+1,r=Math.floor(e),i=+n[r-1],u=e-r;return u?i+u*(n[r]-i):i},ao.median=function(n,t){var u,o=[],a=n.length,l=-1;if(1===arguments.length)for(;++l<a;)i(u=r(n[l]))&&o.push(u);else for(;++l<a;)i(u=r(t.call(n,n[l],l)))&&o.push(u);return o.length?ao.quantile(o.sort(e),.5):void 0},ao.variance=function(n,t){var e,u,o=n.length,a=0,l=0,c=-1,f=0;if(1===arguments.length)for(;++c<o;)i(e=r(n[c]))&&(u=e-a,a+=u/++f,l+=u*(e-a));else for(;++c<o;)i(e=r(t.call(n,n[c],c)))&&(u=e-a,a+=u/++f,l+=u*(e-a));return f>1?l/(f-1):void 0},ao.deviation=function(){var n=ao.variance.apply(this,arguments);return n?Math.sqrt(n):n};var Mo=u(e);ao.bisectLeft=Mo.left,ao.bisect=ao.bisectRight=Mo.right,ao.bisector=function(n){return u(1===n.length?function(t,r){return e(n(t),r)}:n)},ao.shuffle=function(n,t,e){(u=arguments.length)<3&&(e=n.length,2>u&&(t=0));for(var r,i,u=e-t;u;)i=Math.random()*u--|0,r=n[u+t],n[u+t]=n[i+t],n[i+t]=r;return n},ao.permute=function(n,t){for(var e=t.length,r=new Array(e);e--;)r[e]=n[t[e]];return r},ao.pairs=function(n){for(var t,e=0,r=n.length-1,i=n[0],u=new Array(0>r?0:r);r>e;)u[e]=[t=i,i=n[++e]];return u},ao.transpose=function(n){if(!(i=n.length))return[];for(var t=-1,e=ao.min(n,o),r=new Array(e);++t<e;)for(var i,u=-1,a=r[t]=new Array(i);++u<i;)a[u]=n[u][t];return r},ao.zip=function(){return ao.transpose(arguments)},ao.keys=function(n){var t=[];for(var e in n)t.push(e);return t},ao.values=function(n){var t=[];for(var e in n)t.push(n[e]);return t},ao.entries=function(n){var t=[];for(var e in n)t.push({key:e,value:n[e]});return t},ao.merge=function(n){for(var t,e,r,i=n.length,u=-1,o=0;++u<i;)o+=n[u].length;for(e=new Array(o);--i>=0;)for(r=n[i],t=r.length;--t>=0;)e[--o]=r[t];return e};var xo=Math.abs;ao.range=function(n,t,e){if(arguments.length<3&&(e=1,arguments.length<2&&(t=n,n=0)),(t-n)/e===1/0)throw new Error("infinite range");var r,i=[],u=a(xo(e)),o=-1;if(n*=u,t*=u,e*=u,0>e)for(;(r=n+e*++o)>t;)i.push(r/u);else for(;(r=n+e*++o)<t;)i.push(r/u);return i},ao.map=function(n,t){var e=new c;if(n instanceof c)n.forEach(function(n,t){e.set(n,t)});else if(Array.isArray(n)){var r,i=-1,u=n.length;if(1===arguments.length)for(;++i<u;)e.set(i,n[i]);else for(;++i<u;)e.set(t.call(n,r=n[i],i),r)}else for(var o in n)e.set(o,n[o]);return e};var bo="__proto__",_o="\x00";l(c,{has:h,get:function(n){return this._[f(n)]},set:function(n,t){return this._[f(n)]=t},remove:p,keys:g,values:function(){var n=[];for(var t in this._)n.push(this._[t]);return n},entries:function(){var n=[];for(var t in this._)n.push({key:s(t),value:this._[t]});return n},size:v,empty:d,forEach:function(n){for(var t in this._)n.call(this,s(t),this._[t])}}),ao.nest=function(){function n(t,o,a){if(a>=u.length)return r?r.call(i,o):e?o.sort(e):o;for(var l,f,s,h,p=-1,g=o.length,v=u[a++],d=new c;++p<g;)(h=d.get(l=v(f=o[p])))?h.push(f):d.set(l,[f]);return t?(f=t(),s=function(e,r){f.set(e,n(t,r,a))}):(f={},s=function(e,r){f[e]=n(t,r,a)}),d.forEach(s),f}function t(n,e){if(e>=u.length)return n;var r=[],i=o[e++];return n.forEach(function(n,i){r.push({key:n,values:t(i,e)})}),i?r.sort(function(n,t){return i(n.key,t.key)}):r}var e,r,i={},u=[],o=[];return i.map=function(t,e){return n(e,t,0)},i.entries=function(e){return t(n(ao.map,e,0),0)},i.key=function(n){return u.push(n),i},i.sortKeys=function(n){return o[u.length-1]=n,i},i.sortValues=function(n){return e=n,i},i.rollup=function(n){return r=n,i},i},ao.set=function(n){var t=new y;if(n)for(var e=0,r=n.length;r>e;++e)t.add(n[e]);return t},l(y,{has:h,add:function(n){return this._[f(n+="")]=!0,n},remove:p,values:g,size:v,empty:d,forEach:function(n){for(var t in this._)n.call(this,s(t))}}),ao.behavior={},ao.rebind=function(n,t){for(var e,r=1,i=arguments.length;++r<i;)n[e=arguments[r]]=M(n,t,t[e]);return n};var wo=["webkit","ms","moz","Moz","o","O"];ao.dispatch=function(){for(var n=new _,t=-1,e=arguments.length;++t<e;)n[arguments[t]]=w(n);return n},_.prototype.on=function(n,t){var e=n.indexOf("."),r="";if(e>=0&&(r=n.slice(e+1),n=n.slice(0,e)),n)return arguments.length<2?this[n].on(r):this[n].on(r,t);if(2===arguments.length){if(null==t)for(n in this)this.hasOwnProperty(n)&&this[n].on(r,null);return this}},ao.event=null,ao.requote=function(n){return n.replace(So,"\\$&")};var So=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g,ko={}.__proto__?function(n,t){n.__proto__=t}:function(n,t){for(var e in t)n[e]=t[e]},No=function(n,t){return t.querySelector(n)},Eo=function(n,t){return t.querySelectorAll(n)},Ao=function(n,t){var e=n.matches||n[x(n,"matchesSelector")];return(Ao=function(n,t){return e.call(n,t)})(n,t)};"function"==typeof Sizzle&&(No=function(n,t){return Sizzle(n,t)[0]||null},Eo=Sizzle,Ao=Sizzle.matchesSelector),ao.selection=function(){return ao.select(fo.documentElement)};var Co=ao.selection.prototype=[];Co.select=function(n){var t,e,r,i,u=[];n=A(n);for(var o=-1,a=this.length;++o<a;){u.push(t=[]),t.parentNode=(r=this[o]).parentNode;for(var l=-1,c=r.length;++l<c;)(i=r[l])?(t.push(e=n.call(i,i.__data__,l,o)),e&&"__data__"in i&&(e.__data__=i.__data__)):t.push(null)}return E(u)},Co.selectAll=function(n){var t,e,r=[];n=C(n);for(var i=-1,u=this.length;++i<u;)for(var o=this[i],a=-1,l=o.length;++a<l;)(e=o[a])&&(r.push(t=co(n.call(e,e.__data__,a,i))),t.parentNode=e);return E(r)};var zo="http://www.w3.org/1999/xhtml",Lo={svg:"http://www.w3.org/2000/svg",xhtml:zo,xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};ao.ns={prefix:Lo,qualify:function(n){var t=n.indexOf(":"),e=n;return t>=0&&"xmlns"!==(e=n.slice(0,t))&&(n=n.slice(t+1)),Lo.hasOwnProperty(e)?{space:Lo[e],local:n}:n}},Co.attr=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node();return n=ao.ns.qualify(n),n.local?e.getAttributeNS(n.space,n.local):e.getAttribute(n)}for(t in n)this.each(z(t,n[t]));return this}return this.each(z(n,t))},Co.classed=function(n,t){if(arguments.length<2){if("string"==typeof n){var e=this.node(),r=(n=T(n)).length,i=-1;if(t=e.classList){for(;++i<r;)if(!t.contains(n[i]))return!1}else for(t=e.getAttribute("class");++i<r;)if(!q(n[i]).test(t))return!1;return!0}for(t in n)this.each(R(t,n[t]));return this}return this.each(R(n,t))},Co.style=function(n,e,r){var i=arguments.length;if(3>i){if("string"!=typeof n){2>i&&(e="");for(r in n)this.each(P(r,n[r],e));return this}if(2>i){var u=this.node();return t(u).getComputedStyle(u,null).getPropertyValue(n)}r=""}return this.each(P(n,e,r))},Co.property=function(n,t){if(arguments.length<2){if("string"==typeof n)return this.node()[n];for(t in n)this.each(U(t,n[t]));return this}return this.each(U(n,t))},Co.text=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.textContent=null==t?"":t}:null==n?function(){this.textContent=""}:function(){this.textContent=n}):this.node().textContent},Co.html=function(n){return arguments.length?this.each("function"==typeof n?function(){var t=n.apply(this,arguments);this.innerHTML=null==t?"":t}:null==n?function(){this.innerHTML=""}:function(){this.innerHTML=n}):this.node().innerHTML},Co.append=function(n){return n=j(n),this.select(function(){return this.appendChild(n.apply(this,arguments))})},Co.insert=function(n,t){return n=j(n),t=A(t),this.select(function(){return this.insertBefore(n.apply(this,arguments),t.apply(this,arguments)||null)})},Co.remove=function(){return this.each(F)},Co.data=function(n,t){function e(n,e){var r,i,u,o=n.length,s=e.length,h=Math.min(o,s),p=new Array(s),g=new Array(s),v=new Array(o);if(t){var d,y=new c,m=new Array(o);for(r=-1;++r<o;)(i=n[r])&&(y.has(d=t.call(i,i.__data__,r))?v[r]=i:y.set(d,i),m[r]=d);for(r=-1;++r<s;)(i=y.get(d=t.call(e,u=e[r],r)))?i!==!0&&(p[r]=i,i.__data__=u):g[r]=H(u),y.set(d,!0);for(r=-1;++r<o;)r in m&&y.get(m[r])!==!0&&(v[r]=n[r])}else{for(r=-1;++r<h;)i=n[r],u=e[r],i?(i.__data__=u,p[r]=i):g[r]=H(u);for(;s>r;++r)g[r]=H(e[r]);for(;o>r;++r)v[r]=n[r]}g.update=p,g.parentNode=p.parentNode=v.parentNode=n.parentNode,a.push(g),l.push(p),f.push(v)}var r,i,u=-1,o=this.length;if(!arguments.length){for(n=new Array(o=(r=this[0]).length);++u<o;)(i=r[u])&&(n[u]=i.__data__);return n}var a=Z([]),l=E([]),f=E([]);if("function"==typeof n)for(;++u<o;)e(r=this[u],n.call(r,r.parentNode.__data__,u));else for(;++u<o;)e(r=this[u],n);return l.enter=function(){return a},l.exit=function(){return f},l},Co.datum=function(n){return arguments.length?this.property("__data__",n):this.property("__data__")},Co.filter=function(n){var t,e,r,i=[];"function"!=typeof n&&(n=O(n));for(var u=0,o=this.length;o>u;u++){i.push(t=[]),t.parentNode=(e=this[u]).parentNode;for(var a=0,l=e.length;l>a;a++)(r=e[a])&&n.call(r,r.__data__,a,u)&&t.push(r)}return E(i)},Co.order=function(){for(var n=-1,t=this.length;++n<t;)for(var e,r=this[n],i=r.length-1,u=r[i];--i>=0;)(e=r[i])&&(u&&u!==e.nextSibling&&u.parentNode.insertBefore(e,u),u=e);return this},Co.sort=function(n){n=I.apply(this,arguments);for(var t=-1,e=this.length;++t<e;)this[t].sort(n);return this.order()},Co.each=function(n){return Y(this,function(t,e,r){n.call(t,t.__data__,e,r)})},Co.call=function(n){var t=co(arguments);return n.apply(t[0]=this,t),this},Co.empty=function(){return!this.node()},Co.node=function(){for(var n=0,t=this.length;t>n;n++)for(var e=this[n],r=0,i=e.length;i>r;r++){var u=e[r];if(u)return u}return null},Co.size=function(){var n=0;return Y(this,function(){++n}),n};var qo=[];ao.selection.enter=Z,ao.selection.enter.prototype=qo,qo.append=Co.append,qo.empty=Co.empty,qo.node=Co.node,qo.call=Co.call,qo.size=Co.size,qo.select=function(n){for(var t,e,r,i,u,o=[],a=-1,l=this.length;++a<l;){r=(i=this[a]).update,o.push(t=[]),t.parentNode=i.parentNode;for(var c=-1,f=i.length;++c<f;)(u=i[c])?(t.push(r[c]=e=n.call(i.parentNode,u.__data__,c,a)),e.__data__=u.__data__):t.push(null)}return E(o)},qo.insert=function(n,t){return arguments.length<2&&(t=V(this)),Co.insert.call(this,n,t)},ao.select=function(t){var e;return"string"==typeof t?(e=[No(t,fo)],e.parentNode=fo.documentElement):(e=[t],e.parentNode=n(t)),E([e])},ao.selectAll=function(n){var t;return"string"==typeof n?(t=co(Eo(n,fo)),t.parentNode=fo.documentElement):(t=co(n),t.parentNode=null),E([t])},Co.on=function(n,t,e){var r=arguments.length;if(3>r){if("string"!=typeof n){2>r&&(t=!1);for(e in n)this.each(X(e,n[e],t));return this}if(2>r)return(r=this.node()["__on"+n])&&r._;e=!1}return this.each(X(n,t,e))};var To=ao.map({mouseenter:"mouseover",mouseleave:"mouseout"});fo&&To.forEach(function(n){"on"+n in fo&&To.remove(n)});var Ro,Do=0;ao.mouse=function(n){return J(n,k())};var Po=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;ao.touch=function(n,t,e){if(arguments.length<3&&(e=t,t=k().changedTouches),t)for(var r,i=0,u=t.length;u>i;++i)if((r=t[i]).identifier===e)return J(n,r)},ao.behavior.drag=function(){function n(){this.on("mousedown.drag",u).on("touchstart.drag",o)}function e(n,t,e,u,o){return function(){function a(){var n,e,r=t(h,v);r&&(n=r[0]-M[0],e=r[1]-M[1],g|=n|e,M=r,p({type:"drag",x:r[0]+c[0],y:r[1]+c[1],dx:n,dy:e}))}function l(){t(h,v)&&(y.on(u+d,null).on(o+d,null),m(g),p({type:"dragend"}))}var c,f=this,s=ao.event.target.correspondingElement||ao.event.target,h=f.parentNode,p=r.of(f,arguments),g=0,v=n(),d=".drag"+(null==v?"":"-"+v),y=ao.select(e(s)).on(u+d,a).on(o+d,l),m=W(s),M=t(h,v);i?(c=i.apply(f,arguments),c=[c.x-M[0],c.y-M[1]]):c=[0,0],p({type:"dragstart"})}}var r=N(n,"drag","dragstart","dragend"),i=null,u=e(b,ao.mouse,t,"mousemove","mouseup"),o=e(G,ao.touch,m,"touchmove","touchend");return n.origin=function(t){return arguments.length?(i=t,n):i},ao.rebind(n,r,"on")},ao.touches=function(n,t){return arguments.length<2&&(t=k().touches),t?co(t).map(function(t){var e=J(n,t);return e.identifier=t.identifier,e}):[]};var Uo=1e-6,jo=Uo*Uo,Fo=Math.PI,Ho=2*Fo,Oo=Ho-Uo,Io=Fo/2,Yo=Fo/180,Zo=180/Fo,Vo=Math.SQRT2,Xo=2,$o=4;ao.interpolateZoom=function(n,t){var e,r,i=n[0],u=n[1],o=n[2],a=t[0],l=t[1],c=t[2],f=a-i,s=l-u,h=f*f+s*s;if(jo>h)r=Math.log(c/o)/Vo,e=function(n){return[i+n*f,u+n*s,o*Math.exp(Vo*n*r)]};else{var p=Math.sqrt(h),g=(c*c-o*o+$o*h)/(2*o*Xo*p),v=(c*c-o*o-$o*h)/(2*c*Xo*p),d=Math.log(Math.sqrt(g*g+1)-g),y=Math.log(Math.sqrt(v*v+1)-v);r=(y-d)/Vo,e=function(n){var t=n*r,e=rn(d),a=o/(Xo*p)*(e*un(Vo*t+d)-en(d));return[i+a*f,u+a*s,o*e/rn(Vo*t+d)]}}return e.duration=1e3*r,e},ao.behavior.zoom=function(){function n(n){n.on(L,s).on(Wo+".zoom",p).on("dblclick.zoom",g).on(R,h)}function e(n){return[(n[0]-k.x)/k.k,(n[1]-k.y)/k.k]}function r(n){return[n[0]*k.k+k.x,n[1]*k.k+k.y]}function i(n){k.k=Math.max(A[0],Math.min(A[1],n))}function u(n,t){t=r(t),k.x+=n[0]-t[0],k.y+=n[1]-t[1]}function o(t,e,r,o){t.__chart__={x:k.x,y:k.y,k:k.k},i(Math.pow(2,o)),u(d=e,r),t=ao.select(t),C>0&&(t=t.transition().duration(C)),t.call(n.event)}function a(){b&&b.domain(x.range().map(function(n){return(n-k.x)/k.k}).map(x.invert)),w&&w.domain(_.range().map(function(n){return(n-k.y)/k.k}).map(_.invert))}function l(n){z++||n({type:"zoomstart"})}function c(n){a(),n({type:"zoom",scale:k.k,translate:[k.x,k.y]})}function f(n){--z||(n({type:"zoomend"}),d=null)}function s(){function n(){a=1,u(ao.mouse(i),h),c(o)}function r(){s.on(q,null).on(T,null),p(a),f(o)}var i=this,o=D.of(i,arguments),a=0,s=ao.select(t(i)).on(q,n).on(T,r),h=e(ao.mouse(i)),p=W(i);Il.call(i),l(o)}function h(){function n(){var n=ao.touches(g);return p=k.k,n.forEach(function(n){n.identifier in d&&(d[n.identifier]=e(n))}),n}function t(){var t=ao.event.target;ao.select(t).on(x,r).on(b,a),_.push(t);for(var e=ao.event.changedTouches,i=0,u=e.length;u>i;++i)d[e[i].identifier]=null;var l=n(),c=Date.now();if(1===l.length){if(500>c-M){var f=l[0];o(g,f,d[f.identifier],Math.floor(Math.log(k.k)/Math.LN2)+1),S()}M=c}else if(l.length>1){var f=l[0],s=l[1],h=f[0]-s[0],p=f[1]-s[1];y=h*h+p*p}}function r(){var n,t,e,r,o=ao.touches(g);Il.call(g);for(var a=0,l=o.length;l>a;++a,r=null)if(e=o[a],r=d[e.identifier]){if(t)break;n=e,t=r}if(r){var f=(f=e[0]-n[0])*f+(f=e[1]-n[1])*f,s=y&&Math.sqrt(f/y);n=[(n[0]+e[0])/2,(n[1]+e[1])/2],t=[(t[0]+r[0])/2,(t[1]+r[1])/2],i(s*p)}M=null,u(n,t),c(v)}function a(){if(ao.event.touches.length){for(var t=ao.event.changedTouches,e=0,r=t.length;r>e;++e)delete d[t[e].identifier];for(var i in d)return void n()}ao.selectAll(_).on(m,null),w.on(L,s).on(R,h),N(),f(v)}var p,g=this,v=D.of(g,arguments),d={},y=0,m=".zoom-"+ao.event.changedTouches[0].identifier,x="touchmove"+m,b="touchend"+m,_=[],w=ao.select(g),N=W(g);t(),l(v),w.on(L,null).on(R,t)}function p(){var n=D.of(this,arguments);m?clearTimeout(m):(Il.call(this),v=e(d=y||ao.mouse(this)),l(n)),m=setTimeout(function(){m=null,f(n)},50),S(),i(Math.pow(2,.002*Bo())*k.k),u(d,v),c(n)}function g(){var n=ao.mouse(this),t=Math.log(k.k)/Math.LN2;o(this,n,e(n),ao.event.shiftKey?Math.ceil(t)-1:Math.floor(t)+1)}var v,d,y,m,M,x,b,_,w,k={x:0,y:0,k:1},E=[960,500],A=Jo,C=250,z=0,L="mousedown.zoom",q="mousemove.zoom",T="mouseup.zoom",R="touchstart.zoom",D=N(n,"zoomstart","zoom","zoomend");return Wo||(Wo="onwheel"in fo?(Bo=function(){return-ao.event.deltaY*(ao.event.deltaMode?120:1)},"wheel"):"onmousewheel"in fo?(Bo=function(){return ao.event.wheelDelta},"mousewheel"):(Bo=function(){return-ao.event.detail},"MozMousePixelScroll")),n.event=function(n){n.each(function(){var n=D.of(this,arguments),t=k;Hl?ao.select(this).transition().each("start.zoom",function(){k=this.__chart__||{x:0,y:0,k:1},l(n)}).tween("zoom:zoom",function(){var e=E[0],r=E[1],i=d?d[0]:e/2,u=d?d[1]:r/2,o=ao.interpolateZoom([(i-k.x)/k.k,(u-k.y)/k.k,e/k.k],[(i-t.x)/t.k,(u-t.y)/t.k,e/t.k]);return function(t){var r=o(t),a=e/r[2];this.__chart__=k={x:i-r[0]*a,y:u-r[1]*a,k:a},c(n)}}).each("interrupt.zoom",function(){f(n)}).each("end.zoom",function(){f(n)}):(this.__chart__=k,l(n),c(n),f(n))})},n.translate=function(t){return arguments.length?(k={x:+t[0],y:+t[1],k:k.k},a(),n):[k.x,k.y]},n.scale=function(t){return arguments.length?(k={x:k.x,y:k.y,k:null},i(+t),a(),n):k.k},n.scaleExtent=function(t){return arguments.length?(A=null==t?Jo:[+t[0],+t[1]],n):A},n.center=function(t){return arguments.length?(y=t&&[+t[0],+t[1]],n):y},n.size=function(t){return arguments.length?(E=t&&[+t[0],+t[1]],n):E},n.duration=function(t){return arguments.length?(C=+t,n):C},n.x=function(t){return arguments.length?(b=t,x=t.copy(),k={x:0,y:0,k:1},n):b},n.y=function(t){return arguments.length?(w=t,_=t.copy(),k={x:0,y:0,k:1},n):w},ao.rebind(n,D,"on")};var Bo,Wo,Jo=[0,1/0];ao.color=an,an.prototype.toString=function(){return this.rgb()+""},ao.hsl=ln;var Go=ln.prototype=new an;Go.brighter=function(n){return n=Math.pow(.7,arguments.length?n:1),new ln(this.h,this.s,this.l/n)},Go.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new ln(this.h,this.s,n*this.l)},Go.rgb=function(){return cn(this.h,this.s,this.l)},ao.hcl=fn;var Ko=fn.prototype=new an;Ko.brighter=function(n){return new fn(this.h,this.c,Math.min(100,this.l+Qo*(arguments.length?n:1)))},Ko.darker=function(n){return new fn(this.h,this.c,Math.max(0,this.l-Qo*(arguments.length?n:1)))},Ko.rgb=function(){return sn(this.h,this.c,this.l).rgb()},ao.lab=hn;var Qo=18,na=.95047,ta=1,ea=1.08883,ra=hn.prototype=new an;ra.brighter=function(n){return new hn(Math.min(100,this.l+Qo*(arguments.length?n:1)),this.a,this.b)},ra.darker=function(n){return new hn(Math.max(0,this.l-Qo*(arguments.length?n:1)),this.a,this.b)},ra.rgb=function(){return pn(this.l,this.a,this.b)},ao.rgb=mn;var ia=mn.prototype=new an;ia.brighter=function(n){n=Math.pow(.7,arguments.length?n:1);var t=this.r,e=this.g,r=this.b,i=30;return t||e||r?(t&&i>t&&(t=i),e&&i>e&&(e=i),r&&i>r&&(r=i),new mn(Math.min(255,t/n),Math.min(255,e/n),Math.min(255,r/n))):new mn(i,i,i)},ia.darker=function(n){return n=Math.pow(.7,arguments.length?n:1),new mn(n*this.r,n*this.g,n*this.b)},ia.hsl=function(){return wn(this.r,this.g,this.b)},ia.toString=function(){return"#"+bn(this.r)+bn(this.g)+bn(this.b)};var ua=ao.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});ua.forEach(function(n,t){ua.set(n,Mn(t))}),ao.functor=En,ao.xhr=An(m),ao.dsv=function(n,t){function e(n,e,u){arguments.length<3&&(u=e,e=null);var o=Cn(n,t,null==e?r:i(e),u);return o.row=function(n){return arguments.length?o.response(null==(e=n)?r:i(n)):e},o}function r(n){return e.parse(n.responseText)}function i(n){return function(t){return e.parse(t.responseText,n)}}function u(t){return t.map(o).join(n)}function o(n){return a.test(n)?'"'+n.replace(/\"/g,'""')+'"':n}var a=new RegExp('["'+n+"\n]"),l=n.charCodeAt(0);return e.parse=function(n,t){var r;return e.parseRows(n,function(n,e){if(r)return r(n,e-1);var i=new Function("d","return {"+n.map(function(n,t){return JSON.stringify(n)+": d["+t+"]"}).join(",")+"}");r=t?function(n,e){return t(i(n),e)}:i})},e.parseRows=function(n,t){function e(){if(f>=c)return o;if(i)return i=!1,u;var t=f;if(34===n.charCodeAt(t)){for(var e=t;e++<c;)if(34===n.charCodeAt(e)){if(34!==n.charCodeAt(e+1))break;++e}f=e+2;var r=n.charCodeAt(e+1);return 13===r?(i=!0,10===n.charCodeAt(e+2)&&++f):10===r&&(i=!0),n.slice(t+1,e).replace(/""/g,'"')}for(;c>f;){var r=n.charCodeAt(f++),a=1;if(10===r)i=!0;else if(13===r)i=!0,10===n.charCodeAt(f)&&(++f,++a);else if(r!==l)continue;return n.slice(t,f-a)}return n.slice(t)}for(var r,i,u={},o={},a=[],c=n.length,f=0,s=0;(r=e())!==o;){for(var h=[];r!==u&&r!==o;)h.push(r),r=e();t&&null==(h=t(h,s++))||a.push(h)}return a},e.format=function(t){if(Array.isArray(t[0]))return e.formatRows(t);var r=new y,i=[];return t.forEach(function(n){for(var t in n)r.has(t)||i.push(r.add(t))}),[i.map(o).join(n)].concat(t.map(function(t){return i.map(function(n){return o(t[n])}).join(n)})).join("\n")},e.formatRows=function(n){return n.map(u).join("\n")},e},ao.csv=ao.dsv(",","text/csv"),ao.tsv=ao.dsv(" ","text/tab-separated-values");var oa,aa,la,ca,fa=this[x(this,"requestAnimationFrame")]||function(n){setTimeout(n,17)};ao.timer=function(){qn.apply(this,arguments)},ao.timer.flush=function(){Rn(),Dn()},ao.round=function(n,t){return t?Math.round(n*(t=Math.pow(10,t)))/t:Math.round(n)};var sa=["y","z","a","f","p","n","\xb5","m","","k","M","G","T","P","E","Z","Y"].map(Un);ao.formatPrefix=function(n,t){var e=0;return(n=+n)&&(0>n&&(n*=-1),t&&(n=ao.round(n,Pn(n,t))),e=1+Math.floor(1e-12+Math.log(n)/Math.LN10),e=Math.max(-24,Math.min(24,3*Math.floor((e-1)/3)))),sa[8+e/3]};var ha=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i,pa=ao.map({b:function(n){return n.toString(2)},c:function(n){return String.fromCharCode(n)},o:function(n){return n.toString(8)},x:function(n){return n.toString(16)},X:function(n){return n.toString(16).toUpperCase()},g:function(n,t){return n.toPrecision(t)},e:function(n,t){return n.toExponential(t)},f:function(n,t){return n.toFixed(t)},r:function(n,t){return(n=ao.round(n,Pn(n,t))).toFixed(Math.max(0,Math.min(20,Pn(n*(1+1e-15),t))))}}),ga=ao.time={},va=Date;Hn.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){da.setUTCDate.apply(this._,arguments)},setDay:function(){da.setUTCDay.apply(this._,arguments)},setFullYear:function(){da.setUTCFullYear.apply(this._,arguments)},setHours:function(){da.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){da.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){da.setUTCMinutes.apply(this._,arguments)},setMonth:function(){da.setUTCMonth.apply(this._,arguments)},setSeconds:function(){da.setUTCSeconds.apply(this._,arguments)},setTime:function(){da.setTime.apply(this._,arguments)}};var da=Date.prototype;ga.year=On(function(n){return n=ga.day(n),n.setMonth(0,1),n},function(n,t){n.setFullYear(n.getFullYear()+t)},function(n){return n.getFullYear()}),ga.years=ga.year.range,ga.years.utc=ga.year.utc.range,ga.day=On(function(n){var t=new va(2e3,0);return t.setFullYear(n.getFullYear(),n.getMonth(),n.getDate()),t},function(n,t){n.setDate(n.getDate()+t)},function(n){return n.getDate()-1}),ga.days=ga.day.range,ga.days.utc=ga.day.utc.range,ga.dayOfYear=function(n){var t=ga.year(n);return Math.floor((n-t-6e4*(n.getTimezoneOffset()-t.getTimezoneOffset()))/864e5)},["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(n,t){t=7-t;var e=ga[n]=On(function(n){return(n=ga.day(n)).setDate(n.getDate()-(n.getDay()+t)%7),n},function(n,t){n.setDate(n.getDate()+7*Math.floor(t))},function(n){var e=ga.year(n).getDay();return Math.floor((ga.dayOfYear(n)+(e+t)%7)/7)-(e!==t)});ga[n+"s"]=e.range,ga[n+"s"].utc=e.utc.range,ga[n+"OfYear"]=function(n){var e=ga.year(n).getDay();return Math.floor((ga.dayOfYear(n)+(e+t)%7)/7)}}),ga.week=ga.sunday,ga.weeks=ga.sunday.range,ga.weeks.utc=ga.sunday.utc.range,ga.weekOfYear=ga.sundayOfYear;var ya={"-":"",_:" ",0:"0"},ma=/^\s*\d+/,Ma=/^%/;ao.locale=function(n){return{numberFormat:jn(n),timeFormat:Yn(n)}};var xa=ao.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"], +shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});ao.format=xa.numberFormat,ao.geo={},ft.prototype={s:0,t:0,add:function(n){st(n,this.t,ba),st(ba.s,this.s,this),this.s?this.t+=ba.t:this.s=ba.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var ba=new ft;ao.geo.stream=function(n,t){n&&_a.hasOwnProperty(n.type)?_a[n.type](n,t):ht(n,t)};var _a={Feature:function(n,t){ht(n.geometry,t)},FeatureCollection:function(n,t){for(var e=n.features,r=-1,i=e.length;++r<i;)ht(e[r].geometry,t)}},wa={Sphere:function(n,t){t.sphere()},Point:function(n,t){n=n.coordinates,t.point(n[0],n[1],n[2])},MultiPoint:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)n=e[r],t.point(n[0],n[1],n[2])},LineString:function(n,t){pt(n.coordinates,t,0)},MultiLineString:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)pt(e[r],t,0)},Polygon:function(n,t){gt(n.coordinates,t)},MultiPolygon:function(n,t){for(var e=n.coordinates,r=-1,i=e.length;++r<i;)gt(e[r],t)},GeometryCollection:function(n,t){for(var e=n.geometries,r=-1,i=e.length;++r<i;)ht(e[r],t)}};ao.geo.area=function(n){return Sa=0,ao.geo.stream(n,Na),Sa};var Sa,ka=new ft,Na={sphere:function(){Sa+=4*Fo},point:b,lineStart:b,lineEnd:b,polygonStart:function(){ka.reset(),Na.lineStart=vt},polygonEnd:function(){var n=2*ka;Sa+=0>n?4*Fo+n:n,Na.lineStart=Na.lineEnd=Na.point=b}};ao.geo.bounds=function(){function n(n,t){M.push(x=[f=n,h=n]),s>t&&(s=t),t>p&&(p=t)}function t(t,e){var r=dt([t*Yo,e*Yo]);if(y){var i=mt(y,r),u=[i[1],-i[0],0],o=mt(u,i);bt(o),o=_t(o);var l=t-g,c=l>0?1:-1,v=o[0]*Zo*c,d=xo(l)>180;if(d^(v>c*g&&c*t>v)){var m=o[1]*Zo;m>p&&(p=m)}else if(v=(v+360)%360-180,d^(v>c*g&&c*t>v)){var m=-o[1]*Zo;s>m&&(s=m)}else s>e&&(s=e),e>p&&(p=e);d?g>t?a(f,t)>a(f,h)&&(h=t):a(t,h)>a(f,h)&&(f=t):h>=f?(f>t&&(f=t),t>h&&(h=t)):t>g?a(f,t)>a(f,h)&&(h=t):a(t,h)>a(f,h)&&(f=t)}else n(t,e);y=r,g=t}function e(){b.point=t}function r(){x[0]=f,x[1]=h,b.point=n,y=null}function i(n,e){if(y){var r=n-g;m+=xo(r)>180?r+(r>0?360:-360):r}else v=n,d=e;Na.point(n,e),t(n,e)}function u(){Na.lineStart()}function o(){i(v,d),Na.lineEnd(),xo(m)>Uo&&(f=-(h=180)),x[0]=f,x[1]=h,y=null}function a(n,t){return(t-=n)<0?t+360:t}function l(n,t){return n[0]-t[0]}function c(n,t){return t[0]<=t[1]?t[0]<=n&&n<=t[1]:n<t[0]||t[1]<n}var f,s,h,p,g,v,d,y,m,M,x,b={point:n,lineStart:e,lineEnd:r,polygonStart:function(){b.point=i,b.lineStart=u,b.lineEnd=o,m=0,Na.polygonStart()},polygonEnd:function(){Na.polygonEnd(),b.point=n,b.lineStart=e,b.lineEnd=r,0>ka?(f=-(h=180),s=-(p=90)):m>Uo?p=90:-Uo>m&&(s=-90),x[0]=f,x[1]=h}};return function(n){p=h=-(f=s=1/0),M=[],ao.geo.stream(n,b);var t=M.length;if(t){M.sort(l);for(var e,r=1,i=M[0],u=[i];t>r;++r)e=M[r],c(e[0],i)||c(e[1],i)?(a(i[0],e[1])>a(i[0],i[1])&&(i[1]=e[1]),a(e[0],i[1])>a(i[0],i[1])&&(i[0]=e[0])):u.push(i=e);for(var o,e,g=-(1/0),t=u.length-1,r=0,i=u[t];t>=r;i=e,++r)e=u[r],(o=a(i[1],e[0]))>g&&(g=o,f=e[0],h=i[1])}return M=x=null,f===1/0||s===1/0?[[NaN,NaN],[NaN,NaN]]:[[f,s],[h,p]]}}(),ao.geo.centroid=function(n){Ea=Aa=Ca=za=La=qa=Ta=Ra=Da=Pa=Ua=0,ao.geo.stream(n,ja);var t=Da,e=Pa,r=Ua,i=t*t+e*e+r*r;return jo>i&&(t=qa,e=Ta,r=Ra,Uo>Aa&&(t=Ca,e=za,r=La),i=t*t+e*e+r*r,jo>i)?[NaN,NaN]:[Math.atan2(e,t)*Zo,tn(r/Math.sqrt(i))*Zo]};var Ea,Aa,Ca,za,La,qa,Ta,Ra,Da,Pa,Ua,ja={sphere:b,point:St,lineStart:Nt,lineEnd:Et,polygonStart:function(){ja.lineStart=At},polygonEnd:function(){ja.lineStart=Nt}},Fa=Rt(zt,jt,Ht,[-Fo,-Fo/2]),Ha=1e9;ao.geo.clipExtent=function(){var n,t,e,r,i,u,o={stream:function(n){return i&&(i.valid=!1),i=u(n),i.valid=!0,i},extent:function(a){return arguments.length?(u=Zt(n=+a[0][0],t=+a[0][1],e=+a[1][0],r=+a[1][1]),i&&(i.valid=!1,i=null),o):[[n,t],[e,r]]}};return o.extent([[0,0],[960,500]])},(ao.geo.conicEqualArea=function(){return Vt(Xt)}).raw=Xt,ao.geo.albers=function(){return ao.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)},ao.geo.albersUsa=function(){function n(n){var u=n[0],o=n[1];return t=null,e(u,o),t||(r(u,o),t)||i(u,o),t}var t,e,r,i,u=ao.geo.albers(),o=ao.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]),a=ao.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]),l={point:function(n,e){t=[n,e]}};return n.invert=function(n){var t=u.scale(),e=u.translate(),r=(n[0]-e[0])/t,i=(n[1]-e[1])/t;return(i>=.12&&.234>i&&r>=-.425&&-.214>r?o:i>=.166&&.234>i&&r>=-.214&&-.115>r?a:u).invert(n)},n.stream=function(n){var t=u.stream(n),e=o.stream(n),r=a.stream(n);return{point:function(n,i){t.point(n,i),e.point(n,i),r.point(n,i)},sphere:function(){t.sphere(),e.sphere(),r.sphere()},lineStart:function(){t.lineStart(),e.lineStart(),r.lineStart()},lineEnd:function(){t.lineEnd(),e.lineEnd(),r.lineEnd()},polygonStart:function(){t.polygonStart(),e.polygonStart(),r.polygonStart()},polygonEnd:function(){t.polygonEnd(),e.polygonEnd(),r.polygonEnd()}}},n.precision=function(t){return arguments.length?(u.precision(t),o.precision(t),a.precision(t),n):u.precision()},n.scale=function(t){return arguments.length?(u.scale(t),o.scale(.35*t),a.scale(t),n.translate(u.translate())):u.scale()},n.translate=function(t){if(!arguments.length)return u.translate();var c=u.scale(),f=+t[0],s=+t[1];return e=u.translate(t).clipExtent([[f-.455*c,s-.238*c],[f+.455*c,s+.238*c]]).stream(l).point,r=o.translate([f-.307*c,s+.201*c]).clipExtent([[f-.425*c+Uo,s+.12*c+Uo],[f-.214*c-Uo,s+.234*c-Uo]]).stream(l).point,i=a.translate([f-.205*c,s+.212*c]).clipExtent([[f-.214*c+Uo,s+.166*c+Uo],[f-.115*c-Uo,s+.234*c-Uo]]).stream(l).point,n},n.scale(1070)};var Oa,Ia,Ya,Za,Va,Xa,$a={point:b,lineStart:b,lineEnd:b,polygonStart:function(){Ia=0,$a.lineStart=$t},polygonEnd:function(){$a.lineStart=$a.lineEnd=$a.point=b,Oa+=xo(Ia/2)}},Ba={point:Bt,lineStart:b,lineEnd:b,polygonStart:b,polygonEnd:b},Wa={point:Gt,lineStart:Kt,lineEnd:Qt,polygonStart:function(){Wa.lineStart=ne},polygonEnd:function(){Wa.point=Gt,Wa.lineStart=Kt,Wa.lineEnd=Qt}};ao.geo.path=function(){function n(n){return n&&("function"==typeof a&&u.pointRadius(+a.apply(this,arguments)),o&&o.valid||(o=i(u)),ao.geo.stream(n,o)),u.result()}function t(){return o=null,n}var e,r,i,u,o,a=4.5;return n.area=function(n){return Oa=0,ao.geo.stream(n,i($a)),Oa},n.centroid=function(n){return Ca=za=La=qa=Ta=Ra=Da=Pa=Ua=0,ao.geo.stream(n,i(Wa)),Ua?[Da/Ua,Pa/Ua]:Ra?[qa/Ra,Ta/Ra]:La?[Ca/La,za/La]:[NaN,NaN]},n.bounds=function(n){return Va=Xa=-(Ya=Za=1/0),ao.geo.stream(n,i(Ba)),[[Ya,Za],[Va,Xa]]},n.projection=function(n){return arguments.length?(i=(e=n)?n.stream||re(n):m,t()):e},n.context=function(n){return arguments.length?(u=null==(r=n)?new Wt:new te(n),"function"!=typeof a&&u.pointRadius(a),t()):r},n.pointRadius=function(t){return arguments.length?(a="function"==typeof t?t:(u.pointRadius(+t),+t),n):a},n.projection(ao.geo.albersUsa()).context(null)},ao.geo.transform=function(n){return{stream:function(t){var e=new ie(t);for(var r in n)e[r]=n[r];return e}}},ie.prototype={point:function(n,t){this.stream.point(n,t)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}},ao.geo.projection=oe,ao.geo.projectionMutator=ae,(ao.geo.equirectangular=function(){return oe(ce)}).raw=ce.invert=ce,ao.geo.rotation=function(n){function t(t){return t=n(t[0]*Yo,t[1]*Yo),t[0]*=Zo,t[1]*=Zo,t}return n=se(n[0]%360*Yo,n[1]*Yo,n.length>2?n[2]*Yo:0),t.invert=function(t){return t=n.invert(t[0]*Yo,t[1]*Yo),t[0]*=Zo,t[1]*=Zo,t},t},fe.invert=ce,ao.geo.circle=function(){function n(){var n="function"==typeof r?r.apply(this,arguments):r,t=se(-n[0]*Yo,-n[1]*Yo,0).invert,i=[];return e(null,null,1,{point:function(n,e){i.push(n=t(n,e)),n[0]*=Zo,n[1]*=Zo}}),{type:"Polygon",coordinates:[i]}}var t,e,r=[0,0],i=6;return n.origin=function(t){return arguments.length?(r=t,n):r},n.angle=function(r){return arguments.length?(e=ve((t=+r)*Yo,i*Yo),n):t},n.precision=function(r){return arguments.length?(e=ve(t*Yo,(i=+r)*Yo),n):i},n.angle(90)},ao.geo.distance=function(n,t){var e,r=(t[0]-n[0])*Yo,i=n[1]*Yo,u=t[1]*Yo,o=Math.sin(r),a=Math.cos(r),l=Math.sin(i),c=Math.cos(i),f=Math.sin(u),s=Math.cos(u);return Math.atan2(Math.sqrt((e=s*o)*e+(e=c*f-l*s*a)*e),l*f+c*s*a)},ao.geo.graticule=function(){function n(){return{type:"MultiLineString",coordinates:t()}}function t(){return ao.range(Math.ceil(u/d)*d,i,d).map(h).concat(ao.range(Math.ceil(c/y)*y,l,y).map(p)).concat(ao.range(Math.ceil(r/g)*g,e,g).filter(function(n){return xo(n%d)>Uo}).map(f)).concat(ao.range(Math.ceil(a/v)*v,o,v).filter(function(n){return xo(n%y)>Uo}).map(s))}var e,r,i,u,o,a,l,c,f,s,h,p,g=10,v=g,d=90,y=360,m=2.5;return n.lines=function(){return t().map(function(n){return{type:"LineString",coordinates:n}})},n.outline=function(){return{type:"Polygon",coordinates:[h(u).concat(p(l).slice(1),h(i).reverse().slice(1),p(c).reverse().slice(1))]}},n.extent=function(t){return arguments.length?n.majorExtent(t).minorExtent(t):n.minorExtent()},n.majorExtent=function(t){return arguments.length?(u=+t[0][0],i=+t[1][0],c=+t[0][1],l=+t[1][1],u>i&&(t=u,u=i,i=t),c>l&&(t=c,c=l,l=t),n.precision(m)):[[u,c],[i,l]]},n.minorExtent=function(t){return arguments.length?(r=+t[0][0],e=+t[1][0],a=+t[0][1],o=+t[1][1],r>e&&(t=r,r=e,e=t),a>o&&(t=a,a=o,o=t),n.precision(m)):[[r,a],[e,o]]},n.step=function(t){return arguments.length?n.majorStep(t).minorStep(t):n.minorStep()},n.majorStep=function(t){return arguments.length?(d=+t[0],y=+t[1],n):[d,y]},n.minorStep=function(t){return arguments.length?(g=+t[0],v=+t[1],n):[g,v]},n.precision=function(t){return arguments.length?(m=+t,f=ye(a,o,90),s=me(r,e,m),h=ye(c,l,90),p=me(u,i,m),n):m},n.majorExtent([[-180,-90+Uo],[180,90-Uo]]).minorExtent([[-180,-80-Uo],[180,80+Uo]])},ao.geo.greatArc=function(){function n(){return{type:"LineString",coordinates:[t||r.apply(this,arguments),e||i.apply(this,arguments)]}}var t,e,r=Me,i=xe;return n.distance=function(){return ao.geo.distance(t||r.apply(this,arguments),e||i.apply(this,arguments))},n.source=function(e){return arguments.length?(r=e,t="function"==typeof e?null:e,n):r},n.target=function(t){return arguments.length?(i=t,e="function"==typeof t?null:t,n):i},n.precision=function(){return arguments.length?n:0},n},ao.geo.interpolate=function(n,t){return be(n[0]*Yo,n[1]*Yo,t[0]*Yo,t[1]*Yo)},ao.geo.length=function(n){return Ja=0,ao.geo.stream(n,Ga),Ja};var Ja,Ga={sphere:b,point:b,lineStart:_e,lineEnd:b,polygonStart:b,polygonEnd:b},Ka=we(function(n){return Math.sqrt(2/(1+n))},function(n){return 2*Math.asin(n/2)});(ao.geo.azimuthalEqualArea=function(){return oe(Ka)}).raw=Ka;var Qa=we(function(n){var t=Math.acos(n);return t&&t/Math.sin(t)},m);(ao.geo.azimuthalEquidistant=function(){return oe(Qa)}).raw=Qa,(ao.geo.conicConformal=function(){return Vt(Se)}).raw=Se,(ao.geo.conicEquidistant=function(){return Vt(ke)}).raw=ke;var nl=we(function(n){return 1/n},Math.atan);(ao.geo.gnomonic=function(){return oe(nl)}).raw=nl,Ne.invert=function(n,t){return[n,2*Math.atan(Math.exp(t))-Io]},(ao.geo.mercator=function(){return Ee(Ne)}).raw=Ne;var tl=we(function(){return 1},Math.asin);(ao.geo.orthographic=function(){return oe(tl)}).raw=tl;var el=we(function(n){return 1/(1+n)},function(n){return 2*Math.atan(n)});(ao.geo.stereographic=function(){return oe(el)}).raw=el,Ae.invert=function(n,t){return[-t,2*Math.atan(Math.exp(n))-Io]},(ao.geo.transverseMercator=function(){var n=Ee(Ae),t=n.center,e=n.rotate;return n.center=function(n){return n?t([-n[1],n[0]]):(n=t(),[n[1],-n[0]])},n.rotate=function(n){return n?e([n[0],n[1],n.length>2?n[2]+90:90]):(n=e(),[n[0],n[1],n[2]-90])},e([0,0,90])}).raw=Ae,ao.geom={},ao.geom.hull=function(n){function t(n){if(n.length<3)return[];var t,i=En(e),u=En(r),o=n.length,a=[],l=[];for(t=0;o>t;t++)a.push([+i.call(this,n[t],t),+u.call(this,n[t],t),t]);for(a.sort(qe),t=0;o>t;t++)l.push([a[t][0],-a[t][1]]);var c=Le(a),f=Le(l),s=f[0]===c[0],h=f[f.length-1]===c[c.length-1],p=[];for(t=c.length-1;t>=0;--t)p.push(n[a[c[t]][2]]);for(t=+s;t<f.length-h;++t)p.push(n[a[f[t]][2]]);return p}var e=Ce,r=ze;return arguments.length?t(n):(t.x=function(n){return arguments.length?(e=n,t):e},t.y=function(n){return arguments.length?(r=n,t):r},t)},ao.geom.polygon=function(n){return ko(n,rl),n};var rl=ao.geom.polygon.prototype=[];rl.area=function(){for(var n,t=-1,e=this.length,r=this[e-1],i=0;++t<e;)n=r,r=this[t],i+=n[1]*r[0]-n[0]*r[1];return.5*i},rl.centroid=function(n){var t,e,r=-1,i=this.length,u=0,o=0,a=this[i-1];for(arguments.length||(n=-1/(6*this.area()));++r<i;)t=a,a=this[r],e=t[0]*a[1]-a[0]*t[1],u+=(t[0]+a[0])*e,o+=(t[1]+a[1])*e;return[u*n,o*n]},rl.clip=function(n){for(var t,e,r,i,u,o,a=De(n),l=-1,c=this.length-De(this),f=this[c-1];++l<c;){for(t=n.slice(),n.length=0,i=this[l],u=t[(r=t.length-a)-1],e=-1;++e<r;)o=t[e],Te(o,f,i)?(Te(u,f,i)||n.push(Re(u,o,f,i)),n.push(o)):Te(u,f,i)&&n.push(Re(u,o,f,i)),u=o;a&&n.push(n[0]),f=i}return n};var il,ul,ol,al,ll,cl=[],fl=[];Ye.prototype.prepare=function(){for(var n,t=this.edges,e=t.length;e--;)n=t[e].edge,n.b&&n.a||t.splice(e,1);return t.sort(Ve),t.length},tr.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}},er.prototype={insert:function(n,t){var e,r,i;if(n){if(t.P=n,t.N=n.N,n.N&&(n.N.P=t),n.N=t,n.R){for(n=n.R;n.L;)n=n.L;n.L=t}else n.R=t;e=n}else this._?(n=or(this._),t.P=null,t.N=n,n.P=n.L=t,e=n):(t.P=t.N=null,this._=t,e=null);for(t.L=t.R=null,t.U=e,t.C=!0,n=t;e&&e.C;)r=e.U,e===r.L?(i=r.R,i&&i.C?(e.C=i.C=!1,r.C=!0,n=r):(n===e.R&&(ir(this,e),n=e,e=n.U),e.C=!1,r.C=!0,ur(this,r))):(i=r.L,i&&i.C?(e.C=i.C=!1,r.C=!0,n=r):(n===e.L&&(ur(this,e),n=e,e=n.U),e.C=!1,r.C=!0,ir(this,r))),e=n.U;this._.C=!1},remove:function(n){n.N&&(n.N.P=n.P),n.P&&(n.P.N=n.N),n.N=n.P=null;var t,e,r,i=n.U,u=n.L,o=n.R;if(e=u?o?or(o):u:o,i?i.L===n?i.L=e:i.R=e:this._=e,u&&o?(r=e.C,e.C=n.C,e.L=u,u.U=e,e!==o?(i=e.U,e.U=n.U,n=e.R,i.L=n,e.R=o,o.U=e):(e.U=i,i=e,n=e.R)):(r=n.C,n=e),n&&(n.U=i),!r){if(n&&n.C)return void(n.C=!1);do{if(n===this._)break;if(n===i.L){if(t=i.R,t.C&&(t.C=!1,i.C=!0,ir(this,i),t=i.R),t.L&&t.L.C||t.R&&t.R.C){t.R&&t.R.C||(t.L.C=!1,t.C=!0,ur(this,t),t=i.R),t.C=i.C,i.C=t.R.C=!1,ir(this,i),n=this._;break}}else if(t=i.L,t.C&&(t.C=!1,i.C=!0,ur(this,i),t=i.L),t.L&&t.L.C||t.R&&t.R.C){t.L&&t.L.C||(t.R.C=!1,t.C=!0,ir(this,t),t=i.L),t.C=i.C,i.C=t.L.C=!1,ur(this,i),n=this._;break}t.C=!0,n=i,i=i.U}while(!n.C);n&&(n.C=!1)}}},ao.geom.voronoi=function(n){function t(n){var t=new Array(n.length),r=a[0][0],i=a[0][1],u=a[1][0],o=a[1][1];return ar(e(n),a).cells.forEach(function(e,a){var l=e.edges,c=e.site,f=t[a]=l.length?l.map(function(n){var t=n.start();return[t.x,t.y]}):c.x>=r&&c.x<=u&&c.y>=i&&c.y<=o?[[r,o],[u,o],[u,i],[r,i]]:[];f.point=n[a]}),t}function e(n){return n.map(function(n,t){return{x:Math.round(u(n,t)/Uo)*Uo,y:Math.round(o(n,t)/Uo)*Uo,i:t}})}var r=Ce,i=ze,u=r,o=i,a=sl;return n?t(n):(t.links=function(n){return ar(e(n)).edges.filter(function(n){return n.l&&n.r}).map(function(t){return{source:n[t.l.i],target:n[t.r.i]}})},t.triangles=function(n){var t=[];return ar(e(n)).cells.forEach(function(e,r){for(var i,u,o=e.site,a=e.edges.sort(Ve),l=-1,c=a.length,f=a[c-1].edge,s=f.l===o?f.r:f.l;++l<c;)i=f,u=s,f=a[l].edge,s=f.l===o?f.r:f.l,r<u.i&&r<s.i&&cr(o,u,s)<0&&t.push([n[r],n[u.i],n[s.i]])}),t},t.x=function(n){return arguments.length?(u=En(r=n),t):r},t.y=function(n){return arguments.length?(o=En(i=n),t):i},t.clipExtent=function(n){return arguments.length?(a=null==n?sl:n,t):a===sl?null:a},t.size=function(n){return arguments.length?t.clipExtent(n&&[[0,0],n]):a===sl?null:a&&a[1]},t)};var sl=[[-1e6,-1e6],[1e6,1e6]];ao.geom.delaunay=function(n){return ao.geom.voronoi().triangles(n)},ao.geom.quadtree=function(n,t,e,r,i){function u(n){function u(n,t,e,r,i,u,o,a){if(!isNaN(e)&&!isNaN(r))if(n.leaf){var l=n.x,f=n.y;if(null!=l)if(xo(l-e)+xo(f-r)<.01)c(n,t,e,r,i,u,o,a);else{var s=n.point;n.x=n.y=n.point=null,c(n,s,l,f,i,u,o,a),c(n,t,e,r,i,u,o,a)}else n.x=e,n.y=r,n.point=t}else c(n,t,e,r,i,u,o,a)}function c(n,t,e,r,i,o,a,l){var c=.5*(i+a),f=.5*(o+l),s=e>=c,h=r>=f,p=h<<1|s;n.leaf=!1,n=n.nodes[p]||(n.nodes[p]=hr()),s?i=c:a=c,h?o=f:l=f,u(n,t,e,r,i,o,a,l)}var f,s,h,p,g,v,d,y,m,M=En(a),x=En(l);if(null!=t)v=t,d=e,y=r,m=i;else if(y=m=-(v=d=1/0),s=[],h=[],g=n.length,o)for(p=0;g>p;++p)f=n[p],f.x<v&&(v=f.x),f.y<d&&(d=f.y),f.x>y&&(y=f.x),f.y>m&&(m=f.y),s.push(f.x),h.push(f.y);else for(p=0;g>p;++p){var b=+M(f=n[p],p),_=+x(f,p);v>b&&(v=b),d>_&&(d=_),b>y&&(y=b),_>m&&(m=_),s.push(b),h.push(_)}var w=y-v,S=m-d;w>S?m=d+w:y=v+S;var k=hr();if(k.add=function(n){u(k,n,+M(n,++p),+x(n,p),v,d,y,m)},k.visit=function(n){pr(n,k,v,d,y,m)},k.find=function(n){return gr(k,n[0],n[1],v,d,y,m)},p=-1,null==t){for(;++p<g;)u(k,n[p],s[p],h[p],v,d,y,m);--p}else n.forEach(k.add);return s=h=n=f=null,k}var o,a=Ce,l=ze;return(o=arguments.length)?(a=fr,l=sr,3===o&&(i=e,r=t,e=t=0),u(n)):(u.x=function(n){return arguments.length?(a=n,u):a},u.y=function(n){return arguments.length?(l=n,u):l},u.extent=function(n){return arguments.length?(null==n?t=e=r=i=null:(t=+n[0][0],e=+n[0][1],r=+n[1][0],i=+n[1][1]),u):null==t?null:[[t,e],[r,i]]},u.size=function(n){return arguments.length?(null==n?t=e=r=i=null:(t=e=0,r=+n[0],i=+n[1]),u):null==t?null:[r-t,i-e]},u)},ao.interpolateRgb=vr,ao.interpolateObject=dr,ao.interpolateNumber=yr,ao.interpolateString=mr;var hl=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,pl=new RegExp(hl.source,"g");ao.interpolate=Mr,ao.interpolators=[function(n,t){var e=typeof t;return("string"===e?ua.has(t.toLowerCase())||/^(#|rgb\(|hsl\()/i.test(t)?vr:mr:t instanceof an?vr:Array.isArray(t)?xr:"object"===e&&isNaN(t)?dr:yr)(n,t)}],ao.interpolateArray=xr;var gl=function(){return m},vl=ao.map({linear:gl,poly:Er,quad:function(){return Sr},cubic:function(){return kr},sin:function(){return Ar},exp:function(){return Cr},circle:function(){return zr},elastic:Lr,back:qr,bounce:function(){return Tr}}),dl=ao.map({"in":m,out:_r,"in-out":wr,"out-in":function(n){return wr(_r(n))}});ao.ease=function(n){var t=n.indexOf("-"),e=t>=0?n.slice(0,t):n,r=t>=0?n.slice(t+1):"in";return e=vl.get(e)||gl,r=dl.get(r)||m,br(r(e.apply(null,lo.call(arguments,1))))},ao.interpolateHcl=Rr,ao.interpolateHsl=Dr,ao.interpolateLab=Pr,ao.interpolateRound=Ur,ao.transform=function(n){var t=fo.createElementNS(ao.ns.prefix.svg,"g");return(ao.transform=function(n){if(null!=n){t.setAttribute("transform",n);var e=t.transform.baseVal.consolidate()}return new jr(e?e.matrix:yl)})(n)},jr.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};var yl={a:1,b:0,c:0,d:1,e:0,f:0};ao.interpolateTransform=$r,ao.layout={},ao.layout.bundle=function(){return function(n){for(var t=[],e=-1,r=n.length;++e<r;)t.push(Jr(n[e]));return t}},ao.layout.chord=function(){function n(){var n,c,s,h,p,g={},v=[],d=ao.range(u),y=[];for(e=[],r=[],n=0,h=-1;++h<u;){for(c=0,p=-1;++p<u;)c+=i[h][p];v.push(c),y.push(ao.range(u)),n+=c}for(o&&d.sort(function(n,t){return o(v[n],v[t])}),a&&y.forEach(function(n,t){n.sort(function(n,e){return a(i[t][n],i[t][e])})}),n=(Ho-f*u)/n,c=0,h=-1;++h<u;){for(s=c,p=-1;++p<u;){var m=d[h],M=y[m][p],x=i[m][M],b=c,_=c+=x*n;g[m+"-"+M]={index:m,subindex:M,startAngle:b,endAngle:_,value:x}}r[m]={index:m,startAngle:s,endAngle:c,value:v[m]},c+=f}for(h=-1;++h<u;)for(p=h-1;++p<u;){var w=g[h+"-"+p],S=g[p+"-"+h];(w.value||S.value)&&e.push(w.value<S.value?{source:S,target:w}:{source:w,target:S})}l&&t()}function t(){e.sort(function(n,t){return l((n.source.value+n.target.value)/2,(t.source.value+t.target.value)/2)})}var e,r,i,u,o,a,l,c={},f=0;return c.matrix=function(n){return arguments.length?(u=(i=n)&&i.length,e=r=null,c):i},c.padding=function(n){return arguments.length?(f=n,e=r=null,c):f},c.sortGroups=function(n){return arguments.length?(o=n,e=r=null,c):o},c.sortSubgroups=function(n){return arguments.length?(a=n,e=null,c):a},c.sortChords=function(n){return arguments.length?(l=n,e&&t(),c):l},c.chords=function(){return e||n(),e},c.groups=function(){return r||n(),r},c},ao.layout.force=function(){function n(n){return function(t,e,r,i){if(t.point!==n){var u=t.cx-n.x,o=t.cy-n.y,a=i-e,l=u*u+o*o;if(l>a*a/y){if(v>l){var c=t.charge/l;n.px-=u*c,n.py-=o*c}return!0}if(t.point&&l&&v>l){var c=t.pointCharge/l;n.px-=u*c,n.py-=o*c}}return!t.charge}}function t(n){n.px=ao.event.x,n.py=ao.event.y,l.resume()}var e,r,i,u,o,a,l={},c=ao.dispatch("start","tick","end"),f=[1,1],s=.9,h=ml,p=Ml,g=-30,v=xl,d=.1,y=.64,M=[],x=[];return l.tick=function(){if((i*=.99)<.005)return e=null,c.end({type:"end",alpha:i=0}),!0;var t,r,l,h,p,v,y,m,b,_=M.length,w=x.length;for(r=0;w>r;++r)l=x[r],h=l.source,p=l.target,m=p.x-h.x,b=p.y-h.y,(v=m*m+b*b)&&(v=i*o[r]*((v=Math.sqrt(v))-u[r])/v,m*=v,b*=v,p.x-=m*(y=h.weight+p.weight?h.weight/(h.weight+p.weight):.5),p.y-=b*y,h.x+=m*(y=1-y),h.y+=b*y);if((y=i*d)&&(m=f[0]/2,b=f[1]/2,r=-1,y))for(;++r<_;)l=M[r],l.x+=(m-l.x)*y,l.y+=(b-l.y)*y;if(g)for(ri(t=ao.geom.quadtree(M),i,a),r=-1;++r<_;)(l=M[r]).fixed||t.visit(n(l));for(r=-1;++r<_;)l=M[r],l.fixed?(l.x=l.px,l.y=l.py):(l.x-=(l.px-(l.px=l.x))*s,l.y-=(l.py-(l.py=l.y))*s);c.tick({type:"tick",alpha:i})},l.nodes=function(n){return arguments.length?(M=n,l):M},l.links=function(n){return arguments.length?(x=n,l):x},l.size=function(n){return arguments.length?(f=n,l):f},l.linkDistance=function(n){return arguments.length?(h="function"==typeof n?n:+n,l):h},l.distance=l.linkDistance,l.linkStrength=function(n){return arguments.length?(p="function"==typeof n?n:+n,l):p},l.friction=function(n){return arguments.length?(s=+n,l):s},l.charge=function(n){return arguments.length?(g="function"==typeof n?n:+n,l):g},l.chargeDistance=function(n){return arguments.length?(v=n*n,l):Math.sqrt(v)},l.gravity=function(n){return arguments.length?(d=+n,l):d},l.theta=function(n){return arguments.length?(y=n*n,l):Math.sqrt(y)},l.alpha=function(n){return arguments.length?(n=+n,i?n>0?i=n:(e.c=null,e.t=NaN,e=null,c.end({type:"end",alpha:i=0})):n>0&&(c.start({type:"start",alpha:i=n}),e=qn(l.tick)),l):i},l.start=function(){function n(n,r){if(!e){for(e=new Array(i),l=0;i>l;++l)e[l]=[];for(l=0;c>l;++l){var u=x[l];e[u.source.index].push(u.target),e[u.target.index].push(u.source)}}for(var o,a=e[t],l=-1,f=a.length;++l<f;)if(!isNaN(o=a[l][n]))return o;return Math.random()*r}var t,e,r,i=M.length,c=x.length,s=f[0],v=f[1];for(t=0;i>t;++t)(r=M[t]).index=t,r.weight=0;for(t=0;c>t;++t)r=x[t],"number"==typeof r.source&&(r.source=M[r.source]),"number"==typeof r.target&&(r.target=M[r.target]),++r.source.weight,++r.target.weight;for(t=0;i>t;++t)r=M[t],isNaN(r.x)&&(r.x=n("x",s)),isNaN(r.y)&&(r.y=n("y",v)),isNaN(r.px)&&(r.px=r.x),isNaN(r.py)&&(r.py=r.y);if(u=[],"function"==typeof h)for(t=0;c>t;++t)u[t]=+h.call(this,x[t],t);else for(t=0;c>t;++t)u[t]=h;if(o=[],"function"==typeof p)for(t=0;c>t;++t)o[t]=+p.call(this,x[t],t);else for(t=0;c>t;++t)o[t]=p;if(a=[],"function"==typeof g)for(t=0;i>t;++t)a[t]=+g.call(this,M[t],t);else for(t=0;i>t;++t)a[t]=g;return l.resume()},l.resume=function(){return l.alpha(.1)},l.stop=function(){return l.alpha(0)},l.drag=function(){return r||(r=ao.behavior.drag().origin(m).on("dragstart.force",Qr).on("drag.force",t).on("dragend.force",ni)),arguments.length?void this.on("mouseover.force",ti).on("mouseout.force",ei).call(r):r},ao.rebind(l,c,"on")};var ml=20,Ml=1,xl=1/0;ao.layout.hierarchy=function(){function n(i){var u,o=[i],a=[];for(i.depth=0;null!=(u=o.pop());)if(a.push(u),(c=e.call(n,u,u.depth))&&(l=c.length)){for(var l,c,f;--l>=0;)o.push(f=c[l]),f.parent=u,f.depth=u.depth+1;r&&(u.value=0),u.children=c}else r&&(u.value=+r.call(n,u,u.depth)||0),delete u.children;return oi(i,function(n){var e,i;t&&(e=n.children)&&e.sort(t),r&&(i=n.parent)&&(i.value+=n.value)}),a}var t=ci,e=ai,r=li;return n.sort=function(e){return arguments.length?(t=e,n):t},n.children=function(t){return arguments.length?(e=t,n):e},n.value=function(t){return arguments.length?(r=t,n):r},n.revalue=function(t){return r&&(ui(t,function(n){n.children&&(n.value=0)}),oi(t,function(t){var e;t.children||(t.value=+r.call(n,t,t.depth)||0),(e=t.parent)&&(e.value+=t.value)})),t},n},ao.layout.partition=function(){function n(t,e,r,i){var u=t.children;if(t.x=e,t.y=t.depth*i,t.dx=r,t.dy=i,u&&(o=u.length)){var o,a,l,c=-1;for(r=t.value?r/t.value:0;++c<o;)n(a=u[c],e,l=a.value*r,i),e+=l}}function t(n){var e=n.children,r=0;if(e&&(i=e.length))for(var i,u=-1;++u<i;)r=Math.max(r,t(e[u]));return 1+r}function e(e,u){var o=r.call(this,e,u);return n(o[0],0,i[0],i[1]/t(o[0])),o}var r=ao.layout.hierarchy(),i=[1,1];return e.size=function(n){return arguments.length?(i=n,e):i},ii(e,r)},ao.layout.pie=function(){function n(o){var a,l=o.length,c=o.map(function(e,r){return+t.call(n,e,r)}),f=+("function"==typeof r?r.apply(this,arguments):r),s=("function"==typeof i?i.apply(this,arguments):i)-f,h=Math.min(Math.abs(s)/l,+("function"==typeof u?u.apply(this,arguments):u)),p=h*(0>s?-1:1),g=ao.sum(c),v=g?(s-l*p)/g:0,d=ao.range(l),y=[];return null!=e&&d.sort(e===bl?function(n,t){return c[t]-c[n]}:function(n,t){return e(o[n],o[t])}),d.forEach(function(n){y[n]={data:o[n],value:a=c[n],startAngle:f,endAngle:f+=a*v+p,padAngle:h}}),y}var t=Number,e=bl,r=0,i=Ho,u=0;return n.value=function(e){return arguments.length?(t=e,n):t},n.sort=function(t){return arguments.length?(e=t,n):e},n.startAngle=function(t){return arguments.length?(r=t,n):r},n.endAngle=function(t){return arguments.length?(i=t,n):i},n.padAngle=function(t){return arguments.length?(u=t,n):u},n};var bl={};ao.layout.stack=function(){function n(a,l){if(!(h=a.length))return a;var c=a.map(function(e,r){return t.call(n,e,r)}),f=c.map(function(t){return t.map(function(t,e){return[u.call(n,t,e),o.call(n,t,e)]})}),s=e.call(n,f,l);c=ao.permute(c,s),f=ao.permute(f,s);var h,p,g,v,d=r.call(n,f,l),y=c[0].length;for(g=0;y>g;++g)for(i.call(n,c[0][g],v=d[g],f[0][g][1]),p=1;h>p;++p)i.call(n,c[p][g],v+=f[p-1][g][1],f[p][g][1]);return a}var t=m,e=gi,r=vi,i=pi,u=si,o=hi;return n.values=function(e){return arguments.length?(t=e,n):t},n.order=function(t){return arguments.length?(e="function"==typeof t?t:_l.get(t)||gi,n):e},n.offset=function(t){return arguments.length?(r="function"==typeof t?t:wl.get(t)||vi,n):r},n.x=function(t){return arguments.length?(u=t,n):u},n.y=function(t){return arguments.length?(o=t,n):o},n.out=function(t){return arguments.length?(i=t,n):i},n};var _l=ao.map({"inside-out":function(n){var t,e,r=n.length,i=n.map(di),u=n.map(yi),o=ao.range(r).sort(function(n,t){return i[n]-i[t]}),a=0,l=0,c=[],f=[];for(t=0;r>t;++t)e=o[t],l>a?(a+=u[e],c.push(e)):(l+=u[e],f.push(e));return f.reverse().concat(c)},reverse:function(n){return ao.range(n.length).reverse()},"default":gi}),wl=ao.map({silhouette:function(n){var t,e,r,i=n.length,u=n[0].length,o=[],a=0,l=[];for(e=0;u>e;++e){for(t=0,r=0;i>t;t++)r+=n[t][e][1];r>a&&(a=r),o.push(r)}for(e=0;u>e;++e)l[e]=(a-o[e])/2;return l},wiggle:function(n){var t,e,r,i,u,o,a,l,c,f=n.length,s=n[0],h=s.length,p=[];for(p[0]=l=c=0,e=1;h>e;++e){for(t=0,i=0;f>t;++t)i+=n[t][e][1];for(t=0,u=0,a=s[e][0]-s[e-1][0];f>t;++t){for(r=0,o=(n[t][e][1]-n[t][e-1][1])/(2*a);t>r;++r)o+=(n[r][e][1]-n[r][e-1][1])/a;u+=o*n[t][e][1]}p[e]=l-=i?u/i*a:0,c>l&&(c=l)}for(e=0;h>e;++e)p[e]-=c;return p},expand:function(n){var t,e,r,i=n.length,u=n[0].length,o=1/i,a=[];for(e=0;u>e;++e){for(t=0,r=0;i>t;t++)r+=n[t][e][1];if(r)for(t=0;i>t;t++)n[t][e][1]/=r;else for(t=0;i>t;t++)n[t][e][1]=o}for(e=0;u>e;++e)a[e]=0;return a},zero:vi});ao.layout.histogram=function(){function n(n,u){for(var o,a,l=[],c=n.map(e,this),f=r.call(this,c,u),s=i.call(this,f,c,u),u=-1,h=c.length,p=s.length-1,g=t?1:1/h;++u<p;)o=l[u]=[],o.dx=s[u+1]-(o.x=s[u]),o.y=0;if(p>0)for(u=-1;++u<h;)a=c[u],a>=f[0]&&a<=f[1]&&(o=l[ao.bisect(s,a,1,p)-1],o.y+=g,o.push(n[u]));return l}var t=!0,e=Number,r=bi,i=Mi;return n.value=function(t){return arguments.length?(e=t,n):e},n.range=function(t){return arguments.length?(r=En(t),n):r},n.bins=function(t){return arguments.length?(i="number"==typeof t?function(n){return xi(n,t)}:En(t),n):i},n.frequency=function(e){return arguments.length?(t=!!e,n):t},n},ao.layout.pack=function(){function n(n,u){var o=e.call(this,n,u),a=o[0],l=i[0],c=i[1],f=null==t?Math.sqrt:"function"==typeof t?t:function(){return t};if(a.x=a.y=0,oi(a,function(n){n.r=+f(n.value)}),oi(a,Ni),r){var s=r*(t?1:Math.max(2*a.r/l,2*a.r/c))/2;oi(a,function(n){n.r+=s}),oi(a,Ni),oi(a,function(n){n.r-=s})}return Ci(a,l/2,c/2,t?1:1/Math.max(2*a.r/l,2*a.r/c)),o}var t,e=ao.layout.hierarchy().sort(_i),r=0,i=[1,1];return n.size=function(t){return arguments.length?(i=t,n):i},n.radius=function(e){return arguments.length?(t=null==e||"function"==typeof e?e:+e,n):t},n.padding=function(t){return arguments.length?(r=+t,n):r},ii(n,e)},ao.layout.tree=function(){function n(n,i){var f=o.call(this,n,i),s=f[0],h=t(s);if(oi(h,e),h.parent.m=-h.z,ui(h,r),c)ui(s,u);else{var p=s,g=s,v=s;ui(s,function(n){n.x<p.x&&(p=n),n.x>g.x&&(g=n),n.depth>v.depth&&(v=n)});var d=a(p,g)/2-p.x,y=l[0]/(g.x+a(g,p)/2+d),m=l[1]/(v.depth||1);ui(s,function(n){n.x=(n.x+d)*y,n.y=n.depth*m})}return f}function t(n){for(var t,e={A:null,children:[n]},r=[e];null!=(t=r.pop());)for(var i,u=t.children,o=0,a=u.length;a>o;++o)r.push((u[o]=i={_:u[o],parent:t,children:(i=u[o].children)&&i.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:o}).a=i);return e.children[0]}function e(n){var t=n.children,e=n.parent.children,r=n.i?e[n.i-1]:null;if(t.length){Di(n);var u=(t[0].z+t[t.length-1].z)/2;r?(n.z=r.z+a(n._,r._),n.m=n.z-u):n.z=u}else r&&(n.z=r.z+a(n._,r._));n.parent.A=i(n,r,n.parent.A||e[0])}function r(n){n._.x=n.z+n.parent.m,n.m+=n.parent.m}function i(n,t,e){if(t){for(var r,i=n,u=n,o=t,l=i.parent.children[0],c=i.m,f=u.m,s=o.m,h=l.m;o=Ti(o),i=qi(i),o&&i;)l=qi(l),u=Ti(u),u.a=n,r=o.z+s-i.z-c+a(o._,i._),r>0&&(Ri(Pi(o,n,e),n,r),c+=r,f+=r),s+=o.m,c+=i.m,h+=l.m,f+=u.m;o&&!Ti(u)&&(u.t=o,u.m+=s-f),i&&!qi(l)&&(l.t=i,l.m+=c-h,e=n)}return e}function u(n){n.x*=l[0],n.y=n.depth*l[1]}var o=ao.layout.hierarchy().sort(null).value(null),a=Li,l=[1,1],c=null;return n.separation=function(t){return arguments.length?(a=t,n):a},n.size=function(t){return arguments.length?(c=null==(l=t)?u:null,n):c?null:l},n.nodeSize=function(t){return arguments.length?(c=null==(l=t)?null:u,n):c?l:null},ii(n,o)},ao.layout.cluster=function(){function n(n,u){var o,a=t.call(this,n,u),l=a[0],c=0;oi(l,function(n){var t=n.children;t&&t.length?(n.x=ji(t),n.y=Ui(t)):(n.x=o?c+=e(n,o):0,n.y=0,o=n)});var f=Fi(l),s=Hi(l),h=f.x-e(f,s)/2,p=s.x+e(s,f)/2;return oi(l,i?function(n){n.x=(n.x-l.x)*r[0],n.y=(l.y-n.y)*r[1]}:function(n){n.x=(n.x-h)/(p-h)*r[0],n.y=(1-(l.y?n.y/l.y:1))*r[1]}),a}var t=ao.layout.hierarchy().sort(null).value(null),e=Li,r=[1,1],i=!1;return n.separation=function(t){return arguments.length?(e=t,n):e},n.size=function(t){return arguments.length?(i=null==(r=t),n):i?null:r},n.nodeSize=function(t){return arguments.length?(i=null!=(r=t),n):i?r:null},ii(n,t)},ao.layout.treemap=function(){function n(n,t){for(var e,r,i=-1,u=n.length;++i<u;)r=(e=n[i]).value*(0>t?0:t),e.area=isNaN(r)||0>=r?0:r}function t(e){var u=e.children;if(u&&u.length){var o,a,l,c=s(e),f=[],h=u.slice(),g=1/0,v="slice"===p?c.dx:"dice"===p?c.dy:"slice-dice"===p?1&e.depth?c.dy:c.dx:Math.min(c.dx,c.dy);for(n(h,c.dx*c.dy/e.value),f.area=0;(l=h.length)>0;)f.push(o=h[l-1]),f.area+=o.area,"squarify"!==p||(a=r(f,v))<=g?(h.pop(),g=a):(f.area-=f.pop().area,i(f,v,c,!1),v=Math.min(c.dx,c.dy),f.length=f.area=0,g=1/0);f.length&&(i(f,v,c,!0),f.length=f.area=0),u.forEach(t)}}function e(t){var r=t.children;if(r&&r.length){var u,o=s(t),a=r.slice(),l=[];for(n(a,o.dx*o.dy/t.value),l.area=0;u=a.pop();)l.push(u),l.area+=u.area,null!=u.z&&(i(l,u.z?o.dx:o.dy,o,!a.length),l.length=l.area=0);r.forEach(e)}}function r(n,t){for(var e,r=n.area,i=0,u=1/0,o=-1,a=n.length;++o<a;)(e=n[o].area)&&(u>e&&(u=e),e>i&&(i=e));return r*=r,t*=t,r?Math.max(t*i*g/r,r/(t*u*g)):1/0}function i(n,t,e,r){var i,u=-1,o=n.length,a=e.x,c=e.y,f=t?l(n.area/t):0; +if(t==e.dx){for((r||f>e.dy)&&(f=e.dy);++u<o;)i=n[u],i.x=a,i.y=c,i.dy=f,a+=i.dx=Math.min(e.x+e.dx-a,f?l(i.area/f):0);i.z=!0,i.dx+=e.x+e.dx-a,e.y+=f,e.dy-=f}else{for((r||f>e.dx)&&(f=e.dx);++u<o;)i=n[u],i.x=a,i.y=c,i.dx=f,c+=i.dy=Math.min(e.y+e.dy-c,f?l(i.area/f):0);i.z=!1,i.dy+=e.y+e.dy-c,e.x+=f,e.dx-=f}}function u(r){var i=o||a(r),u=i[0];return u.x=u.y=0,u.value?(u.dx=c[0],u.dy=c[1]):u.dx=u.dy=0,o&&a.revalue(u),n([u],u.dx*u.dy/u.value),(o?e:t)(u),h&&(o=i),i}var o,a=ao.layout.hierarchy(),l=Math.round,c=[1,1],f=null,s=Oi,h=!1,p="squarify",g=.5*(1+Math.sqrt(5));return u.size=function(n){return arguments.length?(c=n,u):c},u.padding=function(n){function t(t){var e=n.call(u,t,t.depth);return null==e?Oi(t):Ii(t,"number"==typeof e?[e,e,e,e]:e)}function e(t){return Ii(t,n)}if(!arguments.length)return f;var r;return s=null==(f=n)?Oi:"function"==(r=typeof n)?t:"number"===r?(n=[n,n,n,n],e):e,u},u.round=function(n){return arguments.length?(l=n?Math.round:Number,u):l!=Number},u.sticky=function(n){return arguments.length?(h=n,o=null,u):h},u.ratio=function(n){return arguments.length?(g=n,u):g},u.mode=function(n){return arguments.length?(p=n+"",u):p},ii(u,a)},ao.random={normal:function(n,t){var e=arguments.length;return 2>e&&(t=1),1>e&&(n=0),function(){var e,r,i;do e=2*Math.random()-1,r=2*Math.random()-1,i=e*e+r*r;while(!i||i>1);return n+t*e*Math.sqrt(-2*Math.log(i)/i)}},logNormal:function(){var n=ao.random.normal.apply(ao,arguments);return function(){return Math.exp(n())}},bates:function(n){var t=ao.random.irwinHall(n);return function(){return t()/n}},irwinHall:function(n){return function(){for(var t=0,e=0;n>e;e++)t+=Math.random();return t}}},ao.scale={};var Sl={floor:m,ceil:m};ao.scale.linear=function(){return Wi([0,1],[0,1],Mr,!1)};var kl={s:1,g:1,p:1,r:1,e:1};ao.scale.log=function(){return ru(ao.scale.linear().domain([0,1]),10,!0,[1,10])};var Nl=ao.format(".0e"),El={floor:function(n){return-Math.ceil(-n)},ceil:function(n){return-Math.floor(-n)}};ao.scale.pow=function(){return iu(ao.scale.linear(),1,[0,1])},ao.scale.sqrt=function(){return ao.scale.pow().exponent(.5)},ao.scale.ordinal=function(){return ou([],{t:"range",a:[[]]})},ao.scale.category10=function(){return ao.scale.ordinal().range(Al)},ao.scale.category20=function(){return ao.scale.ordinal().range(Cl)},ao.scale.category20b=function(){return ao.scale.ordinal().range(zl)},ao.scale.category20c=function(){return ao.scale.ordinal().range(Ll)};var Al=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(xn),Cl=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(xn),zl=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(xn),Ll=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(xn);ao.scale.quantile=function(){return au([],[])},ao.scale.quantize=function(){return lu(0,1,[0,1])},ao.scale.threshold=function(){return cu([.5],[0,1])},ao.scale.identity=function(){return fu([0,1])},ao.svg={},ao.svg.arc=function(){function n(){var n=Math.max(0,+e.apply(this,arguments)),c=Math.max(0,+r.apply(this,arguments)),f=o.apply(this,arguments)-Io,s=a.apply(this,arguments)-Io,h=Math.abs(s-f),p=f>s?0:1;if(n>c&&(g=c,c=n,n=g),h>=Oo)return t(c,p)+(n?t(n,1-p):"")+"Z";var g,v,d,y,m,M,x,b,_,w,S,k,N=0,E=0,A=[];if((y=(+l.apply(this,arguments)||0)/2)&&(d=u===ql?Math.sqrt(n*n+c*c):+u.apply(this,arguments),p||(E*=-1),c&&(E=tn(d/c*Math.sin(y))),n&&(N=tn(d/n*Math.sin(y)))),c){m=c*Math.cos(f+E),M=c*Math.sin(f+E),x=c*Math.cos(s-E),b=c*Math.sin(s-E);var C=Math.abs(s-f-2*E)<=Fo?0:1;if(E&&yu(m,M,x,b)===p^C){var z=(f+s)/2;m=c*Math.cos(z),M=c*Math.sin(z),x=b=null}}else m=M=0;if(n){_=n*Math.cos(s-N),w=n*Math.sin(s-N),S=n*Math.cos(f+N),k=n*Math.sin(f+N);var L=Math.abs(f-s+2*N)<=Fo?0:1;if(N&&yu(_,w,S,k)===1-p^L){var q=(f+s)/2;_=n*Math.cos(q),w=n*Math.sin(q),S=k=null}}else _=w=0;if(h>Uo&&(g=Math.min(Math.abs(c-n)/2,+i.apply(this,arguments)))>.001){v=c>n^p?0:1;var T=g,R=g;if(Fo>h){var D=null==S?[_,w]:null==x?[m,M]:Re([m,M],[S,k],[x,b],[_,w]),P=m-D[0],U=M-D[1],j=x-D[0],F=b-D[1],H=1/Math.sin(Math.acos((P*j+U*F)/(Math.sqrt(P*P+U*U)*Math.sqrt(j*j+F*F)))/2),O=Math.sqrt(D[0]*D[0]+D[1]*D[1]);R=Math.min(g,(n-O)/(H-1)),T=Math.min(g,(c-O)/(H+1))}if(null!=x){var I=mu(null==S?[_,w]:[S,k],[m,M],c,T,p),Y=mu([x,b],[_,w],c,T,p);g===T?A.push("M",I[0],"A",T,",",T," 0 0,",v," ",I[1],"A",c,",",c," 0 ",1-p^yu(I[1][0],I[1][1],Y[1][0],Y[1][1]),",",p," ",Y[1],"A",T,",",T," 0 0,",v," ",Y[0]):A.push("M",I[0],"A",T,",",T," 0 1,",v," ",Y[0])}else A.push("M",m,",",M);if(null!=S){var Z=mu([m,M],[S,k],n,-R,p),V=mu([_,w],null==x?[m,M]:[x,b],n,-R,p);g===R?A.push("L",V[0],"A",R,",",R," 0 0,",v," ",V[1],"A",n,",",n," 0 ",p^yu(V[1][0],V[1][1],Z[1][0],Z[1][1]),",",1-p," ",Z[1],"A",R,",",R," 0 0,",v," ",Z[0]):A.push("L",V[0],"A",R,",",R," 0 0,",v," ",Z[0])}else A.push("L",_,",",w)}else A.push("M",m,",",M),null!=x&&A.push("A",c,",",c," 0 ",C,",",p," ",x,",",b),A.push("L",_,",",w),null!=S&&A.push("A",n,",",n," 0 ",L,",",1-p," ",S,",",k);return A.push("Z"),A.join("")}function t(n,t){return"M0,"+n+"A"+n+","+n+" 0 1,"+t+" 0,"+-n+"A"+n+","+n+" 0 1,"+t+" 0,"+n}var e=hu,r=pu,i=su,u=ql,o=gu,a=vu,l=du;return n.innerRadius=function(t){return arguments.length?(e=En(t),n):e},n.outerRadius=function(t){return arguments.length?(r=En(t),n):r},n.cornerRadius=function(t){return arguments.length?(i=En(t),n):i},n.padRadius=function(t){return arguments.length?(u=t==ql?ql:En(t),n):u},n.startAngle=function(t){return arguments.length?(o=En(t),n):o},n.endAngle=function(t){return arguments.length?(a=En(t),n):a},n.padAngle=function(t){return arguments.length?(l=En(t),n):l},n.centroid=function(){var n=(+e.apply(this,arguments)+ +r.apply(this,arguments))/2,t=(+o.apply(this,arguments)+ +a.apply(this,arguments))/2-Io;return[Math.cos(t)*n,Math.sin(t)*n]},n};var ql="auto";ao.svg.line=function(){return Mu(m)};var Tl=ao.map({linear:xu,"linear-closed":bu,step:_u,"step-before":wu,"step-after":Su,basis:zu,"basis-open":Lu,"basis-closed":qu,bundle:Tu,cardinal:Eu,"cardinal-open":ku,"cardinal-closed":Nu,monotone:Fu});Tl.forEach(function(n,t){t.key=n,t.closed=/-closed$/.test(n)});var Rl=[0,2/3,1/3,0],Dl=[0,1/3,2/3,0],Pl=[0,1/6,2/3,1/6];ao.svg.line.radial=function(){var n=Mu(Hu);return n.radius=n.x,delete n.x,n.angle=n.y,delete n.y,n},wu.reverse=Su,Su.reverse=wu,ao.svg.area=function(){return Ou(m)},ao.svg.area.radial=function(){var n=Ou(Hu);return n.radius=n.x,delete n.x,n.innerRadius=n.x0,delete n.x0,n.outerRadius=n.x1,delete n.x1,n.angle=n.y,delete n.y,n.startAngle=n.y0,delete n.y0,n.endAngle=n.y1,delete n.y1,n},ao.svg.chord=function(){function n(n,a){var l=t(this,u,n,a),c=t(this,o,n,a);return"M"+l.p0+r(l.r,l.p1,l.a1-l.a0)+(e(l,c)?i(l.r,l.p1,l.r,l.p0):i(l.r,l.p1,c.r,c.p0)+r(c.r,c.p1,c.a1-c.a0)+i(c.r,c.p1,l.r,l.p0))+"Z"}function t(n,t,e,r){var i=t.call(n,e,r),u=a.call(n,i,r),o=l.call(n,i,r)-Io,f=c.call(n,i,r)-Io;return{r:u,a0:o,a1:f,p0:[u*Math.cos(o),u*Math.sin(o)],p1:[u*Math.cos(f),u*Math.sin(f)]}}function e(n,t){return n.a0==t.a0&&n.a1==t.a1}function r(n,t,e){return"A"+n+","+n+" 0 "+ +(e>Fo)+",1 "+t}function i(n,t,e,r){return"Q 0,0 "+r}var u=Me,o=xe,a=Iu,l=gu,c=vu;return n.radius=function(t){return arguments.length?(a=En(t),n):a},n.source=function(t){return arguments.length?(u=En(t),n):u},n.target=function(t){return arguments.length?(o=En(t),n):o},n.startAngle=function(t){return arguments.length?(l=En(t),n):l},n.endAngle=function(t){return arguments.length?(c=En(t),n):c},n},ao.svg.diagonal=function(){function n(n,i){var u=t.call(this,n,i),o=e.call(this,n,i),a=(u.y+o.y)/2,l=[u,{x:u.x,y:a},{x:o.x,y:a},o];return l=l.map(r),"M"+l[0]+"C"+l[1]+" "+l[2]+" "+l[3]}var t=Me,e=xe,r=Yu;return n.source=function(e){return arguments.length?(t=En(e),n):t},n.target=function(t){return arguments.length?(e=En(t),n):e},n.projection=function(t){return arguments.length?(r=t,n):r},n},ao.svg.diagonal.radial=function(){var n=ao.svg.diagonal(),t=Yu,e=n.projection;return n.projection=function(n){return arguments.length?e(Zu(t=n)):t},n},ao.svg.symbol=function(){function n(n,r){return(Ul.get(t.call(this,n,r))||$u)(e.call(this,n,r))}var t=Xu,e=Vu;return n.type=function(e){return arguments.length?(t=En(e),n):t},n.size=function(t){return arguments.length?(e=En(t),n):e},n};var Ul=ao.map({circle:$u,cross:function(n){var t=Math.sqrt(n/5)/2;return"M"+-3*t+","+-t+"H"+-t+"V"+-3*t+"H"+t+"V"+-t+"H"+3*t+"V"+t+"H"+t+"V"+3*t+"H"+-t+"V"+t+"H"+-3*t+"Z"},diamond:function(n){var t=Math.sqrt(n/(2*Fl)),e=t*Fl;return"M0,"+-t+"L"+e+",0 0,"+t+" "+-e+",0Z"},square:function(n){var t=Math.sqrt(n)/2;return"M"+-t+","+-t+"L"+t+","+-t+" "+t+","+t+" "+-t+","+t+"Z"},"triangle-down":function(n){var t=Math.sqrt(n/jl),e=t*jl/2;return"M0,"+e+"L"+t+","+-e+" "+-t+","+-e+"Z"},"triangle-up":function(n){var t=Math.sqrt(n/jl),e=t*jl/2;return"M0,"+-e+"L"+t+","+e+" "+-t+","+e+"Z"}});ao.svg.symbolTypes=Ul.keys();var jl=Math.sqrt(3),Fl=Math.tan(30*Yo);Co.transition=function(n){for(var t,e,r=Hl||++Zl,i=Ku(n),u=[],o=Ol||{time:Date.now(),ease:Nr,delay:0,duration:250},a=-1,l=this.length;++a<l;){u.push(t=[]);for(var c=this[a],f=-1,s=c.length;++f<s;)(e=c[f])&&Qu(e,f,i,r,o),t.push(e)}return Wu(u,i,r)},Co.interrupt=function(n){return this.each(null==n?Il:Bu(Ku(n)))};var Hl,Ol,Il=Bu(Ku()),Yl=[],Zl=0;Yl.call=Co.call,Yl.empty=Co.empty,Yl.node=Co.node,Yl.size=Co.size,ao.transition=function(n,t){return n&&n.transition?Hl?n.transition(t):n:ao.selection().transition(n)},ao.transition.prototype=Yl,Yl.select=function(n){var t,e,r,i=this.id,u=this.namespace,o=[];n=A(n);for(var a=-1,l=this.length;++a<l;){o.push(t=[]);for(var c=this[a],f=-1,s=c.length;++f<s;)(r=c[f])&&(e=n.call(r,r.__data__,f,a))?("__data__"in r&&(e.__data__=r.__data__),Qu(e,f,u,i,r[u][i]),t.push(e)):t.push(null)}return Wu(o,u,i)},Yl.selectAll=function(n){var t,e,r,i,u,o=this.id,a=this.namespace,l=[];n=C(n);for(var c=-1,f=this.length;++c<f;)for(var s=this[c],h=-1,p=s.length;++h<p;)if(r=s[h]){u=r[a][o],e=n.call(r,r.__data__,h,c),l.push(t=[]);for(var g=-1,v=e.length;++g<v;)(i=e[g])&&Qu(i,g,a,o,u),t.push(i)}return Wu(l,a,o)},Yl.filter=function(n){var t,e,r,i=[];"function"!=typeof n&&(n=O(n));for(var u=0,o=this.length;o>u;u++){i.push(t=[]);for(var e=this[u],a=0,l=e.length;l>a;a++)(r=e[a])&&n.call(r,r.__data__,a,u)&&t.push(r)}return Wu(i,this.namespace,this.id)},Yl.tween=function(n,t){var e=this.id,r=this.namespace;return arguments.length<2?this.node()[r][e].tween.get(n):Y(this,null==t?function(t){t[r][e].tween.remove(n)}:function(i){i[r][e].tween.set(n,t)})},Yl.attr=function(n,t){function e(){this.removeAttribute(a)}function r(){this.removeAttributeNS(a.space,a.local)}function i(n){return null==n?e:(n+="",function(){var t,e=this.getAttribute(a);return e!==n&&(t=o(e,n),function(n){this.setAttribute(a,t(n))})})}function u(n){return null==n?r:(n+="",function(){var t,e=this.getAttributeNS(a.space,a.local);return e!==n&&(t=o(e,n),function(n){this.setAttributeNS(a.space,a.local,t(n))})})}if(arguments.length<2){for(t in n)this.attr(t,n[t]);return this}var o="transform"==n?$r:Mr,a=ao.ns.qualify(n);return Ju(this,"attr."+n,t,a.local?u:i)},Yl.attrTween=function(n,t){function e(n,e){var r=t.call(this,n,e,this.getAttribute(i));return r&&function(n){this.setAttribute(i,r(n))}}function r(n,e){var r=t.call(this,n,e,this.getAttributeNS(i.space,i.local));return r&&function(n){this.setAttributeNS(i.space,i.local,r(n))}}var i=ao.ns.qualify(n);return this.tween("attr."+n,i.local?r:e)},Yl.style=function(n,e,r){function i(){this.style.removeProperty(n)}function u(e){return null==e?i:(e+="",function(){var i,u=t(this).getComputedStyle(this,null).getPropertyValue(n);return u!==e&&(i=Mr(u,e),function(t){this.style.setProperty(n,i(t),r)})})}var o=arguments.length;if(3>o){if("string"!=typeof n){2>o&&(e="");for(r in n)this.style(r,n[r],e);return this}r=""}return Ju(this,"style."+n,e,u)},Yl.styleTween=function(n,e,r){function i(i,u){var o=e.call(this,i,u,t(this).getComputedStyle(this,null).getPropertyValue(n));return o&&function(t){this.style.setProperty(n,o(t),r)}}return arguments.length<3&&(r=""),this.tween("style."+n,i)},Yl.text=function(n){return Ju(this,"text",n,Gu)},Yl.remove=function(){var n=this.namespace;return this.each("end.transition",function(){var t;this[n].count<2&&(t=this.parentNode)&&t.removeChild(this)})},Yl.ease=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].ease:("function"!=typeof n&&(n=ao.ease.apply(ao,arguments)),Y(this,function(r){r[e][t].ease=n}))},Yl.delay=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].delay:Y(this,"function"==typeof n?function(r,i,u){r[e][t].delay=+n.call(r,r.__data__,i,u)}:(n=+n,function(r){r[e][t].delay=n}))},Yl.duration=function(n){var t=this.id,e=this.namespace;return arguments.length<1?this.node()[e][t].duration:Y(this,"function"==typeof n?function(r,i,u){r[e][t].duration=Math.max(1,n.call(r,r.__data__,i,u))}:(n=Math.max(1,n),function(r){r[e][t].duration=n}))},Yl.each=function(n,t){var e=this.id,r=this.namespace;if(arguments.length<2){var i=Ol,u=Hl;try{Hl=e,Y(this,function(t,i,u){Ol=t[r][e],n.call(t,t.__data__,i,u)})}finally{Ol=i,Hl=u}}else Y(this,function(i){var u=i[r][e];(u.event||(u.event=ao.dispatch("start","end","interrupt"))).on(n,t)});return this},Yl.transition=function(){for(var n,t,e,r,i=this.id,u=++Zl,o=this.namespace,a=[],l=0,c=this.length;c>l;l++){a.push(n=[]);for(var t=this[l],f=0,s=t.length;s>f;f++)(e=t[f])&&(r=e[o][i],Qu(e,f,o,u,{time:r.time,ease:r.ease,delay:r.delay+r.duration,duration:r.duration})),n.push(e)}return Wu(a,o,u)},ao.svg.axis=function(){function n(n){n.each(function(){var n,c=ao.select(this),f=this.__chart__||e,s=this.__chart__=e.copy(),h=null==l?s.ticks?s.ticks.apply(s,a):s.domain():l,p=null==t?s.tickFormat?s.tickFormat.apply(s,a):m:t,g=c.selectAll(".tick").data(h,s),v=g.enter().insert("g",".domain").attr("class","tick").style("opacity",Uo),d=ao.transition(g.exit()).style("opacity",Uo).remove(),y=ao.transition(g.order()).style("opacity",1),M=Math.max(i,0)+o,x=Zi(s),b=c.selectAll(".domain").data([0]),_=(b.enter().append("path").attr("class","domain"),ao.transition(b));v.append("line"),v.append("text");var w,S,k,N,E=v.select("line"),A=y.select("line"),C=g.select("text").text(p),z=v.select("text"),L=y.select("text"),q="top"===r||"left"===r?-1:1;if("bottom"===r||"top"===r?(n=no,w="x",k="y",S="x2",N="y2",C.attr("dy",0>q?"0em":".71em").style("text-anchor","middle"),_.attr("d","M"+x[0]+","+q*u+"V0H"+x[1]+"V"+q*u)):(n=to,w="y",k="x",S="y2",N="x2",C.attr("dy",".32em").style("text-anchor",0>q?"end":"start"),_.attr("d","M"+q*u+","+x[0]+"H0V"+x[1]+"H"+q*u)),E.attr(N,q*i),z.attr(k,q*M),A.attr(S,0).attr(N,q*i),L.attr(w,0).attr(k,q*M),s.rangeBand){var T=s,R=T.rangeBand()/2;f=s=function(n){return T(n)+R}}else f.rangeBand?f=s:d.call(n,s,f);v.call(n,f,s),y.call(n,s,s)})}var t,e=ao.scale.linear(),r=Vl,i=6,u=6,o=3,a=[10],l=null;return n.scale=function(t){return arguments.length?(e=t,n):e},n.orient=function(t){return arguments.length?(r=t in Xl?t+"":Vl,n):r},n.ticks=function(){return arguments.length?(a=co(arguments),n):a},n.tickValues=function(t){return arguments.length?(l=t,n):l},n.tickFormat=function(e){return arguments.length?(t=e,n):t},n.tickSize=function(t){var e=arguments.length;return e?(i=+t,u=+arguments[e-1],n):i},n.innerTickSize=function(t){return arguments.length?(i=+t,n):i},n.outerTickSize=function(t){return arguments.length?(u=+t,n):u},n.tickPadding=function(t){return arguments.length?(o=+t,n):o},n.tickSubdivide=function(){return arguments.length&&n},n};var Vl="bottom",Xl={top:1,right:1,bottom:1,left:1};ao.svg.brush=function(){function n(t){t.each(function(){var t=ao.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",u).on("touchstart.brush",u),o=t.selectAll(".background").data([0]);o.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair"),t.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var a=t.selectAll(".resize").data(v,m);a.exit().remove(),a.enter().append("g").attr("class",function(n){return"resize "+n}).style("cursor",function(n){return $l[n]}).append("rect").attr("x",function(n){return/[ew]$/.test(n)?-3:null}).attr("y",function(n){return/^[ns]/.test(n)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden"),a.style("display",n.empty()?"none":null);var l,s=ao.transition(t),h=ao.transition(o);c&&(l=Zi(c),h.attr("x",l[0]).attr("width",l[1]-l[0]),r(s)),f&&(l=Zi(f),h.attr("y",l[0]).attr("height",l[1]-l[0]),i(s)),e(s)})}function e(n){n.selectAll(".resize").attr("transform",function(n){return"translate("+s[+/e$/.test(n)]+","+h[+/^s/.test(n)]+")"})}function r(n){n.select(".extent").attr("x",s[0]),n.selectAll(".extent,.n>rect,.s>rect").attr("width",s[1]-s[0])}function i(n){n.select(".extent").attr("y",h[0]),n.selectAll(".extent,.e>rect,.w>rect").attr("height",h[1]-h[0])}function u(){function u(){32==ao.event.keyCode&&(C||(M=null,L[0]-=s[1],L[1]-=h[1],C=2),S())}function v(){32==ao.event.keyCode&&2==C&&(L[0]+=s[1],L[1]+=h[1],C=0,S())}function d(){var n=ao.mouse(b),t=!1;x&&(n[0]+=x[0],n[1]+=x[1]),C||(ao.event.altKey?(M||(M=[(s[0]+s[1])/2,(h[0]+h[1])/2]),L[0]=s[+(n[0]<M[0])],L[1]=h[+(n[1]<M[1])]):M=null),E&&y(n,c,0)&&(r(k),t=!0),A&&y(n,f,1)&&(i(k),t=!0),t&&(e(k),w({type:"brush",mode:C?"move":"resize"}))}function y(n,t,e){var r,i,u=Zi(t),l=u[0],c=u[1],f=L[e],v=e?h:s,d=v[1]-v[0];return C&&(l-=f,c-=d+f),r=(e?g:p)?Math.max(l,Math.min(c,n[e])):n[e],C?i=(r+=f)+d:(M&&(f=Math.max(l,Math.min(c,2*M[e]-r))),r>f?(i=r,r=f):i=f),v[0]!=r||v[1]!=i?(e?a=null:o=null,v[0]=r,v[1]=i,!0):void 0}function m(){d(),k.style("pointer-events","all").selectAll(".resize").style("display",n.empty()?"none":null),ao.select("body").style("cursor",null),q.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null),z(),w({type:"brushend"})}var M,x,b=this,_=ao.select(ao.event.target),w=l.of(b,arguments),k=ao.select(b),N=_.datum(),E=!/^(n|s)$/.test(N)&&c,A=!/^(e|w)$/.test(N)&&f,C=_.classed("extent"),z=W(b),L=ao.mouse(b),q=ao.select(t(b)).on("keydown.brush",u).on("keyup.brush",v);if(ao.event.changedTouches?q.on("touchmove.brush",d).on("touchend.brush",m):q.on("mousemove.brush",d).on("mouseup.brush",m),k.interrupt().selectAll("*").interrupt(),C)L[0]=s[0]-L[0],L[1]=h[0]-L[1];else if(N){var T=+/w$/.test(N),R=+/^n/.test(N);x=[s[1-T]-L[0],h[1-R]-L[1]],L[0]=s[T],L[1]=h[R]}else ao.event.altKey&&(M=L.slice());k.style("pointer-events","none").selectAll(".resize").style("display",null),ao.select("body").style("cursor",_.style("cursor")),w({type:"brushstart"}),d()}var o,a,l=N(n,"brushstart","brush","brushend"),c=null,f=null,s=[0,0],h=[0,0],p=!0,g=!0,v=Bl[0];return n.event=function(n){n.each(function(){var n=l.of(this,arguments),t={x:s,y:h,i:o,j:a},e=this.__chart__||t;this.__chart__=t,Hl?ao.select(this).transition().each("start.brush",function(){o=e.i,a=e.j,s=e.x,h=e.y,n({type:"brushstart"})}).tween("brush:brush",function(){var e=xr(s,t.x),r=xr(h,t.y);return o=a=null,function(i){s=t.x=e(i),h=t.y=r(i),n({type:"brush",mode:"resize"})}}).each("end.brush",function(){o=t.i,a=t.j,n({type:"brush",mode:"resize"}),n({type:"brushend"})}):(n({type:"brushstart"}),n({type:"brush",mode:"resize"}),n({type:"brushend"}))})},n.x=function(t){return arguments.length?(c=t,v=Bl[!c<<1|!f],n):c},n.y=function(t){return arguments.length?(f=t,v=Bl[!c<<1|!f],n):f},n.clamp=function(t){return arguments.length?(c&&f?(p=!!t[0],g=!!t[1]):c?p=!!t:f&&(g=!!t),n):c&&f?[p,g]:c?p:f?g:null},n.extent=function(t){var e,r,i,u,l;return arguments.length?(c&&(e=t[0],r=t[1],f&&(e=e[0],r=r[0]),o=[e,r],c.invert&&(e=c(e),r=c(r)),e>r&&(l=e,e=r,r=l),e==s[0]&&r==s[1]||(s=[e,r])),f&&(i=t[0],u=t[1],c&&(i=i[1],u=u[1]),a=[i,u],f.invert&&(i=f(i),u=f(u)),i>u&&(l=i,i=u,u=l),i==h[0]&&u==h[1]||(h=[i,u])),n):(c&&(o?(e=o[0],r=o[1]):(e=s[0],r=s[1],c.invert&&(e=c.invert(e),r=c.invert(r)),e>r&&(l=e,e=r,r=l))),f&&(a?(i=a[0],u=a[1]):(i=h[0],u=h[1],f.invert&&(i=f.invert(i),u=f.invert(u)),i>u&&(l=i,i=u,u=l))),c&&f?[[e,i],[r,u]]:c?[e,r]:f&&[i,u])},n.clear=function(){return n.empty()||(s=[0,0],h=[0,0],o=a=null),n},n.empty=function(){return!!c&&s[0]==s[1]||!!f&&h[0]==h[1]},ao.rebind(n,l,"on")};var $l={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"},Bl=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]],Wl=ga.format=xa.timeFormat,Jl=Wl.utc,Gl=Jl("%Y-%m-%dT%H:%M:%S.%LZ");Wl.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?eo:Gl,eo.parse=function(n){var t=new Date(n);return isNaN(t)?null:t},eo.toString=Gl.toString,ga.second=On(function(n){return new va(1e3*Math.floor(n/1e3))},function(n,t){n.setTime(n.getTime()+1e3*Math.floor(t))},function(n){return n.getSeconds()}),ga.seconds=ga.second.range,ga.seconds.utc=ga.second.utc.range,ga.minute=On(function(n){return new va(6e4*Math.floor(n/6e4))},function(n,t){n.setTime(n.getTime()+6e4*Math.floor(t))},function(n){return n.getMinutes()}),ga.minutes=ga.minute.range,ga.minutes.utc=ga.minute.utc.range,ga.hour=On(function(n){var t=n.getTimezoneOffset()/60;return new va(36e5*(Math.floor(n/36e5-t)+t))},function(n,t){n.setTime(n.getTime()+36e5*Math.floor(t))},function(n){return n.getHours()}),ga.hours=ga.hour.range,ga.hours.utc=ga.hour.utc.range,ga.month=On(function(n){return n=ga.day(n),n.setDate(1),n},function(n,t){n.setMonth(n.getMonth()+t)},function(n){return n.getMonth()}),ga.months=ga.month.range,ga.months.utc=ga.month.utc.range;var Kl=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6],Ql=[[ga.second,1],[ga.second,5],[ga.second,15],[ga.second,30],[ga.minute,1],[ga.minute,5],[ga.minute,15],[ga.minute,30],[ga.hour,1],[ga.hour,3],[ga.hour,6],[ga.hour,12],[ga.day,1],[ga.day,2],[ga.week,1],[ga.month,1],[ga.month,3],[ga.year,1]],nc=Wl.multi([[".%L",function(n){return n.getMilliseconds()}],[":%S",function(n){return n.getSeconds()}],["%I:%M",function(n){return n.getMinutes()}],["%I %p",function(n){return n.getHours()}],["%a %d",function(n){return n.getDay()&&1!=n.getDate()}],["%b %d",function(n){return 1!=n.getDate()}],["%B",function(n){return n.getMonth()}],["%Y",zt]]),tc={range:function(n,t,e){return ao.range(Math.ceil(n/e)*e,+t,e).map(io)},floor:m,ceil:m};Ql.year=ga.year,ga.scale=function(){return ro(ao.scale.linear(),Ql,nc)};var ec=Ql.map(function(n){return[n[0].utc,n[1]]}),rc=Jl.multi([[".%L",function(n){return n.getUTCMilliseconds()}],[":%S",function(n){return n.getUTCSeconds()}],["%I:%M",function(n){return n.getUTCMinutes()}],["%I %p",function(n){return n.getUTCHours()}],["%a %d",function(n){return n.getUTCDay()&&1!=n.getUTCDate()}],["%b %d",function(n){return 1!=n.getUTCDate()}],["%B",function(n){return n.getUTCMonth()}],["%Y",zt]]);ec.year=ga.year.utc,ga.scale.utc=function(){return ro(ao.scale.linear(),ec,rc)},ao.text=An(function(n){return n.responseText}),ao.json=function(n,t){return Cn(n,"application/json",uo,t)},ao.html=function(n,t){return Cn(n,"text/html",oo,t)},ao.xml=An(function(n){return n.responseXML}),"function"==typeof define&&define.amd?(this.d3=ao,define(ao)):"object"==typeof module&&module.exports?module.exports=ao:this.d3=ao}(); \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/js/multiline-text.js b/ui/ui-frontend/projects/pastis/src/assets/js/multiline-text.js new file mode 100644 index 0000000000000000000000000000000000000000..1e325f2e884d6b8f0b3ee8925dfb6947a5d07d08 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/js/multiline-text.js @@ -0,0 +1,172 @@ +var multilineText = (function() { + var lineHeight = 1.4; + var horizontalAlign = 'center'; // 'left', 'center', or 'right' + var verticalAlign = 'center'; // 'top', 'center', or 'bottom' + var paddingTop = 10; + var paddingBottom = 10; + var paddingLeft = 10; + var paddingRight = 10; + var textAnchorsByHorizontalAlign = { + 'center': 'middle', + 'left': 'start', + 'right': 'end' + }; + var text = function(d) { return d.text; }; + var width = function(d) { return d.width; }; + var height = function(d) { return d.height; }; + + function my(selection) { + selection.each(function(d, i) { + var textElem = d3.select(this), + lines, + lineCount, + lineI, + line; + + lines = result(d, text); + if (typeof lines === 'string') { + lines = lines.split(/\n/); + } + if (lines === undefined) { + return; + } + lineCount = lines.length; + + textElem.attr({ + 'text-anchor': textAnchorsByHorizontalAlign[horizontalAlign], + 'fill': 'black', + transform: function(d) { + return 'translate(' + translateX(d) + ',' + translateY(d) + ')'; + }, + }); + + for (lineI = 0; lineI < lineCount; lineI++) { + line = lines[lineI]; + textElem.append('tspan') + .attr({ + 'x': 0, + 'y': lineTspanY(lineI, lineCount) + }) + .attr(lineTspanAttrs()) + .text(line); + } + }); + } + + function translateX(d) { + var w = result(d, width); + switch (horizontalAlign) { + case 'center': + return w / 2; + case 'left': + return paddingLeft; + case 'right': + return w - paddingRight; + } + } + + function translateY(d) { + var h = result(d, height); + switch (verticalAlign) { + case 'center': + return h / 2; + case 'top': + return paddingTop; + case 'bottom': + return h - paddingBottom; + } + } + + function lineTspanY(lineI, lineCount) { + var y; + switch (verticalAlign) { + case 'center': + y = (lineI - (lineCount - 1) / 2) * lineHeight; + break; + case 'top': + y = lineI * lineHeight; + break; + case 'bottom': + y = -((lineCount - 1) - lineI) * lineHeight; + break; + } + return y ? y + 'em' : 0; + } + + function lineTspanAttrs() { + switch (verticalAlign) { + case 'center': + return {dy: '.35em'}; + case 'top': + return {dy: '1em'}; + case 'bottom': + return {dy: 0}; + } + } + + function result(d, property) { + return typeof property === 'function' ? property(d) : property; + } + + my.lineHeight = function(value) { + if (!arguments.length) return lineHeight; + lineHeight = value; + return my; + }; + + my.horizontalAlign = function(value) { + if (!arguments.length) return horizontalAlign; + horizontalAlign = value; + return my; + }; + + my.verticalAlign = function(value) { + if (!arguments.length) return verticalAlign; + verticalAlign = value; + return my; + }; + + my.paddingTop = function(value) { + if (!arguments.length) return paddingTop; + paddingTop = value; + return my; + }; + + my.paddingRight = function(value) { + if (!arguments.length) return paddingRight; + paddingRight = value; + return my; + }; + + my.paddingBottom = function(value) { + if (!arguments.length) return paddingBottom; + paddingBottom = value; + return my; + }; + + my.paddingLeft = function(value) { + if (!arguments.length) return paddingLeft; + paddingLeft = value; + return my; + }; + + my.width = function(value) { + if (!arguments.length) return width; + width = value; + return my; + }; + + my.height = function(value) { + if (!arguments.length) return height; + height = value; + return my; + }; + + my.text = function(value) { + if (!arguments.length) return text; + text = value; + return my; + }; + + return my; +})(); \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/lib/angular-route.min.js b/ui/ui-frontend/projects/pastis/src/assets/lib/angular-route.min.js new file mode 100644 index 0000000000000000000000000000000000000000..a8113fa7aa40686243ab31f7272b15409b917257 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/lib/angular-route.min.js @@ -0,0 +1,15 @@ +/* + AngularJS v1.5.3 + (c) 2010-2016 Google, Inc. http://angularjs.org + License: MIT +*/ +(function(r,d,C){'use strict';function x(s,h,g){return{restrict:"ECA",terminal:!0,priority:400,transclude:"element",link:function(a,c,b,f,y){function k(){n&&(g.cancel(n),n=null);l&&(l.$destroy(),l=null);m&&(n=g.leave(m),n.then(function(){n=null}),m=null)}function z(){var b=s.current&&s.current.locals;if(d.isDefined(b&&b.$template)){var b=a.$new(),f=s.current;m=y(b,function(b){g.enter(b,null,m||c).then(function(){!d.isDefined(u)||u&&!a.$eval(u)||h()});k()});l=f.scope=b;l.$emit("$viewContentLoaded"); +l.$eval(v)}else k()}var l,m,n,u=b.autoscroll,v=b.onload||"";a.$on("$routeChangeSuccess",z);z()}}}function A(d,h,g){return{restrict:"ECA",priority:-400,link:function(a,c){var b=g.current,f=b.locals;c.html(f.$template);var y=d(c.contents());if(b.controller){f.$scope=a;var k=h(b.controller,f);b.controllerAs&&(a[b.controllerAs]=k);c.data("$ngControllerController",k);c.children().data("$ngControllerController",k)}a[b.resolveAs||"$resolve"]=f;y(a)}}}r=d.module("ngRoute",["ng"]).provider("$route",function(){function s(a, +c){return d.extend(Object.create(a),c)}function h(a,d){var b=d.caseInsensitiveMatch,f={originalPath:a,regexp:a},g=f.keys=[];a=a.replace(/([().])/g,"\\$1").replace(/(\/)?:(\w+)(\*\?|[\?\*])?/g,function(a,d,b,c){a="?"===c||"*?"===c?"?":null;c="*"===c||"*?"===c?"*":null;g.push({name:b,optional:!!a});d=d||"";return""+(a?"":d)+"(?:"+(a?d:"")+(c&&"(.+?)"||"([^/]+)")+(a||"")+")"+(a||"")}).replace(/([\/$\*])/g,"\\$1");f.regexp=new RegExp("^"+a+"$",b?"i":"");return f}var g={};this.when=function(a,c){var b= +d.copy(c);d.isUndefined(b.reloadOnSearch)&&(b.reloadOnSearch=!0);d.isUndefined(b.caseInsensitiveMatch)&&(b.caseInsensitiveMatch=this.caseInsensitiveMatch);g[a]=d.extend(b,a&&h(a,b));if(a){var f="/"==a[a.length-1]?a.substr(0,a.length-1):a+"/";g[f]=d.extend({redirectTo:a},h(f,b))}return this};this.caseInsensitiveMatch=!1;this.otherwise=function(a){"string"===typeof a&&(a={redirectTo:a});this.when(null,a);return this};this.$get=["$rootScope","$location","$routeParams","$q","$injector","$templateRequest", +"$sce",function(a,c,b,f,h,k,r){function l(b){var e=t.current;(x=(p=n())&&e&&p.$$route===e.$$route&&d.equals(p.pathParams,e.pathParams)&&!p.reloadOnSearch&&!v)||!e&&!p||a.$broadcast("$routeChangeStart",p,e).defaultPrevented&&b&&b.preventDefault()}function m(){var w=t.current,e=p;if(x)w.params=e.params,d.copy(w.params,b),a.$broadcast("$routeUpdate",w);else if(e||w)v=!1,(t.current=e)&&e.redirectTo&&(d.isString(e.redirectTo)?c.path(u(e.redirectTo,e.params)).search(e.params).replace():c.url(e.redirectTo(e.pathParams, +c.path(),c.search())).replace()),f.when(e).then(function(){if(e){var a=d.extend({},e.resolve),b,c;d.forEach(a,function(b,e){a[e]=d.isString(b)?h.get(b):h.invoke(b,null,null,e)});d.isDefined(b=e.template)?d.isFunction(b)&&(b=b(e.params)):d.isDefined(c=e.templateUrl)&&(d.isFunction(c)&&(c=c(e.params)),d.isDefined(c)&&(e.loadedTemplateUrl=r.valueOf(c),b=k(c)));d.isDefined(b)&&(a.$template=b);return f.all(a)}}).then(function(c){e==t.current&&(e&&(e.locals=c,d.copy(e.params,b)),a.$broadcast("$routeChangeSuccess", +e,w))},function(b){e==t.current&&a.$broadcast("$routeChangeError",e,w,b)})}function n(){var a,b;d.forEach(g,function(f,g){var q;if(q=!b){var h=c.path();q=f.keys;var l={};if(f.regexp)if(h=f.regexp.exec(h)){for(var k=1,n=h.length;k<n;++k){var m=q[k-1],p=h[k];m&&p&&(l[m.name]=p)}q=l}else q=null;else q=null;q=a=q}q&&(b=s(f,{params:d.extend({},c.search(),a),pathParams:a}),b.$$route=f)});return b||g[null]&&s(g[null],{params:{},pathParams:{}})}function u(a,b){var c=[];d.forEach((a||"").split(":"),function(a, +d){if(0===d)c.push(a);else{var f=a.match(/(\w+)(?:[?*])?(.*)/),g=f[1];c.push(b[g]);c.push(f[2]||"");delete b[g]}});return c.join("")}var v=!1,p,x,t={routes:g,reload:function(){v=!0;var b={defaultPrevented:!1,preventDefault:function(){this.defaultPrevented=!0;v=!1}};a.$evalAsync(function(){l(b);b.defaultPrevented||m()})},updateParams:function(a){if(this.current&&this.current.$$route)a=d.extend({},this.current.params,a),c.path(u(this.current.$$route.originalPath,a)),c.search(a);else throw B("norout"); +}};a.$on("$locationChangeStart",l);a.$on("$locationChangeSuccess",m);return t}]}).run(["$route",d.noop]);var B=d.$$minErr("ngRoute");r.provider("$routeParams",function(){this.$get=function(){return{}}});r.directive("ngView",x);r.directive("ngView",A);x.$inject=["$route","$anchorScroll","$animate"];A.$inject=["$compile","$controller","$route"]})(window,window.angular); +//# sourceMappingURL=angular-route.min.js.map diff --git a/ui/ui-frontend/projects/pastis/src/assets/lib/angular-route.min.js.map b/ui/ui-frontend/projects/pastis/src/assets/lib/angular-route.min.js.map new file mode 100644 index 0000000000000000000000000000000000000000..64368c250fbc3fd98b2c3c61bc7a34fa908a9b85 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/lib/angular-route.min.js.map @@ -0,0 +1,8 @@ +{ +"version":3, +"file":"angular-route.min.js", +"lineCount":14, +"mappings":"A;;;;;aAKC,SAAQ,CAACA,CAAD,CAASC,CAAT,CAAkBC,CAAlB,CAA6B,CA84BtCC,QAASA,EAAa,CAACC,CAAD,CAASC,CAAT,CAAwBC,CAAxB,CAAkC,CACtD,MAAO,CACLC,SAAU,KADL,CAELC,SAAU,CAAA,CAFL,CAGLC,SAAU,GAHL,CAILC,WAAY,SAJP,CAKLC,KAAMA,QAAQ,CAACC,CAAD,CAAQC,CAAR,CAAkBC,CAAlB,CAAwBC,CAAxB,CAA8BC,CAA9B,CAA2C,CAUrDC,QAASA,EAAe,EAAG,CACrBC,CAAJ,GACEZ,CAAAa,OAAA,CAAgBD,CAAhB,CACA,CAAAA,CAAA,CAAyB,IAF3B,CAKIE,EAAJ,GACEA,CAAAC,SAAA,EACA,CAAAD,CAAA,CAAe,IAFjB,CAIIE,EAAJ,GACEJ,CAIA,CAJyBZ,CAAAiB,MAAA,CAAeD,CAAf,CAIzB,CAHAJ,CAAAM,KAAA,CAA4B,QAAQ,EAAG,CACrCN,CAAA,CAAyB,IADY,CAAvC,CAGA,CAAAI,CAAA,CAAiB,IALnB,CAVyB,CAmB3BG,QAASA,EAAM,EAAG,CAAA,IACZC,EAAStB,CAAAuB,QAATD,EAA2BtB,CAAAuB,QAAAD,OAG/B,IAAIzB,CAAA2B,UAAA,CAFWF,CAEX,EAFqBA,CAAAG,UAErB,CAAJ,CAAiC,CAC3BC,IAAAA,EAAWlB,CAAAmB,KAAA,EAAXD,CACAH,EAAUvB,CAAAuB,QAkBdL,EAAA,CAVYN,CAAAgB,CAAYF,CAAZE,CAAsB,QAAQ,CAACA,CAAD,CAAQ,CAChD1B,CAAA2B,MAAA,CAAeD,CAAf,CAAsB,IAAtB,CAA4BV,CAA5B,EAA8CT,CAA9C,CAAAW,KAAA,CAA6DU,QAAsB,EAAG,CAChF,CAAAjC,CAAA2B,UAAA,CAAkBO,CAAlB,CAAJ,EACOA,CADP,EACwB,CAAAvB,CAAAwB,MAAA,CAAYD,CAAZ,CADxB,EAEE9B,CAAA,EAHkF,CAAtF,CAMAY,EAAA,EAPgD,CAAtCe,CAWZZ,EAAA,CAAeO,CAAAf,MAAf,CAA+BkB,CAC/BV,EAAAiB,MAAA,CAAmB,oBAAnB,CACAjB;CAAAgB,MAAA,CAAmBE,CAAnB,CAvB+B,CAAjC,IAyBErB,EAAA,EA7Bc,CA7BmC,IACjDG,CADiD,CAEjDE,CAFiD,CAGjDJ,CAHiD,CAIjDiB,EAAgBrB,CAAAyB,WAJiC,CAKjDD,EAAYxB,CAAA0B,OAAZF,EAA2B,EAE/B1B,EAAA6B,IAAA,CAAU,qBAAV,CAAiChB,CAAjC,CACAA,EAAA,EARqD,CALpD,CAD+C,CA6ExDiB,QAASA,EAAwB,CAACC,CAAD,CAAWC,CAAX,CAAwBxC,CAAxB,CAAgC,CAC/D,MAAO,CACLG,SAAU,KADL,CAELE,SAAW,IAFN,CAGLE,KAAMA,QAAQ,CAACC,CAAD,CAAQC,CAAR,CAAkB,CAAA,IAC1Bc,EAAUvB,CAAAuB,QADgB,CAE1BD,EAASC,CAAAD,OAEbb,EAAAgC,KAAA,CAAcnB,CAAAG,UAAd,CAEA,KAAIlB,EAAOgC,CAAA,CAAS9B,CAAAiC,SAAA,EAAT,CAEX,IAAInB,CAAAoB,WAAJ,CAAwB,CACtBrB,CAAAsB,OAAA,CAAgBpC,CAChB,KAAImC,EAAaH,CAAA,CAAYjB,CAAAoB,WAAZ,CAAgCrB,CAAhC,CACbC,EAAAsB,aAAJ,GACErC,CAAA,CAAMe,CAAAsB,aAAN,CADF,CACgCF,CADhC,CAGAlC,EAAAqC,KAAA,CAAc,yBAAd,CAAyCH,CAAzC,CACAlC,EAAAsC,SAAA,EAAAD,KAAA,CAAyB,yBAAzB,CAAoDH,CAApD,CAPsB,CASxBnC,CAAA,CAAMe,CAAAyB,UAAN,EAA2B,UAA3B,CAAA,CAAyC1B,CAEzCf,EAAA,CAAKC,CAAL,CAnB8B,CAH3B,CADwD,CAz8B7DyC,CAAAA,CAAgBpD,CAAAqD,OAAA,CAAe,SAAf,CAA0B,CAAC,IAAD,CAA1B,CAAAC,SAAA,CACa,QADb,CAsBpBC,QAAuB,EAAG,CACxBC,QAASA,EAAO,CAACC,CAAD;AAASC,CAAT,CAAgB,CAC9B,MAAO1D,EAAA2D,OAAA,CAAeC,MAAAC,OAAA,CAAcJ,CAAd,CAAf,CAAsCC,CAAtC,CADuB,CAwKhCI,QAASA,EAAU,CAACC,CAAD,CAAOC,CAAP,CAAa,CAAA,IAC1BC,EAAcD,CAAAE,qBADY,CAE1BC,EAAM,CACJC,aAAcL,CADV,CAEJM,OAAQN,CAFJ,CAFoB,CAM1BO,EAAOH,CAAAG,KAAPA,CAAkB,EAEtBP,EAAA,CAAOA,CAAAQ,QAAA,CACI,UADJ,CACgB,MADhB,CAAAA,QAAA,CAEI,4BAFJ,CAEkC,QAAQ,CAACC,CAAD,CAAIC,CAAJ,CAAWC,CAAX,CAAgBC,CAAhB,CAAwB,CACjEC,CAAAA,CAAuB,GAAZ,GAACD,CAAD,EAA8B,IAA9B,GAAmBA,CAAnB,CAAsC,GAAtC,CAA4C,IACvDE,EAAAA,CAAmB,GAAZ,GAACF,CAAD,EAA8B,IAA9B,GAAmBA,CAAnB,CAAsC,GAAtC,CAA4C,IACvDL,EAAAQ,KAAA,CAAU,CAAEC,KAAML,CAAR,CAAaE,SAAU,CAAEA,CAAAA,CAAzB,CAAV,CACAH,EAAA,CAAQA,CAAR,EAAiB,EACjB,OAAO,EAAP,EACKG,CAAA,CAAW,EAAX,CAAgBH,CADrB,EAEI,KAFJ,EAGKG,CAAA,CAAWH,CAAX,CAAmB,EAHxB,GAIKI,CAJL,EAIa,OAJb,EAIwB,SAJxB,GAKKD,CALL,EAKiB,EALjB,EAMI,GANJ,EAOKA,CAPL,EAOiB,EAPjB,CALqE,CAFlE,CAAAL,QAAA,CAgBI,YAhBJ,CAgBkB,MAhBlB,CAkBPJ,EAAAE,OAAA,CAAa,IAAIW,MAAJ,CAAW,GAAX,CAAiBjB,CAAjB,CAAwB,GAAxB,CAA6BE,CAAA,CAAc,GAAd,CAAoB,EAAjD,CACb,OAAOE,EA3BuB,CApKhC,IAAIc,EAAS,EAiHb,KAAAC,KAAA,CAAYC,QAAQ,CAACpB,CAAD,CAAOqB,CAAP,CAAc,CAEhC,IAAIC;AAAYrF,CAAAsF,KAAA,CAAaF,CAAb,CACZpF,EAAAuF,YAAA,CAAoBF,CAAAG,eAApB,CAAJ,GACEH,CAAAG,eADF,CAC6B,CAAA,CAD7B,CAGIxF,EAAAuF,YAAA,CAAoBF,CAAAnB,qBAApB,CAAJ,GACEmB,CAAAnB,qBADF,CACmC,IAAAA,qBADnC,CAGAe,EAAA,CAAOlB,CAAP,CAAA,CAAe/D,CAAA2D,OAAA,CACb0B,CADa,CAEbtB,CAFa,EAELD,CAAA,CAAWC,CAAX,CAAiBsB,CAAjB,CAFK,CAMf,IAAItB,CAAJ,CAAU,CACR,IAAI0B,EAAyC,GAA1B,EAAC1B,CAAA,CAAKA,CAAA2B,OAAL,CAAmB,CAAnB,CAAD,CACX3B,CAAA4B,OAAA,CAAY,CAAZ,CAAe5B,CAAA2B,OAAf,CAA6B,CAA7B,CADW,CAEX3B,CAFW,CAEJ,GAEfkB,EAAA,CAAOQ,CAAP,CAAA,CAAuBzF,CAAA2D,OAAA,CACrB,CAACiC,WAAY7B,CAAb,CADqB,CAErBD,CAAA,CAAW2B,CAAX,CAAyBJ,CAAzB,CAFqB,CALf,CAWV,MAAO,KA1ByB,CAsClC,KAAAnB,qBAAA,CAA4B,CAAA,CAuD5B,KAAA2B,UAAA,CAAiBC,QAAQ,CAACC,CAAD,CAAS,CACV,QAAtB,GAAI,MAAOA,EAAX,GACEA,CADF,CACW,CAACH,WAAYG,CAAb,CADX,CAGA,KAAAb,KAAA,CAAU,IAAV,CAAgBa,CAAhB,CACA,OAAO,KALyB,CASlC,KAAAC,KAAA,CAAY,CAAC,YAAD,CACC,WADD,CAEC,cAFD,CAGC,IAHD,CAIC,WAJD,CAKC,kBALD;AAMC,MAND,CAOR,QAAQ,CAACC,CAAD,CAAaC,CAAb,CAAwBC,CAAxB,CAAsCC,CAAtC,CAA0CC,CAA1C,CAAqDC,CAArD,CAAuEC,CAAvE,CAA6E,CAySvFC,QAASA,EAAY,CAACC,CAAD,CAAiB,CACpC,IAAIC,EAAYvG,CAAAuB,QAOhB,EAJAiF,CAIA,EALAC,CAKA,CALgBC,CAAA,EAKhB,GAJ6CH,CAI7C,EAJ0DE,CAAAE,QAI1D,GAJoFJ,CAAAI,QAIpF,EAHO9G,CAAA+G,OAAA,CAAeH,CAAAI,WAAf,CAAyCN,CAAAM,WAAzC,CAGP,EAFO,CAACJ,CAAApB,eAER,EAFwC,CAACyB,CAEzC,GAAmCP,CAAAA,CAAnC,EAAgDE,CAAAA,CAAhD,EACMX,CAAAiB,WAAA,CAAsB,mBAAtB,CAA2CN,CAA3C,CAA0DF,CAA1D,CAAAS,iBADN,EAEQV,CAFR,EAGMA,CAAAW,eAAA,EAX8B,CAiBtCC,QAASA,EAAW,EAAG,CACrB,IAAIX,EAAYvG,CAAAuB,QAAhB,CACI4F,EAAYV,CAEhB,IAAID,CAAJ,CACED,CAAAX,OAEA,CAFmBuB,CAAAvB,OAEnB,CADA/F,CAAAsF,KAAA,CAAaoB,CAAAX,OAAb,CAA+BI,CAA/B,CACA,CAAAF,CAAAiB,WAAA,CAAsB,cAAtB,CAAsCR,CAAtC,CAHF,KAIO,IAAIY,CAAJ,EAAiBZ,CAAjB,CACLO,CAcA,CAdc,CAAA,CAcd,EAbA9G,CAAAuB,QAaA,CAbiB4F,CAajB,GAXMA,CAAA1B,WAWN,GAVQ5F,CAAAuH,SAAA,CAAiBD,CAAA1B,WAAjB,CAAJ,CACEM,CAAAnC,KAAA,CAAeyD,CAAA,CAAYF,CAAA1B,WAAZ,CAAkC0B,CAAAvB,OAAlC,CAAf,CAAA0B,OAAA,CAA2EH,CAAAvB,OAA3E,CAAAxB,QAAA,EADF,CAIE2B,CAAAwB,IAAA,CAAcJ,CAAA1B,WAAA,CAAqB0B,CAAAN,WAArB;AAA2Cd,CAAAnC,KAAA,EAA3C,CAA6DmC,CAAAuB,OAAA,EAA7D,CAAd,CAAAlD,QAAA,EAMN,EAAA6B,CAAAlB,KAAA,CAAQoC,CAAR,CAAA/F,KAAA,CACO,QAAQ,EAAG,CACd,GAAI+F,CAAJ,CAAe,CAAA,IACT7F,EAASzB,CAAA2D,OAAA,CAAe,EAAf,CAAmB2D,CAAAK,QAAnB,CADA,CAETC,CAFS,CAECC,CAEd7H,EAAA8H,QAAA,CAAgBrG,CAAhB,CAAwB,QAAQ,CAACsG,CAAD,CAAQrD,CAAR,CAAa,CAC3CjD,CAAA,CAAOiD,CAAP,CAAA,CAAc1E,CAAAuH,SAAA,CAAiBQ,CAAjB,CAAA,CACV1B,CAAA2B,IAAA,CAAcD,CAAd,CADU,CACa1B,CAAA4B,OAAA,CAAiBF,CAAjB,CAAwB,IAAxB,CAA8B,IAA9B,CAAoCrD,CAApC,CAFgB,CAA7C,CAKI1E,EAAA2B,UAAA,CAAkBiG,CAAlB,CAA6BN,CAAAM,SAA7B,CAAJ,CACM5H,CAAAkI,WAAA,CAAmBN,CAAnB,CADN,GAEIA,CAFJ,CAEeA,CAAA,CAASN,CAAAvB,OAAT,CAFf,EAIW/F,CAAA2B,UAAA,CAAkBkG,CAAlB,CAAgCP,CAAAO,YAAhC,CAJX,GAKM7H,CAAAkI,WAAA,CAAmBL,CAAnB,CAGJ,GAFEA,CAEF,CAFgBA,CAAA,CAAYP,CAAAvB,OAAZ,CAEhB,EAAI/F,CAAA2B,UAAA,CAAkBkG,CAAlB,CAAJ,GACEP,CAAAa,kBACA,CAD8B5B,CAAA6B,QAAA,CAAaP,CAAb,CAC9B,CAAAD,CAAA,CAAWtB,CAAA,CAAiBuB,CAAjB,CAFb,CARF,CAaI7H,EAAA2B,UAAA,CAAkBiG,CAAlB,CAAJ,GACEnG,CAAA,UADF,CACwBmG,CADxB,CAGA,OAAOxB,EAAAiC,IAAA,CAAO5G,CAAP,CAzBM,CADD,CADlB,CAAAF,KAAA,CA8BO,QAAQ,CAACE,CAAD,CAAS,CAEhB6F,CAAJ,EAAiBnH,CAAAuB,QAAjB,GACM4F,CAIJ,GAHEA,CAAA7F,OACA,CADmBA,CACnB,CAAAzB,CAAAsF,KAAA,CAAagC,CAAAvB,OAAb,CAA+BI,CAA/B,CAEF,EAAAF,CAAAiB,WAAA,CAAsB,qBAAtB;AAA6CI,CAA7C,CAAwDZ,CAAxD,CALF,CAFoB,CA9BxB,CAuCK,QAAQ,CAAC4B,CAAD,CAAQ,CACbhB,CAAJ,EAAiBnH,CAAAuB,QAAjB,EACEuE,CAAAiB,WAAA,CAAsB,mBAAtB,CAA2CI,CAA3C,CAAsDZ,CAAtD,CAAiE4B,CAAjE,CAFe,CAvCrB,CAvBmB,CA0EvBzB,QAASA,EAAU,EAAG,CAAA,IAEhBd,CAFgB,CAERwC,CACZvI,EAAA8H,QAAA,CAAgB7C,CAAhB,CAAwB,QAAQ,CAACG,CAAD,CAAQrB,CAAR,CAAc,CACxC,IAAA,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAW,IAAA,EAAA,CAAA,KAAA,EAnHbO,EAAAA,CAmHac,CAnHNd,KAAX,KACIyB,EAAS,EAEb,IAgHiBX,CAhHZf,OAAL,CAGA,GADImE,CACJ,CA6GiBpD,CA9GTf,OAAAoE,KAAA,CAAkBC,CAAlB,CACR,CAAA,CAEA,IATqC,IAS5BC,EAAI,CATwB,CASrBC,EAAMJ,CAAA9C,OAAtB,CAAgCiD,CAAhC,CAAoCC,CAApC,CAAyC,EAAED,CAA3C,CAA8C,CAC5C,IAAIjE,EAAMJ,CAAA,CAAKqE,CAAL,CAAS,CAAT,CAAV,CAEIE,EAAML,CAAA,CAAEG,CAAF,CAENjE,EAAJ,EAAWmE,CAAX,GACE9C,CAAA,CAAOrB,CAAAK,KAAP,CADF,CACqB8D,CADrB,CAL4C,CAS9C,CAAA,CAAO9C,CAXP,CAAA,IAAQ,EAAA,CAAO,IAHf,KAAmB,EAAA,CAAO,IAgHT,EAAA,CAAA,CAAA,CAAA,CAAX,CAAA,CAAJ,GACEwC,CAGA,CAHQ/E,CAAA,CAAQ4B,CAAR,CAAe,CACrBW,OAAQ/F,CAAA2D,OAAA,CAAe,EAAf,CAAmBuC,CAAAuB,OAAA,EAAnB,CAAuC1B,CAAvC,CADa,CAErBiB,WAAYjB,CAFS,CAAf,CAGR,CAAAwC,CAAAzB,QAAA,CAAgB1B,CAJlB,CAD4C,CAA9C,CASA,OAAOmD,EAAP,EAAgBtD,CAAA,CAAO,IAAP,CAAhB,EAAgCzB,CAAA,CAAQyB,CAAA,CAAO,IAAP,CAAR,CAAsB,CAACc,OAAQ,EAAT,CAAaiB,WAAW,EAAxB,CAAtB,CAZZ,CAkBtBQ,QAASA,EAAW,CAACsB,CAAD,CAAS/C,CAAT,CAAiB,CACnC,IAAIgD,EAAS,EACb/I,EAAA8H,QAAA,CAAgBkB,CAACF,CAADE,EAAW,EAAXA,OAAA,CAAqB,GAArB,CAAhB,CAA2C,QAAQ,CAACC,CAAD;AAAUN,CAAV,CAAa,CAC9D,GAAU,CAAV,GAAIA,CAAJ,CACEI,CAAAjE,KAAA,CAAYmE,CAAZ,CADF,KAEO,CACL,IAAIC,EAAeD,CAAAV,MAAA,CAAc,oBAAd,CAAnB,CACI7D,EAAMwE,CAAA,CAAa,CAAb,CACVH,EAAAjE,KAAA,CAAYiB,CAAA,CAAOrB,CAAP,CAAZ,CACAqE,EAAAjE,KAAA,CAAYoE,CAAA,CAAa,CAAb,CAAZ,EAA+B,EAA/B,CACA,QAAOnD,CAAA,CAAOrB,CAAP,CALF,CAHuD,CAAhE,CAWA,OAAOqE,EAAAI,KAAA,CAAY,EAAZ,CAb4B,CAtZkD,IAuMnFlC,EAAc,CAAA,CAvMqE,CAwMnFL,CAxMmF,CAyMnFD,CAzMmF,CA0MnFxG,EAAS,CACP8E,OAAQA,CADD,CAcPmE,OAAQA,QAAQ,EAAG,CACjBnC,CAAA,CAAc,CAAA,CAEd,KAAIoC,EAAoB,CACtBlC,iBAAkB,CAAA,CADI,CAEtBC,eAAgBkC,QAA2B,EAAG,CAC5C,IAAAnC,iBAAA,CAAwB,CAAA,CACxBF,EAAA,CAAc,CAAA,CAF8B,CAFxB,CAQxBhB,EAAAsD,WAAA,CAAsB,QAAQ,EAAG,CAC/B/C,CAAA,CAAa6C,CAAb,CACKA,EAAAlC,iBAAL,EAAyCE,CAAA,EAFV,CAAjC,CAXiB,CAdZ,CA4CPmC,aAAcA,QAAQ,CAACC,CAAD,CAAY,CAChC,GAAI,IAAA/H,QAAJ,EAAoB,IAAAA,QAAAoF,QAApB,CACE2C,CAGA,CAHYzJ,CAAA2D,OAAA,CAAe,EAAf,CAAmB,IAAAjC,QAAAqE,OAAnB,CAAwC0D,CAAxC,CAGZ,CAFAvD,CAAAnC,KAAA,CAAeyD,CAAA,CAAY,IAAA9F,QAAAoF,QAAA1C,aAAZ,CAA+CqF,CAA/C,CAAf,CAEA,CAAAvD,CAAAuB,OAAA,CAAiBgC,CAAjB,CAJF,KAME,MAAMC,EAAA,CAAa,QAAb,CAAN;AAP8B,CA5C3B,CAwDbzD,EAAAzD,IAAA,CAAe,sBAAf,CAAuCgE,CAAvC,CACAP,EAAAzD,IAAA,CAAe,wBAAf,CAAyC6E,CAAzC,CAEA,OAAOlH,EArQgF,CAP7E,CA5NY,CAtBN,CAAAwJ,IAAA,CAKQ,CAAC,QAAD,CAAW3J,CAAA4J,KAAX,CALR,CAApB,KAMIF,EAAe1J,CAAA6J,SAAA,CAAiB,SAAjB,CA2pBnBzG,EAAAE,SAAA,CAAuB,cAAvB,CAoCAwG,QAA6B,EAAG,CAC9B,IAAA9D,KAAA,CAAY+D,QAAQ,EAAG,CAAE,MAAO,EAAT,CADO,CApChC,CAwCA3G,EAAA4G,UAAA,CAAwB,QAAxB,CAAkC9J,CAAlC,CACAkD,EAAA4G,UAAA,CAAwB,QAAxB,CAAkCvH,CAAlC,CAiLAvC,EAAA+J,QAAA,CAAwB,CAAC,QAAD,CAAW,eAAX,CAA4B,UAA5B,CA6ExBxH,EAAAwH,QAAA,CAAmC,CAAC,UAAD,CAAa,aAAb,CAA4B,QAA5B,CA19BG,CAArC,CAAD,CAw/BGlK,MAx/BH,CAw/BWA,MAAAC,QAx/BX;", +"sources":["angular-route.js"], +"names":["window","angular","undefined","ngViewFactory","$route","$anchorScroll","$animate","restrict","terminal","priority","transclude","link","scope","$element","attr","ctrl","$transclude","cleanupLastView","previousLeaveAnimation","cancel","currentScope","$destroy","currentElement","leave","then","update","locals","current","isDefined","$template","newScope","$new","clone","enter","onNgViewEnter","autoScrollExp","$eval","$emit","onloadExp","autoscroll","onload","$on","ngViewFillContentFactory","$compile","$controller","html","contents","controller","$scope","controllerAs","data","children","resolveAs","ngRouteModule","module","provider","$RouteProvider","inherit","parent","extra","extend","Object","create","pathRegExp","path","opts","insensitive","caseInsensitiveMatch","ret","originalPath","regexp","keys","replace","_","slash","key","option","optional","star","push","name","RegExp","routes","when","this.when","route","routeCopy","copy","isUndefined","reloadOnSearch","redirectPath","length","substr","redirectTo","otherwise","this.otherwise","params","$get","$rootScope","$location","$routeParams","$q","$injector","$templateRequest","$sce","prepareRoute","$locationEvent","lastRoute","preparedRouteIsUpdateOnly","preparedRoute","parseRoute","$$route","equals","pathParams","forceReload","$broadcast","defaultPrevented","preventDefault","commitRoute","nextRoute","isString","interpolate","search","url","resolve","template","templateUrl","forEach","value","get","invoke","isFunction","loadedTemplateUrl","valueOf","all","error","match","m","exec","on","i","len","val","string","result","split","segment","segmentMatch","join","reload","fakeLocationEvent","fakePreventDefault","$evalAsync","updateParams","newParams","$routeMinErr","run","noop","$$minErr","$RouteParamsProvider","this.$get","directive","$inject"] +} diff --git a/ui/ui-frontend/projects/pastis/src/assets/pastis-logo7.png b/ui/ui-frontend/projects/pastis/src/assets/pastis-logo7.png new file mode 100644 index 0000000000000000000000000000000000000000..c04139cb780835a52eefa630309ee4e156132a51 Binary files /dev/null and b/ui/ui-frontend/projects/pastis/src/assets/pastis-logo7.png differ diff --git a/ui/ui-frontend/projects/pastis/src/assets/pastis-marseille.jpg b/ui/ui-frontend/projects/pastis/src/assets/pastis-marseille.jpg new file mode 100644 index 0000000000000000000000000000000000000000..36a88e98ca088acf5661c0c4a0f14bf38367e265 Binary files /dev/null and b/ui/ui-frontend/projects/pastis/src/assets/pastis-marseille.jpg differ diff --git a/ui/ui-frontend/projects/pastis/src/assets/pastis-marseille_blue_crop.jpg b/ui/ui-frontend/projects/pastis/src/assets/pastis-marseille_blue_crop.jpg new file mode 100644 index 0000000000000000000000000000000000000000..a86cff07edad8151363a9b098f7588e32b3c89d8 Binary files /dev/null and b/ui/ui-frontend/projects/pastis/src/assets/pastis-marseille_blue_crop.jpg differ diff --git a/ui/ui-frontend/projects/pastis/src/assets/pastis7.png b/ui/ui-frontend/projects/pastis/src/assets/pastis7.png new file mode 100644 index 0000000000000000000000000000000000000000..f61fd5b4c12c11ff4d54aabb1d72ba32c28d164b Binary files /dev/null and b/ui/ui-frontend/projects/pastis/src/assets/pastis7.png differ diff --git a/ui/ui-frontend/projects/pastis/src/assets/profile_background.png b/ui/ui-frontend/projects/pastis/src/assets/profile_background.png new file mode 100644 index 0000000000000000000000000000000000000000..e78e96b2a1650e4dd38bdf2a2ffebc5f7c0827ae Binary files /dev/null and b/ui/ui-frontend/projects/pastis/src/assets/profile_background.png differ diff --git a/ui/ui-frontend/projects/pastis/src/assets/seda.json b/ui/ui-frontend/projects/pastis/src/assets/seda.json new file mode 100644 index 0000000000000000000000000000000000000000..5107c6cc7301aebf9a100fec4aca1de23bd31659 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/seda.json @@ -0,0 +1,12985 @@ +[ + { + "Name": "ArchiveTransfer", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Transfert d'archives.", + "Collection": "Entête", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "Comment", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Commentaire sur la transaction.", + "Collection": "Entête", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "Date", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date du message.", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "MessageIdentifier", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du message.", + "Collection": "Entête", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "Signature", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Signature du message.", + "Collection": "Entête", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "ArchivalAgreement", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Accord de service.", + "Collection": "Entête", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "CodeListVersions", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Listes de codes de références utilisés dans le message.", + "Collection": "Entête", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "ReplyCodeListVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste des codes de réponses à utiliser.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "MessageDigestAlgorithmCodeListVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste de l'algorithme de hachage utilisé dans le message.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "MimeTypeCodeListVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de code du type Mime.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "EncodingCodeListVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de code d'encodage du fichier.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "FileFormatCodeListVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de code d'identification du format.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "CompressionAlgorithmCodeListVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de code de l'algorithme de compression.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "DataObjectVersionCodeListVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste de codes correspondant aux diverses versions d'un objet-données au sein d\u2019un groupe d'objets-données (ex. original papier, conservation, diffusion, vignette, txt).", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "StorageRuleCodeListVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version des listes de codes pour les règles de durée d'utilité courante.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "AppraisalRuleCodeListVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version des listes de codes pour les règles de durée d'utilité administrative.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "AccessRuleCodeListVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version des listes de codes pour les règles de communicabilité.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "DisseminationRuleCodeListVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version des listes de codes pour les règles de diffusion.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "ReuseRuleCodeListVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version des listes de codes pour les règles de réutilisation.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "ClassificationRuleCodeListVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version des listes de codes pour les règles de classification.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "AcquisitionInformationCodeListVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de codes des modalités d'entrée.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "AuthorizationReasonCodeListVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de codes d'autorisation.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "RelationshipCodeListVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de codes des relations.", + "Collection": "Entête", + "Children": [ + { + "Name": "listID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + } + ] + }, + { + "Name": "DataObjectPackage", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Objets-données échangés dans le message.", + "Collection": "Objets", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectGroup", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "BinaryDataObject", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc de métadonnées techniques des objets-données numériques. Le caractère facultatif est requis afin de permettre le transfert d'un plan de classement sans DataObject joint.", + "Collection": "Objets", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectSystemId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectGroupSystemId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux groupes d'objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Relationship", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier un lien technique entre un objet-données et une signature.", + "Collection": "Objets", + "Children": [ + { + "Name": "target", + "Element": "Attribute", + "Cardinality": "1", + "Type": "NCName", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "type", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Référence à un Identifiant du groupe d'objets-données DataObjectVersionGroup.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectGroupId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Identifiant du groupe d'objets-données DataObjectVersionGroup (première et unique définition).", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version d\u2019un objet-données (par exemple : original papier, conservation, diffusion, vignette, txt, \u2026).", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Attachment", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "base64Binary", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Objet-données (contenu binaire ou fichier joint).", + "Collection": "Objets", + "Children": [ + { + "Name": "filename", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "uri", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Uri", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'URI spécifie où se trouve l'objet-données numérique. Peut correspondre à un chemin relatif.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "MessageDigest", + "Element": "Simple", + "Cardinality": "1", + "Type": "base64Binary", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Empreinte de l'objet-données.", + "Collection": "Objets", + "Children": [ + { + "Name": "algorithm", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Size", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "positiveInteger", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier la taille de l'objet-données en octet.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Compressed", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si l\u2019objet-données est compressé et doit être décompressé.", + "Collection": "Objets", + "Children": [ + { + "Name": "algorithm", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "unCompressedSize", + "Element": "Attribute", + "Cardinality": "1", + "Type": "positiveInteger", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "FormatIdentification", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identification du format de l'objet-données.", + "Collection": "Objets", + "Children": [ + { + "Name": "FormatLitteral", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Forme littérale du nom du format. Exemple : Microsoft Word Document.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "MimeType", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type Mime associé, potentiellement stable mais pas assez précis. Exemple : application/msword", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "FormatId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type spécifique du format tel que défini dans FormatIdCodeList. Exemple : (Pronom)fmt/40", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Encoding", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Encodage du fichier tel que défini dans EncodingIdCodeList. Exemple : Utf-8", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "FileInfo", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Propriétés techniques génériques du fichier (nom d\u2019origine, logiciel de création, système d\u2019exploitation de création).", + "Collection": "Objets", + "Children": [ + { + "Name": "Filename", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du fichier d'origine.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "CreatingApplicationName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'application utilisée pour créer le fichier.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "CreatingApplicationVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de l'application utilisée pour créer le fichier.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DateCreatedByApplication", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de création du fichier.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "CreatingOs", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Système d\u2019exploitation utilisé pour créer le fichier.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "CreatingOsVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du système d'exploitation utilisé pour créer le fichier.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "LastModified", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de la dernière modification du fichier.", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Metadata", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Propriétés techniques spécifiques du fichier en fonction de sa nature technique (texte, document, image, audio, vidéo, etc.).", + "Collection": "Objets", + "Children": [ + { + "Name": "Text", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type textuel.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Document", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type document.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Image", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type image.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Audio", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type audio.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Video", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type vidéo.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + } + ] + }, + { + "Name": "OtherMetadata", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Autres métadonnées techniques si celles définies précédemment ne suffisent pas.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + } + ] + }, + { + "Name": "PhysicalDataObject", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Bloc de métadonnées techniques des objets-données physiques.", + "Collection": "Objets", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectSystemId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectGroupSystemId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux groupes d'objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Relationship", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier un lien technique entre un objet-données et une signature.", + "Collection": "Objets", + "Children": [ + { + "Name": "target", + "Element": "Attribute", + "Cardinality": "1", + "Type": "NCName", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "type", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Référence à un Identifiant du groupe d'objets-données DataObjectVersionGroup.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectGroupId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Identifiant du groupe d'objets-données DataObjectVersionGroup (première et unique définition).", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version d\u2019un objet-données (par exemple : original papier, conservation, diffusion, vignette, txt, \u2026).", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "PhysicalId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant physique d\u2019un objet-données physique, externe à celui-ci (ex. code-barres).", + "Collection": "Objets", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "PhysicalDimensions", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Dimensions d'un objet-données physique.", + "Collection": "Objets", + "Children": [ + { + "Name": "Width", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : largeur.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Height", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : hauteur.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Depth", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : profondeur.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Shape", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : forme.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Diameter", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : diamètre.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Length", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : longueur.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Thickness", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : épaisseur.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Weight", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "microgram", + "MC", + "milligram", + "MGM", + "gram", + "GRM", + "kilogram", + "KGM" + ], + "Definition": "Métadonnée de dimension physique : épaisseur.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "NumberOfPage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "int", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : nombre de pages.", + "Collection": "Objets", + "Children": [] + } + ] + } + ] + }, + { + "Name": "LogBook", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion des traces.", + "Collection": "Objets", + "Children": [ + { + "Name": "Event", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "Children": [ + { + "Name": "EventIdentifier", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'événement. Références : premis.eventIdentifier", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "EventTypeCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code du type d'événement.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "EventType", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d'événement.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "EventDateTime", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date et heure de l'événement.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "EventDetail", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur l'événement.", + "Collection": "Objets", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Outcome", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Résultat du traitement.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "OutcomeDetail", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur le résultat du traitement.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "OutcomeDetailMessage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message détaillé sur le résultat du traitement.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "EventDetailData", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message technique détaillant l'erreur.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de faire référence à un objet-donnée binaire ou physique déjà présent dans les métadonnées du bordereau.", + "Collection": "Objets", + "Children": [] + } + ] + } + ] + } + ] + }, + { + "Name": "BinaryDataObject", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc de métadonnées techniques des objets-données numériques. Le caractère facultatif est requis afin de permettre le transfert d'un plan de classement sans DataObject joint.", + "Collection": "Objets", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectSystemId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectGroupSystemId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux groupes d'objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Relationship", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier un lien technique entre un objet-données et une signature.", + "Collection": "Objets", + "Children": [ + { + "Name": "target", + "Element": "Attribute", + "Cardinality": "1", + "Type": "NCName", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "type", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Référence à un Identifiant du groupe d'objets-données DataObjectVersionGroup.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectGroupId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Identifiant du groupe d'objets-données DataObjectVersionGroup (première et unique définition).", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version d\u2019un objet-données (par exemple : original papier, conservation, diffusion, vignette, txt, \u2026).", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Attachment", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "base64Binary", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Objet-données (contenu binaire ou fichier joint).", + "Collection": "Objets", + "Children": [ + { + "Name": "filename", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "uri", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Uri", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'URI spécifie où se trouve l'objet-données numérique. Peut correspondre à un chemin relatif.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "MessageDigest", + "Element": "Simple", + "Cardinality": "1", + "Type": "base64Binary", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Empreinte de l'objet-données.", + "Collection": "Objets", + "Children": [ + { + "Name": "algorithm", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Size", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "positiveInteger", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier la taille de l'objet-données en octet.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Compressed", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si l\u2019objet-données est compressé et doit être décompressé.", + "Collection": "Objets", + "Children": [ + { + "Name": "algorithm", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "unCompressedSize", + "Element": "Attribute", + "Cardinality": "1", + "Type": "positiveInteger", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "FormatIdentification", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identification du format de l'objet-données.", + "Collection": "Objets", + "Children": [ + { + "Name": "FormatLitteral", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Forme littérale du nom du format. Exemple : Microsoft Word Document.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "MimeType", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type Mime associé, potentiellement stable mais pas assez précis. Exemple : application/msword", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "FormatId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type spécifique du format tel que défini dans FormatIdCodeList. Exemple : (Pronom)fmt/40", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Encoding", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Encodage du fichier tel que défini dans EncodingIdCodeList. Exemple : Utf-8", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "FileInfo", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Propriétés techniques génériques du fichier (nom d\u2019origine, logiciel de création, système d\u2019exploitation de création).", + "Collection": "Objets", + "Children": [ + { + "Name": "Filename", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du fichier d'origine.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "CreatingApplicationName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'application utilisée pour créer le fichier.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "CreatingApplicationVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de l'application utilisée pour créer le fichier.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DateCreatedByApplication", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de création du fichier.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "CreatingOs", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Système d\u2019exploitation utilisé pour créer le fichier.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "CreatingOsVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du système d'exploitation utilisé pour créer le fichier.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "LastModified", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de la dernière modification du fichier.", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Metadata", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Propriétés techniques spécifiques du fichier en fonction de sa nature technique (texte, document, image, audio, vidéo, etc.).", + "Collection": "Objets", + "Children": [ + { + "Name": "Text", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type textuel.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Document", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type document.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Image", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type image.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Audio", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type audio.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Video", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type vidéo.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + } + ] + }, + { + "Name": "OtherMetadata", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Autres métadonnées techniques si celles définies précédemment ne suffisent pas.", + "Collection": "Objets", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + } + ] + }, + { + "Name": "PhysicalDataObject", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Bloc de métadonnées techniques des objets-données physiques.", + "Collection": "Objets", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectSystemId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectGroupSystemId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux groupes d'objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Relationship", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier un lien technique entre un objet-données et une signature.", + "Collection": "Objets", + "Children": [ + { + "Name": "target", + "Element": "Attribute", + "Cardinality": "1", + "Type": "NCName", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "type", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Référence à un Identifiant du groupe d'objets-données DataObjectVersionGroup.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectGroupId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Identifiant du groupe d'objets-données DataObjectVersionGroup (première et unique définition).", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "DataObjectVersion", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version d\u2019un objet-données (par exemple : original papier, conservation, diffusion, vignette, txt, \u2026).", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "PhysicalId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant physique d\u2019un objet-données physique, externe à celui-ci (ex. code-barres).", + "Collection": "Objets", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "PhysicalDimensions", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Dimensions d'un objet-données physique.", + "Collection": "Objets", + "Children": [ + { + "Name": "Width", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : largeur.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Height", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : hauteur.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Depth", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : profondeur.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Shape", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : forme.", + "Collection": "Objets", + "Children": [] + }, + { + "Name": "Diameter", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : diamètre.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Length", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : longueur.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Thickness", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : épaisseur.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "Weight", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "decimal", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "microgram", + "MC", + "milligram", + "MGM", + "gram", + "GRM", + "kilogram", + "KGM" + ], + "Definition": "Métadonnée de dimension physique : épaisseur.", + "Collection": "Objets", + "Children": [ + { + "Name": "unit", + "Element": "Attribute", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Objets", + "Children": [] + } + ] + }, + { + "Name": "NumberOfPage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "int", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : nombre de pages.", + "Collection": "Objets", + "Children": [] + } + ] + } + ] + }, + { + "Name": "DescriptiveMetadata", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc de métadonnées descriptives des objets-données.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "ArchiveUnit", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Correspond à la notion de composant en ISAD(G). ArchiveUnit permet à la fois de gérer la hiérarchie intellectuelle, tout en contenant les métadonnées de description et de gestion propres à chaque niveau de description archivistique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'unité d'archives utilisé par exemple dans le cas de multiples héritages, pour savoir quel noeud contient une erreur.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de faire une référence à d'autres ArchiveUnit dans la même transaction.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "ArchiveUnitProfile", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à une partie d'un profil d\u2019archivage applicable à un ArchiveUnit en particulier. Permet par exemple de faire référence à une typologie documentaire dans un profil d'archivage.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Management", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de gestion applicables à l\u2019ArchiveUnit concernée et à ses héritiers.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "StorageRule", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la durée d\u2019utilité courante.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Rule", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de durée d'utilité courante.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle d'utilité courante.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "FinalAction", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "RestrictAccess", + "Transfer", + "Copy" + ], + "Definition": "Action à mettre en œuvre au terme de la durée de gestion.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "AppraisalRule", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la durée d\u2019utilité administrative.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Rule", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de durée d'utilité administrative.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle d'utilité administrative.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "FinalAction", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "Keep", + "Destroy" + ], + "Definition": "Action à mettre en œuvre au terme de la durée de gestion.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "AccessRule", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la communicabilité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Rule", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de communicabilité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de communicabilité.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "DisseminationRule", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la diffusion.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Rule", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de diffusion.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de diffusion.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "ReuseRule", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la réutilisation.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Rule", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de réutilisation.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de réutilisation.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "ClassificationRule", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la classification.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Rule", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de classification.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de classification.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "ClassificationAudience", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de gérer les questions de diffusion restreinte, de spécial France et de Confidentiel Industrie.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "ClassificationLevel", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence au niveau de classification.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "ClassificationOwner", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Propriétaire de la classification. Service émetteur au sens de l\u2019IGI 1300.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "ClassificationReassessingDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de réévaluation de la classification.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "NeedReassessingAuthorization", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "true", + "false" + ], + "Definition": "Indique si une autorisation humaine est nécessaire pour réévaluer la classification.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "LogBook", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion des traces.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Event", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "", + "Collection": "Arborescence", + "Children": [ + { + "Name": "EventIdentifier", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'événement. Références : premis.eventIdentifier", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "EventTypeCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code du type d'événement.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "EventType", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d'événement.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "EventDateTime", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date et heure de l'événement.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "EventDetail", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur l'événement.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Outcome", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Résultat du traitement.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "OutcomeDetail", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur le résultat du traitement.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "OutcomeDetailMessage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message détaillé sur le résultat du traitement.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "EventDetailData", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message technique détaillant l'erreur.", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "NeedAuthorization", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "true", + "false" + ], + "Definition": "Indique si une autorisation humaine est nécessaire pour vérifier ou valider les opérations de gestion des ArchiveUnit.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Content", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description associées à un ArchiveUnit.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "DescriptionLevel", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "Fonds", + "Subfonds", + "Class", + "Collection", + "Series", + "Subseries", + "RecordGrp", + "SubGrp", + "File", + "Item", + "OtherLevel" + ], + "Definition": "Niveau de description au sens de la norme ISAD (G). Indique si l\u2019ArchiveUnit correspond à un fonds, à un sous-fonds, à une classe, à une série organique, à une sous-série organique, à un dossier, à un sous-dossier ou à une pièce. Référence : seda.DescriptionLevel", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Title", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé de l'ArchiveUnit. Références : DC.Title ead.unittitle", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": null, + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "FilePlanPosition", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Position de l\u2019ArchiveUnit dans le plan de classement du service producteur. Références : seda.FilePlanPosition", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "SystemId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets. Il est attribué par le SAE et correspond à un identifiant interne. Références : ARMS", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "OriginatingSystemId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant système attribué à l\u2019ArchiveUnit par l\u2019application du service producteur.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "ArchivalAgencyArchiveUnitIdentifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant métier attribué à l'ArchiveUnit par le service d'archives. Peut être comparé à une cote.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "OriginatingAgencyArchiveUnitIdentifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant métier attribué à l\u2019ArchiveUnit par le service producteur.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "TransferringAgencyArchiveUnitIdentifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué à l'ArchiveUnit par le service versant.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Description", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Description détaillée de l\u2019ArchiveUnit. Correspond à la présentation du contenu au sens de la norme ISAD(G). Références : DC:Documentation", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "CustodialHistory", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Énumère les changements successifs de propriété, de responsabilité et de conservation des ArchiveUnit avant leur entrée dans le lieu de conservation. On peut notamment y indiquer comment s'est effectué le passage de l'application d'origine au fichier archivable. Correspond à l'historique de la conservation en ISAD(G). Références : seda.CustodialHistory", + "Collection": "Arborescence", + "Children": [ + { + "Name": "CustodialHistoryItem", + "Element": "Simple", + "Cardinality": "1-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Description d'une période ou d'un événement précis dans l'historique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "when", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "CustodialHistoryFile", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un fichier de journalisation externe.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Type", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d\u2019information au sens de l\u2019OAIS (information de représentation, information de pérennisation, etc.). Références : seda.DocumentType", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "DocumentType", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type de document au sens diplomatique du terme (ex. compte-rendu de réunion, note, correspondance, etc.). Ne pas confondre avec Type.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Language", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du contenu des objets-données. Références : seda.Language", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DescriptionLanguage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue utilisée pour les informations de représentation et de pérennisation. Références : seda.DescriptionLanguage", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Status", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Etat de l'objet-données (par rapport avec son cycle de vie). Permet par exemple d'indiquer si la signature du fichier a été vérifiée avant le transfert aux archives. Références : seda.Status", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Version", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet d'indiquer quelle est la version du document.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Tag", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Mots-clés ou liste de mots-clés génériques. En ce qui concerne l'indexation, on pourra utiliser Tag ou Keyword en fonction de ce que l'on souhaite décrire.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Keyword", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Mots-clef avec contexte inspiré du SEDA 1.0. En ce qui concerne l'indexation, on pourra utiliser Tag ou Keyword en fonction de ce que l'on souhaite décrire. Références : seda.Keyword", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "KeywordContent", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Valeur du mot-clé. A utiliser avec Keyword.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "KeywordReference", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du mot clé dans un référentiel donné. Par exemple, pour un lieu, il pourrait s'agir de son code officiel géographique selon l'INSEE.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "KeywordType", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "corpname", + "famname", + "geogname", + "name", + "occupation", + "persname", + "subject", + "genreform", + "function" + ], + "Definition": "Type de mot clé.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Coverage", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Couverture spatiale, temporelle ou juridictionnelle de l\u2019ArchiveUnit. Références : DC.Coverage", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Spatial", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Couverture spatiale ou couverture géographique. Références: AGKRMS.spatialCoverage", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Temporal", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Couverture temporelle. Références: AGKRMS.temporalCoverage", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Juridictional", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Juridiction administrative ou ressort administratif. Références: AGKRMS.juridictionalCoverage", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "OriginatingAgency", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Service producteur. Personne physique ou morale, publique ou privée, qui a produit, reçu et conservé des archives dans l'exercice de son activité, Dictionnaire de terminologie archivistique, direction des archives de France, 2002. Références : seda.OriginatingAgency", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "OrganizationDescriptiveMetadata", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description de l'organisation.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "SubmissionAgency", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Service versant responsable du transfert des données. Références : seda.SubmissionAgency", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "OrganizationDescriptiveMetadata", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description de l'organisation.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "AuthorizedAgent", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Titulaire des droits de propriété intellectuelle.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "FirstName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Writer", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Rédacteur de l\u2019ArchiveUnit. Références : interpares.Writer", + "Collection": "Arborescence", + "Children": [ + { + "Name": "FirstName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Addressee", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Destinataire pour action. Utilisé pour indiquer le nom du destinatire par exemple dans un courrier électronique. Références : ARMS.Addressee, Interpares.Addressee", + "Collection": "Arborescence", + "Children": [ + { + "Name": "FirstName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Recipient", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Destinataire pour information. Utilisé pour indiquer le nom du destinatire en copie, pour information, par exemple dans un courrier électronique. Références : Interpares.Recipient", + "Collection": "Arborescence", + "Children": [ + { + "Name": "FirstName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Transmitter", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Emetteur du message.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "FirstName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Sender", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Expéditeur du message.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "FirstName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Source", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En cas de substitution numérique, permet de faire référence au papier.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "RelatedObjectReference", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet faisant ou ne faisant pas partie du présent paquet d'information.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "IsVersionOf", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Est une partie de. Cette relation permet d'indique qu'un objet est une partie d'un autre.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "NCName", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence externe.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Replaces", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Remplace. Cette relation permet d'indiquer les objets remplacés par le niveau courant de description. DC.Relation.replaces", + "Collection": "Arborescence", + "Children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "NCName", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence externe.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Requires", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Requiert. Cette relation permet d'indiquer les objets nécessaire à la compréhension du niveau courant de description. Références : DC.Relation.requires", + "Collection": "Arborescence", + "Children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "NCName", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence externe.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "IsPartOf", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Est une partie de. Cette relation permet d'indique qu'un objet est une partie d'un autre. Références : DC.Relation.isPartOf", + "Collection": "Arborescence", + "Children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "NCName", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence externe.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "References", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence. Cette relation permet d'indiquer qu'un objet en référence un autre. DC.Relation.references", + "Collection": "Arborescence", + "Children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "NCName", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence externe.", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "CreatedDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de création. Références : ARKMS.DateCreated", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "TransactedDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de la transaction. Références : ARKMS.DateTransacted", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "AcquiredDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de numérisation. Références : ARKMS.DateAcquired", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "SentDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date d'envoi.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "ReceivedDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de réception.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "RegisteredDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date d'enregistrement. Références : ARMS.DateDeclared", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date d'ouverture / date de début. Références : AGKRMS.StartDate", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "EndDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de fermeture / Date de fin. Références : AGKRMS.EndDate", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Event", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection": "Arborescence", + "Children": [ + { + "Name": "EventIdentifier", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'événement. Références : premis.eventIdentifier", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "EventTypeCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code du type d'événement.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "EventType", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d'événement.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "EventDateTime", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date et heure de l'événement.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "EventDetail", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur l'événement.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Outcome", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Résultat du traitement.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "OutcomeDetail", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur le résultat du traitement.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "OutcomeDetailMessage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message détaillé sur le résultat du traitement.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "EventDetailData", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message technique détaillant l'erreur.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Signature", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Contient toutes les informations relatives à la signature.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Signer", + "Element": "Complex", + "Cardinality": "1-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Signataire(s) de la transaction ou de l'objet. Références : premis.signer", + "Collection": "Arborescence", + "Children": [ + { + "Name": "FirstName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "SigningTime", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de signature.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Validator", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Validateur de la signature.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "FirstName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "Geogname", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "City", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "ValidationTime", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de la validation de la signature.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "Masterdata", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référentiel des personnes et des organisations au moment de la vérification de la signature et de sa validation.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "listID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + }, + { + "Name": "ReferencedObject", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à l'objet signé.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "SignedObjectId", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'objet-données signé.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "SignedObjectDigest", + "Element": "Simple", + "Cardinality": "1", + "Type": "base64Binary", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Empreinte obligatoire jusqu'au processus de versement pour assurer la portabilité de la valeur probante. Le SAE peut ne pas la conserver si l'on considère que l'identifiant de l'objet correspondant suffit. Ce procédé permet de résister au temps lorsque les informations binaires du paquet seront converties au gré des opérations de préservation de la lisibilité des formats. Au cours de ces opérations, l'identifiant ne changera pas, contrairement au format dufichier et donc à son empreinte.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "algorithm", + "Element": "Attribute", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + } + ] + }, + { + "Name": "Gps", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Coordonnées gps complétées ou vérifiées par un utilisateur. Fait référence à des coordonnées traitées par un utilisateur et non à des coordonnées captées.", + "Collection": "Arborescence", + "Children": [ + { + "Name": "GpsVersionID", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version du GPS.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "GpsAltitude", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique l'altitude basée sur la référence dans GPSAltitudeRef. L'altitude est exprimée en mètres.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "GpsAltitudeRef", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique l'altitude utilisée comme altitude de référence. Si l'altitude est au dessus du niveau de la mer, la valeur 0 est normalement donnée. Si l'altitude est au-dessous du niveau de la mer, la veleur 1 est normalement donnée.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "GpsLatitude", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "La latitude peut être exprimée de deux manières différentes : 1)degrés, décimaux ou 2)degrés, minutes et secondes. 1)Si la latitude est exprimée en degrés, décimaux, le format type est dd, dd. Par ex: 45.3130339. 2)Si la latitude est exprimée en degrés, minutes et secondes, le format type est dd, mm, ss. Par ex: 45 18 46.922.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "GpsLatitudeRef", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si la latitude est nord ou sud. La valeur 'N' indique la latitude nord, et 'S' indique la latitude sud.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "GpsLongitude", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "La longitude peut être exprimée de deux manières différentes : 1)degrés, décimaux ou 2)degrés, minutes et secondes. 1)Si la longitude est exprimée en degrés, décimaux, le format type est dd, dd. Par ex: 5.392285833333334. 2)Si la longitude est exprimée en degrés, minutes et secondes, le format type est dd, mm, ss. Par ex: 5 23 32.229.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "GpsLongitudeRef", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si la longitude est est ou ouest. La valeur 'E' indique la longitude est, et 'W' indique la longitude Ouest.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "GpsDateStamp", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Heure et Date de la position GPS.", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "ArchiveUnit", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "yes", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Gestion de la récursivité. Une ArchiveUnit peut être contenu dans une autre ArchiveUnit.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection": "Arborescence", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + } + ] + }, + { + "Name": "ManagementMetadata", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Bloc des métadonnées de gestion par défaut des objets-données.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "ArchivalProfile", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Profil d\u2019archivage applicable aux ArchiveUnit.", + "Collection": "Règles", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "ServiceLevel", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Niveau de service applicable aux unités d\u2019archives.", + "Collection": "Règles", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "AcquisitionInformation", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Modalités d'entrée des archives.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "LegalStatus", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "Public Archive", + "Private Archive", + "Public and Private Archive" + ], + "Definition": "Statut des archives échangées.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "OriginatingAgencyIdentifier", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du service producteur - information de gestion à ne pas confondre avec OriginatingAgency dans les métadonnées de description.", + "Collection": "Règles", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "SubmissionAgencyIdentifier", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du service versant - information de gestion à ne pas confondre avec SubmissionAgency dans les métadonnées de description.", + "Collection": "Règles", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "StorageRule", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la durée d\u2019utilité courante.", + "Collection": "Règles", + "Children": [ + { + "Name": "Rule", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de durée d'utilité courante.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle d'utilité courante.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "FinalAction", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "RestrictAccess", + "Transfer", + "Copy" + ], + "Definition": "Action à mettre en œuvre au terme de la durée de gestion.", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "AppraisalRule", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la durée d'utilité administrative.", + "Collection": "Règles", + "Children": [ + { + "Name": "Rule", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de durée d'utilité administrative.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle d'utilité administrative.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "FinalAction", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "Keep", + "Destroy" + ], + "Definition": "Action à mettre en œuvre au terme de la durée de gestion.", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "AccessRule", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la communicabilité.", + "Collection": "Règles", + "Children": [ + { + "Name": "Rule", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de communicabilité.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de communicabilité.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + } + ] + } + ] + }, + { + "Name": "DisseminationRule", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la diffusion.", + "Collection": "Règles", + "Children": [ + { + "Name": "Rule", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de diffusion.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de diffusion.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + } + ] + } + ] + }, + { + "Name": "ReuseRule", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la réutilisation.", + "Collection": "Règles", + "Children": [ + { + "Name": "Rule", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de réutilisation.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de réutilisation.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + } + ] + } + ] + }, + { + "Name": "ClassificationRule", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la classification.", + "Collection": "Règles", + "Children": [ + { + "Name": "Rule", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de classification.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de classification.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "ClassificationAudience", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de gérer les questions de diffusion restreinte, de spécial France et de Confidentiel Industrie.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [ + "false", + "true" + ], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection": "Règles", + "Children": [ + { + "Name": "id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "ClassificationLevel", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence au niveau de classification.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "ClassificationOwner", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Propriétaire de la classification. Service émetteur au sens de l\u2019IGI 1300.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "ClassificationReassessingDate", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de réévaluation de la classification.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "NeedReassessingAuthorization", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "true", + "false" + ], + "Definition": "Indique si une autorisation humaine est nécessaire pour réévaluer la classification.", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "LogBook", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion des traces.", + "Collection": "Règles", + "Children": [ + { + "Name": "Event", + "Element": "Complex", + "Cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "", + "Collection": "Règles", + "Children": [ + { + "Name": "EventIdentifier", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'événement. Références : premis.eventIdentifier", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "EventTypeCode", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code du type d'événement.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "EventType", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d'événement.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "EventDateTime", + "Element": "Simple", + "Cardinality": "1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date et heure de l'événement.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "EventDetail", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur l'événement.", + "Collection": "Règles", + "Children": [ + { + "Name": "xml:lang", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Règles", + "Children": [] + } + ] + }, + { + "Name": "Outcome", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Résultat du traitement.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "OutcomeDetail", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur le résultat du traitement.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "OutcomeDetailMessage", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message détaillé sur le résultat du traitement.", + "Collection": "Règles", + "Children": [] + }, + { + "Name": "EventDetailData", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message technique détaillant l'erreur.", + "Collection": "Règles", + "Children": [] + } + ] + } + ] + }, + { + "Name": "NeedAuthorization", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "true", + "false" + ], + "Definition": "Indique si une autorisation humaine est nécessaire pour vérifier ou valider les opérations de gestion des ArchiveUnit.", + "Collection": "Règles", + "Children": [] + } + ] + } + ] + }, + { + "Name": "RelatedTransferReference", + "Element": "Simple", + "Cardinality": "0-N", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant d'un transfert associé.", + "Collection": "Entête", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "TransferRequestReplyIdentifier", + "Element": "Simple", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la réponse à une demande de transfert.", + "Collection": "Entête", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "ArchivalAgency", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Service d'archives responsable du transfert.", + "Collection": "Entête", + "Children": [ + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation.", + "Collection": "Entête", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "OrganizationDescriptiveMetadata", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description de l'organisation.", + "Collection": "Entête", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + }, + { + "Name": "TransferringAgency", + "Element": "Complex", + "Cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Service versant chargé de réaliser le transport.", + "Collection": "Entête", + "Children": [ + { + "Name": "Identifier", + "Element": "Simple", + "Cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation.", + "Collection": "Entête", + "Children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "Children": [] + } + ] + }, + { + "Name": "OrganizationDescriptiveMetadata", + "Element": "Complex", + "Cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description de l'organisation.", + "Collection": "Entête", + "Children": [ + { + "Name": "xlink:href", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + }, + { + "Name": "xml:id", + "Element": "Attribute", + "Cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Arborescence", + "Children": [] + } + ] + } + ] + } + ] + } +] \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/seda_lower.json b/ui/ui-frontend/projects/pastis/src/assets/seda_lower.json new file mode 100644 index 0000000000000000000000000000000000000000..25ecd49a8e3c2bd5fff62508db4d43cb3fb6d612 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/seda_lower.json @@ -0,0 +1,13676 @@ +[ + { + "Name": "ArchiveTransfer", + "Element": "Complex", + "cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Transfert d'archives.", + "Collection": "Entête", + "children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "Entête", + "children": [] + }, + { + "Name": "Comment", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Commentaire sur la transaction.", + "Collection" : "Entête", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "Date", + "Element": "Simple", + "cardinality": "1", + "Type": "dateTime", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date du message.", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "MessageIdentifier", + "Element": "Simple", + "cardinality": "1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du message.", + "Collection" : "Entête", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "Signature", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Signature du message.", + "Collection" : "Entête", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "ArchivalAgreement", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Accord de service.", + "Collection" : "Entête", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "CodeListVersions", + "Element": "Complex", + "cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Listes de codes de références utilisés dans le message.", + "Collection" : "Entête", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "ReplyCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste des codes de réponses à utiliser.", + "Collection" : "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "MessageDigestAlgorithmCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste de l'algorithme de hachage utilisé dans le message.", + "Collection" : "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "MimeTypeCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de code du type Mime.", + "Collection" : "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "EncodingCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de code d'encodage du fichier.", + "Collection" : "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "FileFormatCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de code d'identification du format.", + "Collection" : "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "CompressionAlgorithmCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de code de l'algorithme de compression.", + "Collection" : "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "DataObjectVersionCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Liste de codes correspondant aux diverses versions d'un objet-données au sein d\u2019un groupe d'objets-données (ex. original papier, conservation, diffusion, vignette, txt).", + "Collection" : "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "StorageRuleCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version des listes de codes pour les règles de durée d'utilité courante.", + "Collection" : "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "AppraisalRuleCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version des listes de codes pour les règles de durée d'utilité administrative.", + "Collection" : "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "AccessRuleCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version des listes de codes pour les règles de communicabilité.", + "Collection" : "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "DisseminationRuleCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version des listes de codes pour les règles de diffusion.", + "Collection" : "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "ReuseRuleCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version des listes de codes pour les règles de réutilisation.", + "Collection" : "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "ClassificationRuleCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version des listes de codes pour les règles de classification.", + "Collection" : "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "AcquisitionInformationCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de codes des modalités d'entrée.", + "Collection" : "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "AuthorizationReasonCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de codes d'autorisation.", + "Collection" : "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "RelationshipCodeListVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de la liste de codes des relations.", + "Collection" : "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "OtherCodeListAbstract", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Permet d'ajouter de nouvelles listes de codes si l'ajout d'autres métadonnées l'impose.", + "Collection" : "Entête", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + } + ] + }, + { + "Name": "DataObjectPackage", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Objets-données échangés dans le message.", + "Collection": "Objets", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection": "", + "children": [] + }, + { + "Name": "DataObjectGroup", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "1", + "Type": "GroupIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "BinaryDataObject", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc de métadonnées techniques des objets-données numériques. Le caractère facultatif est requis afin de permettre le transfert d'un plan de classement sans DataObject joint.", + "Collection" : "Objets", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "1", + "Type": "DataObjectIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DataObjectSystemId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DataObjectGroupSystemId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux groupes d'objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "Relationship", + "Element": "Simple", + "cardinality": "0-N", + "Type": "RelationshipType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier un lien technique entre un objet-données et une signature.", + "Collection" : "Objets", + "_children": [ + { + "Name": "target", + "Element": "Attribute", + "cardinality": "1", + "Type": "IDREF", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "type", + "Element": "Attribute", + "cardinality": "1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Référence à un Identifiant du groupe d'objets-données DataObjectVersionGroup.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DataObjectGroupId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Identifiant du groupe d'objets-données DataObjectVersionGroup (première et unique définition).", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DataObjectVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "VersionIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version d\u2019un objet-données (par exemple : original papier, conservation, diffusion, vignette, txt, \u2026).", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "Attachment", + "Element": "Simple", + "cardinality": "0-1", + "Type": "BinaryObjectType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Objet-données (contenu binaire ou fichier joint).", + "Collection" : "Objets", + "_children": [ + { + "Name": "filename", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "uri", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Uri", + "Element": "Simple", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'URI spécifie où se trouve l'objet-données numérique. Peut correspondre à un chemin relatif.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "MessageDigest", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MessageDigestBinaryObjectType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Empreinte de l'objet-données.", + "Collection" : "Objets", + "_children": [ + { + "Name": "algorithm", + "Element": "Attribute", + "cardinality": "1", + "Type": "DigestAlgorithmCodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Size", + "Element": "Simple", + "cardinality": "0-1", + "Type": "SizeInBytesType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier la taille de l'objet-données en octet.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "Compressed", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CompressedType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si l\u2019objet-données est compressé et doit être décompressé.", + "Collection" : "Objets", + "_children": [ + { + "Name": "algorithm", + "Element": "Attribute", + "cardinality": "1", + "Type": "CompressionAlgorithmType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "unCompressedSize", + "Element": "Attribute", + "cardinality": "1", + "Type": "SizeInBytesType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "FormatIdentification", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identification du format de l'objet-données.", + "Collection" : "Objets", + "_children": [ + { + "Name": "FormatLitteral", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Forme littérale du nom du format. Exemple : Microsoft Word Document.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "MimeType", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MimeTypeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type Mime associé, potentiellement stable mais pas assez précis. Exemple : application/msword", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "FormatId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "FileFormatType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type spécifique du format tel que défini dans FormatIdCodeList. Exemple : (Pronom)fmt/40", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "Encoding", + "Element": "Simple", + "cardinality": "0-1", + "Type": "EncodingType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Encodage du fichier tel que défini dans EncodingIdCodeList. Exemple : Utf-8", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "FileInfo", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Propriétés techniques génériques du fichier (nom d\u2019origine, logiciel de création, système d\u2019exploitation de création).", + "Collection" : "Objets", + "_children": [ + { + "Name": "Filename", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du fichier d'origine.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "CreatingApplicationName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'application utilisée pour créer le fichier.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "CreatingApplicationVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de l'application utilisée pour créer le fichier.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DateCreatedByApplication", + "Element": "Simple", + "cardinality": "0-1", + "Type": "dateTime", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de création du fichier.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "CreatingOs", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Système d\u2019exploitation utilisé pour créer le fichier.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "CreatingOsVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du système d'exploitation utilisé pour créer le fichier.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "LastModified", + "Element": "Simple", + "cardinality": "0-1", + "Type": "dateTime", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de la dernière modification du fichier.", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Metadata", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Propriétés techniques spécifiques du fichier en fonction de sa nature technique (texte, document, image, audio, vidéo, etc.).", + "Collection" : "Objets", + "_children": [ + { + "Name": "Text", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type textuel.", + "Collection" : "Objets", + "children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Document", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type document.", + "Collection" : "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Image", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type image.", + "Collection" : "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Audio", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type audio.", + "Collection" : "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Video", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type vidéo.", + "Collection" : "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "OtherCoreTechnicalMetadataAbstract", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Contient toutes les métadonnées techniques de base pour d'autres types.", + "Collection" : "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + } + ] + }, + { + "Name": "OtherMetadata", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Autres métadonnées techniques si celles définies précédemment ne suffisent pas.", + "Collection" : "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "null", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "null", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + } + ] + }, + { + "Name": "PhysicalDataObject", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc de métadonnées techniques des objets-données physiques.", + "Collection" : "Objets", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "1", + "Type": "DataObjectIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DataObjectSystemId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DataObjectGroupSystemId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux groupes d'objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "Relationship", + "Element": "Simple", + "cardinality": "0-N", + "Type": "RelationshipType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier un lien technique entre un objet-données et une signature.", + "Collection" : "Objets", + "_children": [ + { + "Name": "target", + "Element": "Attribute", + "cardinality": "1", + "Type": "IDREF", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "type", + "Element": "Attribute", + "cardinality": "1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Référence à un Identifiant du groupe d'objets-données DataObjectVersionGroup.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DataObjectGroupId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Identifiant du groupe d'objets-données DataObjectVersionGroup (première et unique définition).", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DataObjectVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "VersionIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version d\u2019un objet-données (par exemple : original papier, conservation, diffusion, vignette, txt, \u2026).", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "PhysicalId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant physique d\u2019un objet-données physique, externe à celui-ci (ex. code-barres).", + "Collection" : "Objets", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "PhysicalDimensions", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Dimensions d'un objet-données physique.", + "Collection" : "Objets", + "_children": [ + { + "Name": "Width", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : largeur.", + "Collection" : "Objets", + "children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Height", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : hauteur.", + "Collection" : "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Depth", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : profondeur.", + "Collection" : "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Shape", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : forme.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "Diameter", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : diamètre.", + "Collection" : "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Length", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : longueur.", + "Collection" : "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Thickness", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : épaisseur.", + "Collection" : "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Weight", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementWeightType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "microgram", + "MC", + "milligram", + "MGM", + "gram", + "GRM", + "kilogram", + "KGM" + ], + "Definition": "Métadonnée de dimension physique : épaisseur.", + "Collection" : "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementWeightUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "NumberOfPage", + "Element": "Simple", + "cardinality": "0-1", + "Type": "int", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : nombre de pages.", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "OtherDimensionsAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Permet d'étendre <OtherDimensions> avec d'autres métadonnées de description des objets-données physiques.", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "LogBook", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion des traces.", + "Collection" : "Objets", + "_children": [ + { + "Name": "Event", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection" : "Objets", + "_children": [ + { + "Name": "EventIdentifier", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'événement. Références : premis.eventIdentifier", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "EventTypeCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code du type d'événement.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "EventType", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d'événement.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "EventDateTime", + "Element": "Simple", + "cardinality": "1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date et heure de l'événement.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "EventDetail", + "Element": "Simple", + "cardinality": "0-1", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur l'événement.", + "Collection" : "Objets", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Outcome", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Résultat du traitement.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "OutcomeDetail", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur le résultat du traitement.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "OutcomeDetailMessage", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message détaillé sur le résultat du traitement.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "EventDetailData", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message technique détaillant l'erreur.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "EventAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Permet d'ajouter de nouveaux types d'événements dans l'ontologie.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DataObjectRefIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de faire référence à un objet-donnée binaire ou physique déjà présent dans les métadonnées du bordereau.", + "Collection" : "Objets", + "children": [] + } + ] + } + ] + } + ] + }, + { + "Name": "BinaryDataObject", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc de métadonnées techniques des objets-données numériques. Le caractère facultatif est requis afin de permettre le transfert d'un plan de classement sans DataObject joint.", + "Collection" : "Objets", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "1", + "Type": "DataObjectIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DataObjectSystemId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DataObjectGroupSystemId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux groupes d'objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "Relationship", + "Element": "Simple", + "cardinality": "0-N", + "Type": "RelationshipType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier un lien technique entre un objet-données et une signature.", + "Collection" : "Objets", + "_children": [ + { + "Name": "target", + "Element": "Attribute", + "cardinality": "1", + "Type": "IDREF", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "type", + "Element": "Attribute", + "cardinality": "1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Référence à un Identifiant du groupe d'objets-données DataObjectVersionGroup.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DataObjectGroupId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Identifiant du groupe d'objets-données DataObjectVersionGroup (première et unique définition).", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DataObjectVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "VersionIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version d\u2019un objet-données (par exemple : original papier, conservation, diffusion, vignette, txt, \u2026).", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "Attachment", + "Element": "Simple", + "cardinality": "0-1", + "Type": "BinaryObjectType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Objet-données (contenu binaire ou fichier joint).", + "Collection" : "Objets", + "_children": [ + { + "Name": "filename", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "uri", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Uri", + "Element": "Simple", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'URI spécifie où se trouve l'objet-données numérique. Peut correspondre à un chemin relatif.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "MessageDigest", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MessageDigestBinaryObjectType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Empreinte de l'objet-données.", + "Collection" : "Objets", + "_children": [ + { + "Name": "algorithm", + "Element": "Attribute", + "cardinality": "1", + "Type": "DigestAlgorithmCodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Size", + "Element": "Simple", + "cardinality": "0-1", + "Type": "SizeInBytesType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier la taille de l'objet-données en octet.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "Compressed", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CompressedType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si l\u2019objet-données est compressé et doit être décompressé.", + "Collection" : "Objets", + "_children": [ + { + "Name": "algorithm", + "Element": "Attribute", + "cardinality": "1", + "Type": "CompressionAlgorithmType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "unCompressedSize", + "Element": "Attribute", + "cardinality": "1", + "Type": "SizeInBytesType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "FormatIdentification", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identification du format de l'objet-données.", + "Collection" : "Objets", + "_children": [ + { + "Name": "FormatLitteral", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Forme littérale du nom du format. Exemple : Microsoft Word Document.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "MimeType", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MimeTypeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type Mime associé, potentiellement stable mais pas assez précis. Exemple : application/msword", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "FormatId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "FileFormatType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type spécifique du format tel que défini dans FormatIdCodeList. Exemple : (Pronom)fmt/40", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "Encoding", + "Element": "Simple", + "cardinality": "0-1", + "Type": "EncodingType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Encodage du fichier tel que défini dans EncodingIdCodeList. Exemple : Utf-8", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "FileInfo", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Propriétés techniques génériques du fichier (nom d\u2019origine, logiciel de création, système d\u2019exploitation de création).", + "Collection" : "Objets", + "_children": [ + { + "Name": "Filename", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom du fichier d'origine.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "CreatingApplicationName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de l'application utilisée pour créer le fichier.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "CreatingApplicationVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version de l'application utilisée pour créer le fichier.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DateCreatedByApplication", + "Element": "Simple", + "cardinality": "0-1", + "Type": "dateTime", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de création du fichier.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "CreatingOs", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Système d\u2019exploitation utilisé pour créer le fichier.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "CreatingOsVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version du système d'exploitation utilisé pour créer le fichier.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "LastModified", + "Element": "Simple", + "cardinality": "0-1", + "Type": "dateTime", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de la dernière modification du fichier.", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Metadata", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Propriétés techniques spécifiques du fichier en fonction de sa nature technique (texte, document, image, audio, vidéo, etc.).", + "Collection" : "Objets", + "_children": [ + { + "Name": "Text", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type textuel.", + "Collection" : "Objets", + "children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Document", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type document.", + "Collection" : "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Image", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type image.", + "Collection" : "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Audio", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type audio.", + "Collection" : "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Video", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées pour un objet-données de type vidéo.", + "Collection" : "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "OtherCoreTechnicalMetadataAbstract", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Contient toutes les métadonnées techniques de base pour d'autres types.", + "Collection" : "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + } + ] + }, + { + "Name": "OtherMetadata", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Autres métadonnées techniques si celles définies précédemment ne suffisent pas.", + "Collection" : "Objets", + "_children": [ + { + "Name": "href", + "Element": "Attribute", + "cardinality": "null", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "ID", + "Element": "Attribute", + "cardinality": "null", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + } + ] + }, + { + "Name": "PhysicalDataObject", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc de métadonnées techniques des objets-données physiques.", + "Collection" : "Objets", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "1", + "Type": "DataObjectIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DataObjectSystemId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DataObjectGroupSystemId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux groupes d'objets de données. Il est attribué par le SAE et correspond à un identifiant interne.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "Relationship", + "Element": "Simple", + "cardinality": "0-N", + "Type": "RelationshipType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de spécifier un lien technique entre un objet-données et une signature.", + "Collection" : "Objets", + "_children": [ + { + "Name": "target", + "Element": "Attribute", + "cardinality": "1", + "Type": "IDREF", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "type", + "Element": "Attribute", + "cardinality": "1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Référence à un Identifiant du groupe d'objets-données DataObjectVersionGroup.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DataObjectGroupId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Groupe d\u2019objets-données (numériques ou physiques), correspondant aux différentes versions d\u2019un même objet intellectuellement unique. Chaque version peut être par exemple : original papier, version de conservation, version de diffusion, version vignette, version texte ascii\u2026 Lorsqu'un objet-donnée fait partie d'un groupe, le référencement dans les ArchiveUnit ne peut se faire que via ce groupe(DataObjectGroupId). Identifiant du groupe d'objets-données DataObjectVersionGroup (première et unique définition).", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "DataObjectVersion", + "Element": "Simple", + "cardinality": "0-1", + "Type": "VersionIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Version d\u2019un objet-données (par exemple : original papier, conservation, diffusion, vignette, txt, \u2026).", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "PhysicalId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant physique d\u2019un objet-données physique, externe à celui-ci (ex. code-barres).", + "Collection" : "Objets", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "PhysicalDimensions", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Dimensions d'un objet-données physique.", + "Collection" : "Objets", + "_children": [ + { + "Name": "Width", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : largeur.", + "Collection" : "Objets", + "children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Height", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : hauteur.", + "Collection" : "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Depth", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : profondeur.", + "Collection" : "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Shape", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : forme.", + "Collection" : "Objets", + "children": [] + }, + { + "Name": "Diameter", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : diamètre.", + "Collection" : "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Length", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : longueur.", + "Collection" : "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Thickness", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : épaisseur.", + "Collection" : "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "micrometre", + "4H", + "millimetre", + "MMT", + "centimetre", + "CMT", + "metre", + "inch", + "INH", + "foot", + "FOT" + ], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "Weight", + "Element": "Simple", + "cardinality": "0-1", + "Type": "MeasurementWeightType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "microgram", + "MC", + "milligram", + "MGM", + "gram", + "GRM", + "kilogram", + "KGM" + ], + "Definition": "Métadonnée de dimension physique : épaisseur.", + "Collection" : "Objets", + "_children": [ + { + "Name": "unit", + "Element": "Attribute", + "cardinality": "1", + "Type": "MeasurementWeightUnitsType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "NumberOfPage", + "Element": "Simple", + "cardinality": "0-1", + "Type": "int", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnée de dimension physique : nombre de pages.", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "OtherDimensionsAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Permet d'étendre <OtherDimensions> avec d'autres métadonnées de description des objets-données physiques.", + "Collection" : "Objets", + "children": [] + } + ] + }, + { + "Name": "DescriptiveMetadata", + "Element": "Complex", + "cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc de métadonnées descriptives des objets-données.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "ArchiveUnit", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Correspond à la notion de composant en ISAD(G). ArchiveUnit permet à la fois de gérer la hiérarchie intellectuelle, tout en contenant les métadonnées de description et de gestion propres à chaque niveau de description archivistique.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "1", + "Type": "ArchiveUnitidType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'unité d'archives utilisé par exemple dans le cas de multiples héritages, pour savoir quel noeud contient une erreur.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "ArchiveUnitRefIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de faire une référence à d'autres ArchiveUnit dans la même transaction.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "ArchiveUnitProfile", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à une partie d'un profil d\u2019archivage applicable à un ArchiveUnit en particulier. Permet par exemple de faire référence à une typologie documentaire dans un profil d'archivage.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Management", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Métadonnées de gestion applicables à l\u2019ArchiveUnit concernée et à ses héritiers.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "StorageRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la durée d\u2019utilité courante.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de durée d'utilité courante.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle d'utilité courante.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "FinalAction", + "Element": "Simple", + "cardinality": "1", + "Type": "FinalActionStorageCodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "RestrictAccess", + "Transfer", + "Copy" + ], + "Definition": "Action à mettre en œuvre au terme de la durée de gestion.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "AppraisalRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "AppraisalRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la durée d\u2019utilité administrative.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de durée d'utilité administrative.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle d'utilité administrative.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "FinalAction", + "Element": "Simple", + "cardinality": "1", + "Type": "FinalActionAppraisalCodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "Keep", + "Destroy" + ], + "Definition": "Action à mettre en œuvre au terme de la durée de gestion.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "AccessRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "AccessRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la communicabilité.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de communicabilité.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de communicabilité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "DisseminationRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "DisseminationRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la diffusion.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de diffusion.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de diffusion.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "ReuseRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "ReuseRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la réutilisation.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de réutilisation.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de réutilisation.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "ClassificationRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "ClassificationRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la classification.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de classification.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de classification.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "ClassificationAudience", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de gérer les questions de diffusion restreinte, de spécial France et de Confidentiel Industrie.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "ClassificationLevel", + "Element": "Simple", + "cardinality": "1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence au niveau de classification.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "ClassificationOwner", + "Element": "Simple", + "cardinality": "1", + "Type": "NonEmptyTokenType", + "Enumeration": [], + "Definition": "Propriétaire de la classification. Service émetteur au sens de l\u2019IGI 1300.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "ClassificationReassessingDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de réévaluation de la classification.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "NeedReassessingAuthorization", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si une autorisation humaine est nécessaire pour réévaluer la classification.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "LogBook", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion des traces.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Event", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection" : "Arborescence", + "children": [ + { + "Name": "EventIdentifier", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'événement. Références : premis.eventIdentifier", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "EventTypeCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code du type d'événement.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "EventType", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d'événement.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "EventDateTime", + "Element": "Simple", + "cardinality": "1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date et heure de l'événement.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "EventDetail", + "Element": "Simple", + "cardinality": "0-1", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur l'événement.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Outcome", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Résultat du traitement.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "OutcomeDetail", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur le résultat du traitement.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "OutcomeDetailMessage", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message détaillé sur le résultat du traitement.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "EventDetailData", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message technique détaillant l'erreur.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "EventAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Permet d'ajouter de nouveaux types d'événements dans l'ontologie.", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "NeedAuthorization", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si une autorisation humaine est nécessaire pour vérifier ou valider les opérations de gestion des ArchiveUnit.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "OtherManagementAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Utilisé par exemple pour manipuler un ArchiveUnit déjà existant dans le système d'archivage électronique.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Content", + "Element": "Complex", + "cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description associées à un ArchiveUnit.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "DescriptionLevel", + "Element": "Simple", + "cardinality": "0-1", + "Type": "LevelType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "Fonds", + "Subfonds", + "Class", + "Collection", + "Series", + "Subseries", + "RecordGrp", + "SubGrp", + "File", + "Item", + "OtherLevel" + ], + "Definition": "Niveau de description au sens de la norme ISAD (G). Indique si l\u2019ArchiveUnit correspond à un fonds, à un sous-fonds, à une classe, à une série organique, à une sous-série organique, à un dossier, à un sous-dossier ou à une pièce. Référence : seda.DescriptionLevel", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Title", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé de l'ArchiveUnit. Références : DC.Title ead.unittitle", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "FilePlanPosition", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Position de l\u2019ArchiveUnit dans le plan de classement du service producteur. Références : seda.FilePlanPosition", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "SystemId", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué aux objets. Il est attribué par le SAE et correspond à un identifiant interne. Références : ARMS", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "OriginatingSystemId", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant système attribué à l\u2019ArchiveUnit par l\u2019application du service producteur.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "ArchivalAgencyArchiveUnitIdentifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant métier attribué à l'ArchiveUnit par le service d'archives. Peut être comparé à une cote.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "OriginatingAgencyArchiveUnitIdentifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant métier attribué à l\u2019ArchiveUnit par le service producteur.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "TransferringAgencyArchiveUnitIdentifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant attribué à l'ArchiveUnit par le service versant.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Description", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Description détaillée de l\u2019ArchiveUnit. Correspond à la présentation du contenu au sens de la norme ISAD(G). Références : DC:Documentation", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "CustodialHistory", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Énumère les changements successifs de propriété, de responsabilité et de conservation des ArchiveUnit avant leur entrée dans le lieu de conservation. On peut notamment y indiquer comment s'est effectué le passage de l'application d'origine au fichier archivable. Correspond à l'historique de la conservation en ISAD(G). Références : seda.CustodialHistory", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "CustodialHistoryItem", + "Element": "Simple", + "cardinality": "1-N", + "Type": "CustodialHistoryItemType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Description d'une période ou d'un événement précis dans l'historique.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "when", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "CustodialHistoryFile", + "Element": "Complex", + "cardinality": "0-1", + "Type": "DataObjectRefType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un fichier de journalisation externe.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DataObjectRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Type", + "Element": "Simple", + "cardinality": "0-1", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d\u2019information au sens de l\u2019OAIS (information de représentation, information de pérennisation, etc.). Références : seda.DocumentType", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DocumentType", + "Element": "Simple", + "cardinality": "0-1", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type de document au sens diplomatique du terme (ex. compte-rendu de réunion, note, correspondance, etc.). Ne pas confondre avec Type.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Language", + "Element": "Simple", + "cardinality": "0-N", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue du contenu des objets-données. Références : seda.Language", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DescriptionLanguage", + "Element": "Simple", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Langue utilisée pour les informations de représentation et de pérennisation. Références : seda.DescriptionLanguage", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Status", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Etat de l'objet-données (par rapport avec son cycle de vie). Permet par exemple d'indiquer si la signature du fichier a été vérifiée avant le transfert aux archives. Références : seda.Status", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Version", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet d'indiquer quelle est la version du document.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Tag", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Mots-clés ou liste de mots-clés génériques. En ce qui concerne l'indexation, on pourra utiliser Tag ou Keyword en fonction de ce que l'on souhaite décrire.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Keyword", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Mots-clef avec contexte inspiré du SEDA 1.0. En ce qui concerne l'indexation, on pourra utiliser Tag ou Keyword en fonction de ce que l'on souhaite décrire. Références : seda.Keyword", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "KeywordContent", + "Element": "Simple", + "cardinality": "1", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Valeur du mot-clé. A utiliser avec Keyword.", + "Collection" : "Arborescence", + "children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "KeywordReference", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du mot clé dans un référentiel donné. Par exemple, pour un lieu, il pourrait s'agir de son code officiel géographique selon l'INSEE.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "KeywordType", + "Element": "Simple", + "cardinality": "0-1", + "Type": "KeyType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "corpname", + "famname", + "geogname", + "name", + "occupation", + "persname", + "subject", + "genreform", + "function" + ], + "Definition": "Type de mot clé.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Coverage", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Couverture spatiale, temporelle ou juridictionnelle de l\u2019ArchiveUnit. Références : DC.Coverage", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Spatial", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Couverture spatiale ou couverture géographique. Références: AGKRMS.spatialCoverage", + "Collection" : "Arborescence", + "children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Temporal", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Couverture temporelle. Références: AGKRMS.temporalCoverage", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Juridictional", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Juridiction administrative ou ressort administratif. Références: AGKRMS.juridictionalCoverage", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "OriginatingAgency", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Service producteur. Personne physique ou morale, publique ou privée, qui a produit, reçu et conservé des archives dans l'exercice de son activité, Dictionnaire de terminologie archivistique, direction des archives de France, 2002. Références : seda.OriginatingAgency", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation.", + "Collection" : "Arborescence", + "children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "OrganizationDescriptiveMetadata", + "Element": "Complex", + "cardinality": "0-1", + "Type": "OrganizationDescriptiveMetadataType", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description de l'organisation.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "SubmissionAgency", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Service versant responsable du transfert des données. Références : seda.SubmissionAgency", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "OrganizationDescriptiveMetadata", + "Element": "Complex", + "cardinality": "0-1", + "Type": "OrganizationDescriptiveMetadataType", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description de l'organisation.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "AgentAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet d'ajouter de nouveaux types d'agents dans l'ontologie.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "FirstName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "AuthorizedAgent", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Titulaire des droits de propriété intellectuelle.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "FirstName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Writer", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Rédacteur de l\u2019ArchiveUnit. Références : interpares.Writer", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "FirstName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Addressee", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Destinataire pour action. Utilisé pour indiquer le nom du destinatire par exemple dans un courrier électronique. Références : ARMS.Addressee, Interpares.Addressee", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "FirstName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Recipient", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Destinataire pour information. Utilisé pour indiquer le nom du destinatire en copie, pour information, par exemple dans un courrier électronique. Références : Interpares.Recipient", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "FirstName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Transmitter", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Emetteur du message.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "FirstName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection" : "Arborescence", + "children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection" : "Arborescence", + "children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Sender", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Expéditeur du message.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "FirstName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection" : "Arborescence", + "_children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Source", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En cas de substitution numérique, permet de faire référence au papier.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "RelatedObjectReference", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet faisant ou ne faisant pas partie du présent paquet d'information.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "IsVersionOf", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Est une partie de. Cette relation permet d'indique qu'un objet est une partie d'un autre.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "ArchiveUnitRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection" : "Arborescence", + "children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DataObjectRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence externe.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Replaces", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Remplace. Cette relation permet d'indiquer les objets remplacés par le niveau courant de description. DC.Relation.replaces", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "ArchiveUnitRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DataObjectRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence externe.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Requires", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Requiert. Cette relation permet d'indiquer les objets nécessaire à la compréhension du niveau courant de description. Références : DC.Relation.requires", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "ArchiveUnitRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection" : "Arborescence", + "children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DataObjectRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence externe.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "IsPartOf", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Est une partie de. Cette relation permet d'indique qu'un objet est une partie d'un autre. Références : DC.Relation.isPartOf", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "ArchiveUnitRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DataObjectRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence externe.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "References", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence. Cette relation permet d'indiquer qu'un objet en référence un autre. DC.Relation.references", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "ArchiveUnitRefId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "ArchiveUnitRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit interne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection" : "Arborescence", + "children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DataObjectRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "RepositoryArchiveUnitPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un ArchiveUnit déjà conservé dans un système d'archivage.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "RepositoryObjectPID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un un objet-données ou à un groupe d'objets-données déjà conservé(s) dans un système d'archivage.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "ExternalReference", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence externe.", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "CreatedDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de création. Références : ARKMS.DateCreated", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "TransactedDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de la transaction. Références : ARKMS.DateTransacted", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "AcquiredDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de numérisation. Références : ARKMS.DateAcquired", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "SentDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date d'envoi.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "ReceivedDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de réception.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "RegisteredDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date d'enregistrement. Références : ARMS.DateDeclared", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date d'ouverture / date de début. Références : AGKRMS.StartDate", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "EndDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de fermeture / Date de fin. Références : AGKRMS.EndDate", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Event", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "EventIdentifier", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'événement. Références : premis.eventIdentifier", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "EventTypeCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code du type d'événement.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "EventType", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d'événement.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "EventDateTime", + "Element": "Simple", + "cardinality": "1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date et heure de l'événement.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "EventDetail", + "Element": "Simple", + "cardinality": "0-1", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur l'événement.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Outcome", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Résultat du traitement.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "OutcomeDetail", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur le résultat du traitement.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "OutcomeDetailMessage", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message détaillé sur le résultat du traitement.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "EventDetailData", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message technique détaillant l'erreur.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "EventAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Permet d'ajouter de nouveaux types d'événements dans l'ontologie.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Signature", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Contient toutes les informations relatives à la signature.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Signer", + "Element": "Complex", + "cardinality": "1-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Signataire(s) de la transaction ou de l'objet. Références : premis.signer", + "Collection" : "Arborescence", + "children": [ + { + "Name": "FirstName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection" : "Arborescence", + "children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection" : "Arborescence", + "children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "SigningTime", + "Element": "Simple", + "cardinality": "1", + "Type": "dateTime", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de signature.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Validator", + "Element": "Complex", + "cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Validateur de la signature.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "FirstName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Prénom d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom de naissance d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "FullName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom complet d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "GivenName", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'usage d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Gender", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Sexe de la personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de naissance de la personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "BirthPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de naissance de la personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "DeathDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de décès d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DeathPlace", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Lieu de décès d'une personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "Geogname", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Nom géographique. Références : ead.geogname", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Address", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Adresse. Références : ead.address", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "PostalCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Code postal.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "City", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Ville.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Region", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Région.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Country", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Pays.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Nationality", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nationalité d'une personne.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Corpname", + "Element": "Simple", + "cardinality": "1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Nom d'une entité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "0-N", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la personne (par exemple, le numéro matricule) ou de l'entité.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "ValidationTime", + "Element": "Simple", + "cardinality": "1", + "Type": "dateTime", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de la validation de la signature.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "Function", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Fonction.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Activity", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "En plus des balises Tag et Keyword, il est possible d'indexer les objets avec des éléments pré-définis : Activité.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Position", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Intitulé du poste de travail occupé par la personne.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Enumeration": [], + "Definition": "null", + "Choice": "no", + "Extensible": "no", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Role", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Droits avec lesquels un utilisateur a réalisé une opération, notamment dans une application. Références : moreq.role", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Enumeration": [], + "Definition": "null", + "Choice": "no", + "Extensible": "no", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "Mandate", + "Element": "Simple", + "cardinality": "0-N", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Définit la propriété intellectuelle et artistique.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + }, + { + "Name": "Masterdata", + "Element": "Simple", + "cardinality": "0-1", + "Type": "CodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référentiel des personnes et des organisations au moment de la vérification de la signature et de sa validation.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "listID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "listAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "listAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "listName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "listVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "name", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "languageID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "language", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "listURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "listSchemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "ReferencedObject", + "Element": "Complex", + "cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à l'objet signé.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "SignedObjectId", + "Element": "Simple", + "cardinality": "1", + "Type": "DataObjectRefIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'objet-données signé.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "SignedObjectDigest", + "Element": "Simple", + "cardinality": "1", + "Type": "MessageDigestBinaryObjectType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Empreinte obligatoire jusqu'au processus de versement pour assurer la portabilité de la valeur probante. Le SAE peut ne pas la conserver si l'on considère que l'identifiant de l'objet correspondant suffit. Ce procédé permet de résister au temps lorsque les informations binaires du paquet seront converties au gré des opérations de préservation de la lisibilité des formats. Au cours de ces opérations, l'identifiant ne changera pas, contrairement au format dufichier et donc à son empreinte.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "algorithm", + "Element": "Attribute", + "cardinality": "1", + "Type": "DigestAlgorithmCodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + } + ] + }, + { + "Name": "Gps", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Coordonnées gps complétées ou vérifiées par un utilisateur. Fait référence à des coordonnées traitées par un utilisateur et non à des coordonnées captées.", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "GpsVersionID", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la version du GPS.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "GpsAltitude", + "Element": "Simple", + "cardinality": "0-1", + "Type": "integer", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique l'altitude basée sur la référence dans GPSAltitudeRef. L'altitude est exprimée en mètres.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "GpsAltitudeRef", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique l'altitude utilisée comme altitude de référence. Si l'altitude est au dessus du niveau de la mer, la valeur 0 est normalement donnée. Si l'altitude est au-dessous du niveau de la mer, la veleur 1 est normalement donnée.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "GpsLatitude", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "La latitude peut être exprimée de deux manières différentes : 1)degrés, décimaux ou 2)degrés, minutes et secondes. 1)Si la latitude est exprimée en degrés, décimaux, le format type est dd, dd. Par ex: 45.3130339. 2)Si la latitude est exprimée en degrés, minutes et secondes, le format type est dd, mm, ss. Par ex: 45 18 46.922.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "GpsLatitudeRef", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si la latitude est nord ou sud. La valeur 'N' indique la latitude nord, et 'S' indique la latitude sud.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "GpsLongitude", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "La longitude peut être exprimée de deux manières différentes : 1)degrés, décimaux ou 2)degrés, minutes et secondes. 1)Si la longitude est exprimée en degrés, décimaux, le format type est dd, dd. Par ex: 5.392285833333334. 2)Si la longitude est exprimée en degrés, minutes et secondes, le format type est dd, mm, ss. Par ex: 5 23 32.229.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "GpsLongitudeRef", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si la longitude est est ou ouest. La valeur 'E' indique la longitude est, et 'W' indique la longitude Ouest.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "GpsDateStamp", + "Element": "Simple", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Heure et Date de la position GPS.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "ObjectGroupExtenstionAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Permet d'étendre ObjectGroup avec d'autres métadonnées descriptives.", + "Collection" : "Arborescence", + "children": [] + } + ] + }, + { + "Name": "ArchiveUnit", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la récursivité. Une ArchiveUnit peut être contenu dans une ature ArchiveUnit.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "ArchiveUnitReferenceAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Contient les requêtes nécessaires pour trouver un ArchiveUnit et pointer sur lui dans un prochain ArchiveUnit. Permet de référencer un noeud déjà existant dans un arbre à partir d'un transfert précédent.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReference", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données ou à un groupe d'objets-données interne(s).", + "Collection" : "Arborescence", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "DataObjectRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un objet-données listé dans les métadonnées de transport.", + "Collection" : "Arborescence", + "children": [] + }, + { + "Name": "DataObjectGroupReferenceId", + "Element": "Simple", + "cardinality": "0-1", + "Type": "GroupRefIdType", + "Choice": "yes", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à un groupe d'objets-données listé dans les métadonnées de transport.", + "Collection" : "Arborescence", + "children": [] + } + ] + } + ] + } + ] + }, + { + "Name": "ManagementMetadata", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Bloc des métadonnées de gestion par défaut des objets-données.", + "Collection" : "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "ArchivalProfile", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Profil d\u2019archivage applicable aux ArchiveUnit.", + "Collection" : "Règles", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + } + ] + }, + { + "Name": "ServiceLevel", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Niveau de service applicable aux unités d\u2019archives.", + "Collection" : "Règles", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + } + ] + }, + { + "Name": "AcquisitionInformation", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Modalités d'entrée des archives.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "LegalStatus", + "Element": "Simple", + "cardinality": "0-1", + "Type": "LegalStatusType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "Public Archive", + "Private Archive", + "Public and Private Archive" + ], + "Definition": "Statut des archives échangées.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "OriginatingAgencyIdentifier", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du service producteur - information de gestion à ne pas confondre avec OriginatingAgency dans les métadonnées de description.", + "Collection" : "Règles", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + } + ] + }, + { + "Name": "SubmissionAgencyIdentifier", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant du service versant - information de gestion à ne pas confondre avec SubmissionAgency dans les métadonnées de description.", + "Collection" : "Règles", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + } + ] + }, + { + "Name": "StorageRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la durée d\u2019utilité courante.", + "Collection" : "Règles", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de durée d'utilité courante.", + "Collection" : "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle d'utilité courante.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection" : "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + } + ] + }, + { + "Name": "FinalAction", + "Element": "Simple", + "cardinality": "1", + "Type": "FinalActionStorageCodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "RestrictAccess", + "Transfer", + "Copy" + ], + "Definition": "Action à mettre en œuvre au terme de la durée de gestion.", + "Collection" : "Règles", + "children": [] + } + ] + }, + { + "Name": "AppraisalRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "AppraisalRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la durée d'utilité administrative.", + "Collection" : "Règles", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de durée d'utilité administrative.", + "Collection" : "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle d'utilité administrative.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection" : "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + } + ] + }, + { + "Name": "FinalAction", + "Element": "Simple", + "cardinality": "1", + "Type": "FinalActionAppraisalCodeType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [ + "Keep", + "Destroy" + ], + "Definition": "Action à mettre en œuvre au terme de la durée de gestion.", + "Collection" : "Règles", + "children": [] + } + ] + }, + { + "Name": "AccessRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "AccessRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la communicabilité.", + "Collection" : "Règles", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de communicabilité.", + "Collection" : "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de communicabilité.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection" : "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + } + ] + } + ] + }, + { + "Name": "DisseminationRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "DisseminationRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la diffusion.", + "Collection" : "Règles", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de diffusion.", + "Collection" : "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de diffusion.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection" : "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + } + ] + } + ] + }, + { + "Name": "ReuseRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "ReuseRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la réutilisation.", + "Collection" : "Règles", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de réutilisation.", + "Collection" : "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de réutilisation.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection" : "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + } + ] + } + ] + }, + { + "Name": "ClassificationRule", + "Element": "Complex", + "cardinality": "0-1", + "Type": "ClassificationRuleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion de la classification.", + "Collection" : "Règles", + "_children": [ + { + "Name": "Rule", + "Element": "Simple", + "cardinality": "1", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence à la règle de classification.", + "Collection" : "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + } + ] + }, + { + "Name": "StartDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de départ de calcul de la règle de classification.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "ClassificationAudience", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Permet de gérer les questions de diffusion restreinte, de spécial France et de Confidentiel Industrie.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "PreventInheritance", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si les règles de gestion héritées des ArchiveUnit parents doivent être ignorées pour l\u2019ArchiveUnit concerné.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "RefNonRuleId", + "Element": "Simple", + "cardinality": "1-N", + "Type": "RuleIdType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "L'identifiant de la règle spécifiée pourra être retirée de l'héritage dans ce noeud.", + "Collection" : "Règles", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + } + ] + }, + { + "Name": "ClassificationLevel", + "Element": "Simple", + "cardinality": "1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Référence au niveau de classification.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "ClassificationOwner", + "Element": "Simple", + "cardinality": "1", + "Type": "NonEmptyTokenType", + "Enumeration": [], + "Definition": "Propriétaire de la classification. Service émetteur au sens de l\u2019IGI 1300.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "ClassificationReassessingDate", + "Element": "Simple", + "cardinality": "0-1", + "Type": "date", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date de réévaluation de la classification.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "NeedReassessingAuthorization", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si une autorisation humaine est nécessaire pour réévaluer la classification.", + "Collection" : "Règles", + "children": [] + } + ] + }, + { + "Name": "LogBook", + "Element": "Complex", + "cardinality": "0-1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Gestion des traces.", + "Collection" : "Règles", + "_children": [ + { + "Name": "Event", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "", + "Collection" : "Règles", + "_children": [ + { + "Name": "EventIdentifier", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'événement. Références : premis.eventIdentifier", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "EventTypeCode", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Code du type d'événement.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "EventType", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Type d'événement.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "EventDateTime", + "Element": "Simple", + "cardinality": "1", + "Type": "DateType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Date et heure de l'événement.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "EventDetail", + "Element": "Simple", + "cardinality": "0-1", + "Type": "TextType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur l'événement.", + "Collection" : "Règles", + "_children": [ + { + "Name": "lang", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anySimpleType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Règles", + "children": [] + } + ] + }, + { + "Name": "Outcome", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Résultat du traitement.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "OutcomeDetail", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Détail sur le résultat du traitement.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "OutcomeDetailMessage", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message détaillé sur le résultat du traitement.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "EventDetailData", + "Element": "Simple", + "cardinality": "0-1", + "Type": "NonEmptyTokenType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Message technique détaillant l'erreur.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "EventAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Permet d'ajouter de nouveaux types d'événements dans l'ontologie.", + "Collection" : "Règles", + "children": [] + } + ] + } + ] + }, + { + "Name": "NeedAuthorization", + "Element": "Simple", + "cardinality": "0-1", + "Type": "boolean", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Indique si une autorisation humaine est nécessaire pour vérifier ou valider les opérations de gestion des ArchiveUnit.", + "Collection" : "Règles", + "children": [] + }, + { + "Name": "OtherManagementAbstract", + "Element": "Complex", + "cardinality": "0-N", + "Type": "null", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Utilisé par exemple pour manipuler un ArchiveUnit déjà existant dans le système d'archivage électronique.", + "Collection" : "Règles", + "children": [] + } + ] + } + ] + }, + { + "Name": "RelatedTransferReference", + "Element": "Simple", + "cardinality": "0-N", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant d\u2019un transfert associé.", + "Collection" : "Entête", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "TransferRequestReplyIdentifier", + "Element": "Simple", + "cardinality": "0-1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de la réponse à une demande de transfert.", + "Collection" : "Entête", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "ArchivalAgency", + "Element": "Complex", + "cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Service d'archives responsable du transfert.", + "Collection" : "Entête", + "_children": [ + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation.", + "Collection" : "Entête", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "OrganizationDescriptiveMetadata", + "Element": "Simple", + "cardinality": "0-1", + "Type": "OrganizationDescriptiveMetadataType", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description de l'organisation.", + "Collection" : "Entête", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + } + ] + }, + { + "Name": "TransferringAgency", + "Element": "Complex", + "cardinality": "1", + "Type": "null", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Service versant chargé de réaliser le transport.", + "Collection" : "Entête", + "_children": [ + { + "Name": "Identifier", + "Element": "Simple", + "cardinality": "1", + "Type": "IdentifierType", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "Identifiant de l'organisation.", + "Collection" : "Entête", + "_children": [ + { + "Name": "schemeID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeAgencyID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeAgencyName", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "string", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeVersionID", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "token", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeDataURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "schemeURI", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + }, + { + "Name": "OrganizationDescriptiveMetadata", + "Element": "Simple", + "cardinality": "0-1", + "Type": "OrganizationDescriptiveMetadataType", + "Choice": "no", + "Extensible": "yes", + "Enumeration": [], + "Definition": "Métadonnées de description de l'organisation.", + "Collection" : "Entête", + "_children": [ + { + "Name": "id", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "ID", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + }, + { + "Name": "href", + "Element": "Attribute", + "cardinality": "0-1", + "Type": "anyURI", + "Choice": "no", + "Extensible": "no", + "Enumeration": [], + "Definition": "null", + "Collection" : "Entête", + "children": [] + } + ] + } + ] + } + ] + } +] diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/attribute_icon.png b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/attribute_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..904ce440887841928c194a74dc40ad1757d40ef0 Binary files /dev/null and b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/attribute_icon.png differ diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/check.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/check.svg new file mode 100644 index 0000000000000000000000000000000000000000..61a081f1ecb4761c1b15f0410e322fd0a2c7a8cd --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/check.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#65B2E4" width="18px" height="18px"><path d="M0 0h24v24H0z" fill="none"/><path d="M9 16.17L4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z"/></svg> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/close-popup.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/close-popup.svg new file mode 100644 index 0000000000000000000000000000000000000000..7cd9d1f3c933ae47e99bb2f083e3418ad439e543 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/close-popup.svg @@ -0,0 +1,4 @@ +<svg width="22" height="23" viewBox="0 0 22 23" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M21 1.11914L1 21.1959" stroke="#444444" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> +<path d="M1 1.11914L21 21.1959" stroke="#444444" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/close-sidenav.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/close-sidenav.svg new file mode 100644 index 0000000000000000000000000000000000000000..d0c1a163af28e1d365c5b3e8d48f0e27408f6759 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/close-sidenav.svg @@ -0,0 +1,17 @@ +<svg width="28" height="30" viewBox="0 0 28 30" fill="none" xmlns="http://www.w3.org/2000/svg"> +<g filter="url(#filter0_d)"> +<path d="M23 3L5 21" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> +<path d="M5 3L23 21" stroke="white" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/> +</g> +<defs> +<filter id="filter0_d" x="0" y="2" width="28" height="28" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB"> +<feFlood flood-opacity="0" result="BackgroundImageFix"/> +<feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0"/> +<feOffset dy="4"/> +<feGaussianBlur stdDeviation="2"/> +<feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0"/> +<feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow"/> +<feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow" result="shape"/> +</filter> +</defs> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element-white.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element-white.svg new file mode 100644 index 0000000000000000000000000000000000000000..d94c0a363de10f49d55b3154e228f8df13122afe --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element-white.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="19" height="19" viewBox="0 0 19 19" fill="white"> +<line x1="5.5" y1="9.99951" x2="5.5" y2="15.9995" stroke="#747272"/> +<line x1="18.5" y1="15.4993" x2="5.5" y2="15.4993" stroke="#747272" stroke-linecap="round" stroke-linejoin="round"/> +<rect x="10.5" y="12.501" width="6" height="6.00006" rx="0.5" fill="white" stroke="#747272"/> +<rect x="0.5" y="0.5" width="10" height="10" rx="0.5" stroke="#747272"/> +</svg> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element-white2.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element-white2.svg new file mode 100644 index 0000000000000000000000000000000000000000..49462e4e0c9e13a79c556f3fcb33d951d9cd28ad --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element-white2.svg @@ -0,0 +1,10 @@ +<svg width="23" height="20" viewBox="0 0 23 20" fill="none" xmlns="http://www.w3.org/2000/svg"> +<rect x="11.0264" y="13.1316" width="6.36842" height="6.36842" rx="0.5" stroke="#9D9D9D"/> +<rect x="0.5" y="0.5" width="10.5789" height="10.5789" rx="0.5" stroke="#9D9D9D"/> +<rect x="5" y="11" width="1" height="5" fill="#9D9D9D"/> +<rect x="5" y="11" width="1" height="5" fill="#9D9D9D"/> +<path d="M11 16L11 17L6 17C5.44772 17 5 16.5523 5 16L11 16Z" fill="#9D9D9D"/> +<path d="M11 16L11 17L6 17C5.44772 17 5 16.5523 5 16L11 16Z" fill="#9D9D9D"/> +<path d="M22.5 16C22.7761 16 23 16.2239 23 16.5C23 16.7761 22.7761 17 22.5 17L17 17L17 16L22.5 16Z" fill="#9D9D9D"/> +<path d="M22.5 16C22.7761 16 23 16.2239 23 16.5C23 16.7761 22.7761 17 22.5 17L17 17L17 16L22.5 16Z" fill="#9D9D9D"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element.png b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element.png new file mode 100644 index 0000000000000000000000000000000000000000..59aebd23aa64e6a9bc58048e7abe4f9c1a3cf06f Binary files /dev/null and b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element.png differ diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element.svg new file mode 100644 index 0000000000000000000000000000000000000000..acc611bcc452c7072ad26b470ad37993925cb39a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex-element.svg @@ -0,0 +1,6 @@ +<svg xmlns="http://www.w3.org/2000/svg" width="19" height="19" viewBox="0 0 19 19" fill="none"> +<line x1="5.5" y1="9.99951" x2="5.5" y2="15.9995" stroke="#9D9D9D"/> +<line x1="18.5" y1="15.4993" x2="5.5" y2="15.4993" stroke="#9D9D9D" stroke-linecap="round" stroke-linejoin="round"/> +<rect x="10.5" y="12.501" width="6" height="6.00006" rx="0.5" fill="white" stroke="#9D9D9D"/> +<rect x="0.5" y="0.5" width="10" height="10" rx="0.5" stroke="#9D9D9D"/> +</svg> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex_icon.png b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..7c8b06be03552d13c684116ca9aae33e83db41c6 Binary files /dev/null and b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/complex_icon.png differ diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/drop-box-arrow.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/drop-box-arrow.svg new file mode 100644 index 0000000000000000000000000000000000000000..36998486c329c6d4304e2f4b236303bcb2fae05d --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/drop-box-arrow.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="#65B2E4" width="18px" height="18px"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 5.83L15.17 9l1.41-1.41L12 3 7.41 7.59 8.83 9 12 5.83zm0 12.34L8.83 15l-1.41 1.41L12 21l4.59-4.59L15.17 15 12 18.17z"/></svg> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/info-black.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/info-black.svg new file mode 100644 index 0000000000000000000000000000000000000000..76859fe7ed67b7415c0a1a493fe4b04b094d1fb5 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/info-black.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="black" width="18px" height="18px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/></svg> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/info-white.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/info-white.svg new file mode 100644 index 0000000000000000000000000000000000000000..740fef6fad242ff68fd159bd34be48a5e6bd0a0c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/info-white.svg @@ -0,0 +1 @@ +<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="white" width="18px" height="18px"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/></svg> \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/pastis-picto-retour.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/pastis-picto-retour.svg new file mode 100644 index 0000000000000000000000000000000000000000..a1c3beeb4d25b9e6d023e677d47382d3b6896d3c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/pastis-picto-retour.svg @@ -0,0 +1,4 @@ +<svg width="13" height="13" viewBox="0 0 13 13" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M1.12695 6.74365L11.597 6.74365" stroke="#65B2E4" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> +<path d="M6.1395 1.60576L1.125 6.74026L6.1395 11.8748" stroke="#65B2E4" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/plus-blue.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/plus-blue.svg new file mode 100644 index 0000000000000000000000000000000000000000..5dac03f8d448225a7d5d020de795157b76b416dd --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/plus-blue.svg @@ -0,0 +1,3 @@ +<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM17 13H13V17H11V13H7V11H11V7H13V11H17V13Z" fill="#65B2E4"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/plus-grey.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/plus-grey.svg new file mode 100644 index 0000000000000000000000000000000000000000..389929e1fbe8f758056675d044c6ca5cd17ff551 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/plus-grey.svg @@ -0,0 +1,3 @@ +<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M12 2C6.48 2 2 6.48 2 12C2 17.52 6.48 22 12 22C17.52 22 22 17.52 22 12C22 6.48 17.52 2 12 2ZM17 13H13V17H11V13H7V11H11V7H13V11H17V13Z" fill="#A3A3A3"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/save.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/save.svg new file mode 100644 index 0000000000000000000000000000000000000000..dcdfd76552562572c7d2c2f860718ee39e5c1482 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/save.svg @@ -0,0 +1,5 @@ +<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path d="M2 19V4C2 2.89543 2.89543 2 4 2H16.0429C16.1755 2 16.3027 2.05268 16.3964 2.14645L20.8536 6.60355C20.9473 6.69732 21 6.8245 21 6.95711V19C21 20.1046 20.1046 21 19 21H4C2.89543 21 2 20.1046 2 19Z" stroke="white" stroke-linejoin="round"/> +<circle cx="11.8955" cy="15.0625" r="3.5625" stroke="white"/> +<path d="M4.85059 5.35327C4.85059 5.07713 5.07444 4.85327 5.35059 4.85327H14.8006C15.0767 4.85327 15.3006 5.07713 15.3006 5.35327V9.10327C15.3006 9.37941 15.0767 9.60327 14.8006 9.60327H5.35059C5.07444 9.60327 4.85059 9.37941 4.85059 9.10327V5.35327Z" stroke="white" stroke-linecap="round" stroke-linejoin="round"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/setting.svg b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/setting.svg new file mode 100644 index 0000000000000000000000000000000000000000..fa351277c6d9849b79a705ca68f982cbb7773d42 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/setting.svg @@ -0,0 +1,4 @@ +<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg"> +<path fill-rule="evenodd" clip-rule="evenodd" d="M12.0001 16.2605C9.54907 16.2605 7.55566 14.2671 7.55566 11.816C7.55566 9.36498 9.551 7.37158 12.0001 7.37158C14.4512 7.37158 16.4446 9.36498 16.4446 11.816C16.4465 14.2671 14.4512 16.2605 12.0001 16.2605ZM12.0007 8.86464C10.3718 8.86464 9.04547 10.191 9.04547 11.8198C9.04547 13.4507 10.3718 14.775 12.0007 14.775C13.6295 14.775 14.9559 13.4487 14.9559 11.8198C14.9578 10.189 13.6314 8.86464 12.0007 8.86464Z" fill="#65B2E4"/> +<path fill-rule="evenodd" clip-rule="evenodd" d="M12.0082 22C11.5689 22 11.1236 21.9698 10.6843 21.9113C10.3881 21.871 10.1403 21.6635 10.0496 21.3794C9.838 20.7144 9.34833 20.1805 8.70755 19.9124C8.07078 19.6464 7.33528 19.6787 6.7207 19.993C6.45472 20.13 6.13232 20.0998 5.89452 19.9185C5.1973 19.3824 4.57668 18.7598 4.05077 18.0687C3.86942 17.8309 3.8412 17.5105 3.97823 17.2445C4.30064 16.6199 4.33489 15.8985 4.07495 15.2658C3.81501 14.633 3.28101 14.1474 2.61205 13.9318C2.32794 13.8391 2.1224 13.5933 2.08413 13.2971C1.97129 12.4346 1.97129 11.5561 2.08816 10.6856C2.12847 10.3894 2.33601 10.1415 2.62011 10.0508C3.28509 9.83926 3.81904 9.3496 4.08708 8.7068C4.35508 8.06601 4.32485 7.34062 4.00648 6.71995C3.86946 6.45397 3.89968 6.13157 4.08305 5.89377C4.61907 5.19655 5.2417 4.57794 5.93283 4.05002C6.17061 3.86867 6.49098 3.84046 6.75701 3.97748C7.37561 4.29787 8.10306 4.33616 8.73575 4.0742C9.36849 3.81426 9.85411 3.28026 10.0717 2.61131C10.1644 2.32719 10.4102 2.12165 10.7065 2.08339C11.5649 1.97054 12.4495 1.97256 13.3179 2.08742C13.6141 2.12772 13.862 2.33527 13.9527 2.61936C14.1643 3.28434 14.6539 3.8183 15.2947 4.08633C15.9335 4.35231 16.669 4.32007 17.2816 4.00573C17.5476 3.86871 17.8699 3.89893 18.1078 4.08028C18.805 4.6163 19.4256 5.23893 19.9515 5.93007C20.1329 6.16784 20.1611 6.48822 20.024 6.75424C19.7016 7.37888 19.6674 8.1003 19.9273 8.73299C20.1873 9.36573 20.7213 9.85135 21.3902 10.0669C21.6743 10.1596 21.8799 10.4054 21.9181 10.7017C22.031 11.5641 22.031 12.4427 21.9141 13.3132C21.8738 13.6094 21.6663 13.8572 21.3822 13.9479C20.7172 14.1595 20.1832 14.6492 19.9152 15.292C19.6472 15.9327 19.6774 16.6581 19.9958 17.2788C20.1328 17.5448 20.1026 17.8672 19.9192 18.105C19.3832 18.8022 18.7606 19.4208 18.0694 19.9487C17.8317 20.1301 17.5113 20.1583 17.2453 20.0213C16.6267 19.7029 15.8992 19.6646 15.2665 19.9245C14.6358 20.1845 14.1482 20.7185 13.9306 21.3874C13.8379 21.6716 13.592 21.8771 13.2958 21.9154C12.8706 21.9698 12.4374 22 12.0082 22V22ZM11.1872 20.7497C11.6491 20.7857 12.1109 20.7878 12.5728 20.7518C13.0093 19.8323 13.7635 19.1055 14.7021 18.7179C15.6365 18.3322 16.6895 18.3153 17.6471 18.6606C17.9967 18.3619 18.3251 18.0357 18.6281 17.6818C18.287 16.7263 18.3103 15.6754 18.7065 14.7283C19.1006 13.7813 19.8294 13.0228 20.7489 12.5906C20.7849 12.1287 20.787 11.6647 20.751 11.2049C19.8315 10.7685 19.1048 10.0142 18.7171 9.07352C18.3294 8.13492 18.3145 7.08616 18.6599 6.12852C18.3611 5.77894 18.0349 5.45054 17.681 5.14756C16.7276 5.48655 15.6662 5.46113 14.7276 5.06917C13.7805 4.67509 13.022 3.94627 12.5898 3.02887C12.1279 2.99074 11.6661 2.99074 11.2042 3.02675C10.7677 3.94626 10.0135 4.673 9.07486 5.0607C8.14049 5.44631 7.0875 5.46326 6.12986 5.11791C5.78028 5.41664 5.45188 5.7429 5.1489 6.09675C5.49002 7.05228 5.46671 8.10315 5.07051 9.05021C4.67643 9.99728 3.94761 10.7558 3.0281 11.188C2.99208 11.6499 2.98996 12.1138 3.02598 12.5736C3.94549 13.0101 4.67223 13.7643 5.05993 14.705C5.44765 15.6436 5.46248 16.6924 5.11714 17.65C5.41587 17.9996 5.74213 18.328 6.09598 18.631C7.0515 18.292 8.11084 18.3195 9.04944 18.7094C9.99862 19.1035 10.7529 19.8323 11.1872 20.7497Z" fill="#65B2E4"/> +</svg> diff --git a/ui/ui-frontend/projects/pastis/src/assets/svg/icons/simple_icon.png b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/simple_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..daae5b8d4a3e59238bba26e6282ad4715b23f895 Binary files /dev/null and b/ui/ui-frontend/projects/pastis/src/assets/svg/icons/simple_icon.png differ diff --git a/ui/ui-frontend/projects/pastis/src/environments/IEnvironment.ts b/ui/ui-frontend/projects/pastis/src/environments/IEnvironment.ts new file mode 100644 index 0000000000000000000000000000000000000000..b459fa7814387bda232711f2283859c1d828cc10 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/environments/IEnvironment.ts @@ -0,0 +1,41 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +export interface IEnvironment { + production: boolean; + apiServerUrl?: string; +} diff --git a/ui/ui-frontend/projects/pastis/src/environments/environment.dev.ts b/ui/ui-frontend/projects/pastis/src/environments/environment.dev.ts new file mode 100644 index 0000000000000000000000000000000000000000..95c32bc30d61db1db563e83438b49f0de72caee6 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/environments/environment.dev.ts @@ -0,0 +1,43 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import { IEnvironment } from './IEnvironment'; + +export const environment: IEnvironment = { + production: false, + apiServerUrl: "http://localhost:8051", +}; diff --git a/ui/ui-frontend/projects/pastis/src/environments/environment.rec.ts b/ui/ui-frontend/projects/pastis/src/environments/environment.rec.ts new file mode 100644 index 0000000000000000000000000000000000000000..76f441eae8fca81ef79ff70c643bd2aeefe02cc7 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/environments/environment.rec.ts @@ -0,0 +1,43 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import{IEnvironment} from './IEnvironment' + +export const environment: IEnvironment= { + production: false, + apiServerUrl: "http://localhost:8051", +}; diff --git a/ui/ui-frontend/projects/pastis/src/environments/environment.rpm.ts b/ui/ui-frontend/projects/pastis/src/environments/environment.rpm.ts new file mode 100644 index 0000000000000000000000000000000000000000..2b7433cf100bd81200ef1631c6f593385fbfe4e7 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/environments/environment.rpm.ts @@ -0,0 +1,44 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import{IEnvironment} from './IEnvironment' +import * as config from '../assets/config/config.json'; + +export const environment: IEnvironment= { + production: true, + apiServerUrl: config.apiPastisUrl, +}; diff --git a/ui/ui-frontend/projects/pastis/src/environments/environment.ts b/ui/ui-frontend/projects/pastis/src/environments/environment.ts new file mode 100644 index 0000000000000000000000000000000000000000..0a0ec3765aa09300bff5e063fbb3d7c404ccff7b --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/environments/environment.ts @@ -0,0 +1,56 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +// This file can be replaced during build by using the `fileReplacements` array. +// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. +// The list of file replacements can be found in `angular.json`. + +import{IEnvironment} from './IEnvironment' + +export const environment: IEnvironment= { + production: false, + apiServerUrl: "http://localhost:8051" +}; + +/* + * For easier debugging in development mode, you can import the following file + * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. + * + * This import should be commented out in production mode because it will have a negative impact + * on performance if an error is thrown. + */ +// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/ui/ui-frontend/projects/pastis/src/favicon.ico b/ui/ui-frontend/projects/pastis/src/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..e0cfb0943da813c162cd6c15cc88540444f7cf43 Binary files /dev/null and b/ui/ui-frontend/projects/pastis/src/favicon.ico differ diff --git a/ui/ui-frontend/projects/pastis/src/favicon_old.ico b/ui/ui-frontend/projects/pastis/src/favicon_old.ico new file mode 100644 index 0000000000000000000000000000000000000000..8081c7ceaf2be08bf59010158c586170d9d2d517 Binary files /dev/null and b/ui/ui-frontend/projects/pastis/src/favicon_old.ico differ diff --git a/ui/ui-frontend/projects/pastis/src/index.html b/ui/ui-frontend/projects/pastis/src/index.html new file mode 100644 index 0000000000000000000000000000000000000000..29935c3cdd62d65ac173653c6ab61064de52ad55 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/index.html @@ -0,0 +1,28 @@ +<!doctype html> +<html lang="en"> +<head> + <meta charset="utf-8"> + <title>Pastis</title> + <base href="/"> + <meta name="viewport" content="width=device-width, initial-scale=1.0"> + <link rel="icon" type="image/x-icon" href="./favicon.ico"> + <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500" rel="stylesheet"> + <link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet"> + <link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500&display=swap" rel="stylesheet"> +</head> +<body> + <script src="//cdnjs.cloudflare.com/ajax/libs/d3/3.4.10/d3.min.js"></script> + <script src="./assets/js/class-diagram.js"></script> + <script src="./assets/js/multiline-text.js"></script> + <app-root></app-root> +</body> +<script> + // Used for fix aspect zoom ratio of page + //if(window.devicePixelRatio >= 1 ) + //var body = document.getElementsByTagName("BODY")[0]; + //var newZoomRatio = 100 - ((window.devicePixelRatio * 100) - 100) + '%' + //body.style.setProperty('zoom', newZoomRatio); + //console.error("new devicePixelRatio is : " , devicePixelRatio); + //body.classList.addClass("zoom2x") +</script> +</html> diff --git a/ui/ui-frontend/projects/pastis/src/main.ts b/ui/ui-frontend/projects/pastis/src/main.ts new file mode 100644 index 0000000000000000000000000000000000000000..7b22a63b2359f43741faa1562e4b4e1d6acbb945 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/main.ts @@ -0,0 +1,50 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +import 'hammerjs'; +import { enableProdMode } from '@angular/core'; +import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; + +import { AppModule } from './app/app.module'; +import { environment } from './environments/environment'; + +if (environment.production) { + enableProdMode(); +} + +platformBrowserDynamic().bootstrapModule(AppModule) + .catch(err => console.error(err)); diff --git a/ui/ui-frontend/projects/pastis/src/polyfills.ts b/ui/ui-frontend/projects/pastis/src/polyfills.ts new file mode 100644 index 0000000000000000000000000000000000000000..0f97f955dd5e7da0221044ce6a22bf0e73cda00c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/polyfills.ts @@ -0,0 +1,101 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +/** + * This file includes polyfills needed by Angular and is loaded before the app. + * You can add your own extra polyfills to this file. + * + * This file is divided into 2 sections: + * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. + * 2. Application imports. Files imported after ZoneJS that should be loaded before your main + * file. + * + * The current setup is for so-called "evergreen" browsers; the last versions of browsers that + * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), + * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. + * + * Learn more in https://angular.io/guide/browser-support + */ + +/*************************************************************************************************** + * BROWSER POLYFILLS + */ + +/** IE10 and IE11 requires the following for NgClass support on SVG elements */ +// import 'classlist.js'; // Run `npm install --save classlist.js`. + +/** + * Web Animations `@angular/platform-browser/animations` + * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. + * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). + */ +// import 'web-animations-js'; // Run `npm install --save web-animations-js`. + +/** + * By default, zone.js will patch all possible macroTask and DomEvents + * user can disable parts of macroTask/DomEvents patch by setting following flags + * because those flags need to be set before `zone.js` being loaded, and webpack + * will put import in the top of bundle, so user need to create a separate file + * in this directory (for example: zone-flags.ts), and put the following flags + * into that file, and then add the following code before importing zone.js. + * import './zone-flags.ts'; + * + * The flags allowed in zone-flags.ts are listed here. + * + * The following flags will work for all browsers. + * + * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame + * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick + * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames + * + * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js + * with the following flag, it will bypass `zone.js` patch for IE/Edge + * + * (window as any).__Zone_enable_cross_context_check = true; + * + */ + +/*************************************************************************************************** + * Zone JS is required by default for Angular itself. + */ +import 'zone.js/dist/zone'; // Included with Angular CLI. +import 'hammerjs'; + + +/*************************************************************************************************** + * APPLICATION IMPORTS + */ diff --git a/ui/ui-frontend/projects/pastis/src/styles.scss b/ui/ui-frontend/projects/pastis/src/styles.scss new file mode 100644 index 0000000000000000000000000000000000000000..aea42d4efe4bbc291e14da2496c3243024a7b00c --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/styles.scss @@ -0,0 +1,15 @@ +html, body { height: 100%; } +body { margin: 0; font-family: Roboto } + +@import '~@angular/material/prebuilt-themes/deeppurple-amber.css'; + +// Used to import original toastr component +//@import '~ngx-toastr/toastr'; + +@import 'theme.scss' + +// @import '~bootstrap/scss/functions'; +// @import '~bootstrap/scss/variables'; +// @import '~bootstrap/scss/mixins'; +// @import '~ngx-toastr/toastr-bs4-alert'; + diff --git a/ui/ui-frontend/projects/pastis/src/test.ts b/ui/ui-frontend/projects/pastis/src/test.ts new file mode 100644 index 0000000000000000000000000000000000000000..68586c4fa63e45e3fe3420d21ad3768a3f33b64d --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/test.ts @@ -0,0 +1,57 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +// This file is required by karma.conf.js and loads recursively all the .spec and framework files + +import 'zone.js/dist/zone-testing'; +import { getTestBed } from '@angular/core/testing'; +import { + BrowserDynamicTestingModule, + platformBrowserDynamicTesting +} from '@angular/platform-browser-dynamic/testing'; + +declare const require: any; + +// First, initialize the Angular testing environment. +getTestBed().initTestEnvironment( + BrowserDynamicTestingModule, + platformBrowserDynamicTesting() +); +// Then we find all the tests. +const context = require.context('./', true, /\.spec\.ts$/); +// And load the modules. +context.keys().map(context); diff --git a/ui/ui-frontend/projects/pastis/src/theme.scss b/ui/ui-frontend/projects/pastis/src/theme.scss new file mode 100644 index 0000000000000000000000000000000000000000..4e42cdaf3050c54e863cddad8c3d6e63ec537766 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/src/theme.scss @@ -0,0 +1,25 @@ +@import '~@angular/material/theming'; + + +// Pastis styles +@import 'assets/css/colors'; +@import 'assets/css/mixins'; +@import 'assets/css/variables'; +@import 'assets/css/layout'; +@import 'assets/css/font'; +@import 'assets/css/toaster'; +@import 'assets/css/input'; + +@include mat-core(); + +/* ======== Angular material custom themes ======== */ + +$my-custom-primary: mat-palette($mat-deep-purple); +$my-custom-accent: mat-palette($mat-pink, 100, 500, A100); +$my-custom-warn: mat-palette($mat-lime); + +$my-custom-theme: mat-light-theme($my-custom-primary, $my-custom-accent, $my-custom-warn); + + +@include angular-material-theme($my-custom-theme); +@include mat-button-toggle-theme($my-custom-theme); diff --git a/ui/ui-frontend/projects/pastis/stylemark.yml b/ui/ui-frontend/projects/pastis/stylemark.yml new file mode 100644 index 0000000000000000000000000000000000000000..835aeb4b0b3bdcd7c0e6187c62bdd581036b074a --- /dev/null +++ b/ui/ui-frontend/projects/pastis/stylemark.yml @@ -0,0 +1,65 @@ +name: Pastis Style Guide + +excludeDir: +#- dist +#- docs + +assets: + - src/assets +#- fonts + +theme: + logo: src/assets/pastis-marseille_blue_crop.jpg + + css: + #- theme/theme.css + - src/assets/css/angular-material.min.css + - src/assets/css/bootstrap.min.css + - src/assets/css/bootstrap.css + + js: + #- theme/theme.js + + sidebar: + background: "#3b2a55" + textColor: "#fff" + +examples: + css: + - src/assets/css/angular-material.min.css + - src/assets/css/bootstrap.min.css + - src/assets/css/bootstrap.css + - node_modules/@angular/material/prebuilt-themes/indigo-pink.css + + + js: + - https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js + - https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular.min.js + - https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular-animate.min.js + - https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular-aria.min.js + - https://ajax.googleapis.com/ajax/libs/angularjs/1.4.5/angular-messages.min.js + - https://unpkg.com/material-components-web@latest/dist/material-components-web.min.js + - https://ajax.googleapis.com/ajax/libs/angularjs/1.2.0rc1/angular-route.min.js + - https://ajax.googleapis.com/ajax/libs/angular_material/1.1.10/angular-material.min.js + - https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js + - src/assets/js/angular-material.min.js + - src/assets/js/angular.js + + + doctypeTag: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> + htmlTag: <html id="acme"> + bodyTag: <body ng-app="BlankApp" ng-cloak> + + headHtml: | + <meta name="viewport" content="width=device-width, initial-scale=1"> + <script type="text/javascript"> + window.disableRouting = true; + angular.module('BlankApp', ['ngMaterial', 'ngMessages']); + </script> + + bodyHtml: | + <div style="padding: 20px"> + {html} + </div> + + webpackAppPath: \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/tsconfig.app.json b/ui/ui-frontend/projects/pastis/tsconfig.app.json new file mode 100644 index 0000000000000000000000000000000000000000..bd8ca4580ecb04981fae539065421a9ca60e73e0 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/tsconfig.app.json @@ -0,0 +1,14 @@ +{ + "extends": "../../tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "src/test.ts", + "src/**/*.spec.ts" + ] +} diff --git a/ui/ui-frontend/projects/pastis/tsconfig.spec.json b/ui/ui-frontend/projects/pastis/tsconfig.spec.json new file mode 100644 index 0000000000000000000000000000000000000000..f34231d44184e0f2eb93307904e8f6e7f659d8d1 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/tsconfig.spec.json @@ -0,0 +1,18 @@ +{ + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine", + "node" + ] + }, + "files": [ + "src/test.ts", "extends": "./tsconfig.json", + + "src/polyfills.ts" + ], + "include": [ + "src/**/*.spec.ts", + "src/**/*.d.ts" + ] +} diff --git a/ui/ui-frontend/projects/pastis/tslint.json b/ui/ui-frontend/projects/pastis/tslint.json new file mode 100644 index 0000000000000000000000000000000000000000..188bd78d326feb6b40566755799c1e748d044149 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/tslint.json @@ -0,0 +1,92 @@ +{ + "extends": "tslint:recommended", + "rules": { + "array-type": false, + "arrow-parens": false, + "deprecation": { + "severity": "warn" + }, + "component-class-suffix": true, + "contextual-lifecycle": true, + "directive-class-suffix": true, + "directive-selector": [ + true, + "attribute", + "app", + "camelCase" + ], + "component-selector": [ + true, + "element", + "app", + "kebab-case" + ], + "import-blacklist": [ + true, + "rxjs/Rx" + ], + "interface-name": false, + "max-classes-per-file": false, + "max-line-length": [ + true, + 140 + ], + "member-access": false, + "member-ordering": [ + true, + { + "order": [ + "static-field", + "instance-field", + "static-method", + "instance-method" + ] + } + ], + "no-consecutive-blank-lines": false, + "no-console": [ + true, + "debug", + "info", + "time", + "timeEnd", + "trace" + ], + "no-empty": false, + "no-inferrable-types": [ + true, + "ignore-params" + ], + "no-non-null-assertion": true, + "no-redundant-jsdoc": true, + "no-switch-case-fall-through": true, + "no-use-before-declare": true, + "no-var-requires": false, + "object-literal-key-quotes": [ + true, + "as-needed" + ], + "object-literal-sort-keys": false, + "ordered-imports": false, + "quotemark": [ + true, + "single" + ], + "trailing-comma": false, + "no-conflicting-lifecycle": true, + "no-host-metadata-property": true, + "no-input-rename": true, + "no-inputs-metadata-property": true, + "no-output-native": true, + "no-output-on-prefix": true, + "no-output-rename": true, + "no-outputs-metadata-property": true, + "template-banana-in-box": true, + "template-no-negated-async": true, + "use-lifecycle-interface": true, + "use-pipe-transform-interface": true + }, + "rulesDirectory": [ + "codelyzer" + ] +} \ No newline at end of file diff --git a/ui/ui-frontend/projects/pastis/zalenium/docker-compose.yml b/ui/ui-frontend/projects/pastis/zalenium/docker-compose.yml new file mode 100644 index 0000000000000000000000000000000000000000..945924c39c79cb0c8f7f308c029462295d3649d0 --- /dev/null +++ b/ui/ui-frontend/projects/pastis/zalenium/docker-compose.yml @@ -0,0 +1,25 @@ +# Usage: + # docker-compose up --force-recreate + version: '2.1' + + services: + #--------------# + zalenium: + image: "dosel/zalenium" + container_name: zalenium + hostname: zalenium + tty: true + volumes: + - /pastis/protractor-zalenium/videos:/home/seluser/videos + - /var/run/docker.sock:/var/run/docker.sock + ports: + - 4444:4444 + command: > + start --desiredContainers 2 + --maxDockerSeleniumContainers 8 + --screenWidth 1900 --screenHeight 1000 + --videoRecordingEnabled true + --keepOnlyFailedTests false + environment: + - HOST_UID + - HOST_GID \ No newline at end of file diff --git a/ui/ui-frontend/tsconfig.json b/ui/ui-frontend/tsconfig.json index 30831d52d6b638dd9b2063c39fe41795d691be43..b2136d8b3a112b79e944f89b4208e210b1864c66 100644 --- a/ui/ui-frontend/tsconfig.json +++ b/ui/ui-frontend/tsconfig.json @@ -1,5 +1,5 @@ { - "compileOnSave": false, + "compileOnSave": true, "compilerOptions": { "baseUrl": "./", "outDir": "./dist/out-tsc", @@ -18,7 +18,7 @@ "es2018", "dom" ], - "noImplicitAny": true, + "noImplicitAny": false, "paths": { "vitamui-demo": [ "./projects/demo/src" @@ -37,9 +37,12 @@ ], "vitamui-library/*": [ "dist/vitamui-library/*" + ], + "vitamui-pastis/*": [ + "./projects/pastis/src/app/" ] }, - "noUnusedLocals": true, - "noUnusedParameters": true + "noUnusedLocals": false, + "noUnusedParameters": false } } diff --git a/ui/ui-pastis/.gitignore b/ui/ui-pastis/.gitignore new file mode 100644 index 0000000000000000000000000000000000000000..0ef18ac2bead152b4312509913e302913bc7cdf9 --- /dev/null +++ b/ui/ui-pastis/.gitignore @@ -0,0 +1,173 @@ + +# Created by https://www.gitignore.io/api/eclipse +# Edit at https://www.gitignore.io/?templates=eclipse + +#PASTIS +#test generated file" +generated_test.xml +logs/*.* +### Eclipse ### +.metadata +bin/fe +tmp/ +*.tmp +*.bak +*.swp +*~.nib +local.properties +.settings/ +.loadpath +.recommenders + +# External tool builders +.externalToolBuilders/ + +# Locally stored "Eclipse launch configurations" +*.launch + +# PyDev specific (Python IDE for Eclipse) +*.pydevproject + +# CDT-specific (C/C++ Development Tooling) +.cproject + +# CDT- autotools +.autotools + +# Java annotation processor (APT) +.factorypath + +# PDT-specific (PHP Development Tools) +.buildpath + +# sbteclipse plugin +.target + +# Tern plugin +.tern-project + +# TeXlipse plugin +.texlipse + +# STS (Spring Tool Suite) +.springBeans + +# Code Recommenders +.recommenders/ + +# Annotation Processing +.apt_generated/ + +# Scala IDE specific (Scala & Java development for Eclipse) +.cache-main +.scala_dependencies +.worksheet + +### Eclipse Patch ### +# Eclipse Core +.project + +# JDT-specific (Eclipse Java Development Tools) +.classpath + +# Annotation Processing +.apt_generated + +.sts4-cache/ + +# End of https://www.gitignore.io/api/eclipse +/target/ + + +### Intellij ### +# Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm +# Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839 + +# User-specific stuff +.idea/**/workspace.xml +.idea/**/tasks.xml +.idea/**/usage.statistics.xml +.idea/**/dictionaries +.idea/**/shelf +.DS_Store +.idea/ + + +# Generated files +.idea/**/contentModel.xml + +# Sensitive or high-churn files +.idea/**/dataSources/ +.idea/**/dataSources.ids +.idea/**/dataSources.local.xml +.idea/**/sqlDataSources.xml +.idea/**/dynamic.xml +.idea/**/uiDesigner.xml +.idea/**/dbnavigator.xml + +# Gradle +.idea/**/gradle.xml +.idea/**/libraries + +# Gradle and Maven with auto-import +# When using Gradle or Maven with auto-import, you should exclude module files, +# since they will be recreated, and may cause churn. Uncomment if using +# auto-import. +.idea/modules.xml +.idea/*.iml +.idea/modules +*.iml +*.ipr + +# CMake +cmake-build-*/ + +# Mongo Explorer plugin +.idea/**/mongoSettings.xml + +# File-based project format +*.iws + +# IntelliJ +out/ + +# mpeltonen/sbt-idea plugin +.idea_modules/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Cursive Clojure plugin +.idea/replstate.xml + +# Crashlytics plugin (for Android Studio and IntelliJ) +com_crashlytics_export_strings.xml +crashlytics.properties +crashlytics-build.properties +fabric.properties + +# Editor-based Rest Client +.idea/httpRequests + +# Android studio 3.1+ serialized cache file +.idea/caches/build_file_checksums.ser + +### Intellij Patch ### +# Comment Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-215987721 + +# *.iml +# modules.xml +# .idea/misc.xml +# *.ipr + +# Sonarlint plugin +.idea/**/sonarlint/ + +# SonarQube Plugin +.idea/**/sonarIssues.xml + +# Markdown Navigator plugin +.idea/**/markdown-navigator.xml +.idea/**/markdown-navigator/ + +# End of https://www.gitignore.io/api/intellij diff --git a/ui/ui-pastis/META-INF/MANIFEST.MF b/ui/ui-pastis/META-INF/MANIFEST.MF new file mode 100644 index 0000000000000000000000000000000000000000..a3e5c1c2dcc512d78d086bfdb7f51d6dc9a49f33 --- /dev/null +++ b/ui/ui-pastis/META-INF/MANIFEST.MF @@ -0,0 +1,13 @@ +Manifest-Version: 1.0 +Bundle-ManifestVersion: 2 +Bundle-Name: %pluginName +Bundle-SymbolicName: rest-api;singleton:=true +Automatic-Module-Name: rest-api +Bundle-Version: 1.0.0.qualifier +Bundle-ClassPath: . +Bundle-Vendor: %providerName +Bundle-Localization: plugin +Bundle-RequiredExecutionEnvironment: JavaSE-1.8 +Require-Bundle: org.eclipse.core.runtime, + org.eclipse.emf.ecore;visibility:=reexport +Bundle-ActivationPolicy: lazy diff --git a/ui/ui-pastis/build.properties b/ui/ui-pastis/build.properties new file mode 100644 index 0000000000000000000000000000000000000000..4ad8a088dccac15675e327fb9ea930ea7c294f18 --- /dev/null +++ b/ui/ui-pastis/build.properties @@ -0,0 +1,9 @@ +# +bin.includes = .,\ + model/,\ + META-INF/,\ + plugin.xml,\ + plugin.properties +jars.compile.order = . +source.. = src/ +output.. = bin/ diff --git a/ui/ui-pastis/plugin.properties b/ui/ui-pastis/plugin.properties new file mode 100644 index 0000000000000000000000000000000000000000..630242165d4cf47370b06c213de7f1acda8b0f16 --- /dev/null +++ b/ui/ui-pastis/plugin.properties @@ -0,0 +1,4 @@ +# + +pluginName = Vitam Model +providerName = www.example.org diff --git a/ui/ui-pastis/plugin.xml b/ui/ui-pastis/plugin.xml new file mode 100644 index 0000000000000000000000000000000000000000..7ac51d150955177ceebcec9f6a8fc74f08eb3e92 --- /dev/null +++ b/ui/ui-pastis/plugin.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<?eclipse version="3.0"?> + +<!-- +--> + +<plugin> + +</plugin> diff --git a/ui/ui-pastis/pom.xml b/ui/ui-pastis/pom.xml new file mode 100644 index 0000000000000000000000000000000000000000..6aee48c8b1ae19f7eb5543a52a301d49fde3320d --- /dev/null +++ b/ui/ui-pastis/pom.xml @@ -0,0 +1,247 @@ +<project xmlns="http://maven.apache.org/POM/4.0.0" + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> + <modelVersion>4.0.0</modelVersion> + <packaging>jar</packaging> + <url>http://maven.apache.org</url> + <artifactId>rest-api</artifactId> + <name>PASTIS-API</name> + + <parent> + <groupId>fr.gouv.vitamui</groupId> + <artifactId>ui-parent</artifactId> + <version>1.0.0-SNAPSHOT</version> + </parent> + + <properties> + <!-- Generic properties --> + <maven.compile.target>1.8</maven.compile.target> + <maven.compile.source>1.8</maven.compile.source> + <java.version>11</java.version> + </properties> + + <dependencies> + + <!--Start of Jaxb API and it's implementation and dependencies- Java11--> + <dependency> + <groupId>javax.xml.bind</groupId> + <artifactId>jaxb-api</artifactId> + <version>2.3.1</version> + </dependency> + + <dependency> + <groupId>com.sun.xml.bind</groupId> + <artifactId>jaxb-impl</artifactId> + <version>2.3.1</version> + </dependency> + + <dependency> + <groupId>com.sun.istack</groupId> + <artifactId>istack-commons-runtime</artifactId> + <version>4.0.0-M2</version> + </dependency> + + <!--End of Jaxb API and it's implementation and dependencies- Java11--> + + <dependency> + <groupId>org.json</groupId> + <artifactId>json</artifactId> + <version>20180813</version> + </dependency> + + <dependency> + <groupId>javax.xml.parsers</groupId> + <artifactId>jaxp-api</artifactId> + <version>1.4.5</version> + </dependency> + + <!-- Start of SpringBoot starter web (Tomcat by default) and starter test--> + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-web</artifactId> + <version>2.2.6.RELEASE</version> + </dependency> + + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-tomcat</artifactId> + <version>2.2.6.RELEASE</version> + </dependency> + + <dependency> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-starter-test</artifactId> + <scope>test</scope> + <version>2.2.6.RELEASE</version> + <exclusions> + <exclusion> + <groupId>com.vaadin.external.google</groupId> + <artifactId>android-json</artifactId> + </exclusion> + </exclusions> + </dependency> + <!-- End of SpringBoot starter web and starter test--> + + <dependency> + <groupId>com.fasterxml</groupId> + <artifactId>jackson-xml-databind</artifactId> + <version>0.6.2</version> + </dependency> + + <dependency> + <groupId>com.thaiopensource</groupId> + <artifactId>jing</artifactId> + <version>20091111</version> + <exclusions> + <exclusion> + <groupId>xml-apis</groupId> + <artifactId>xml-apis</artifactId> + </exclusion> + <exclusion> + <groupId>net.sf.saxon</groupId> + <artifactId>saxon</artifactId> + </exclusion> + <exclusion> + <groupId>xerces</groupId> + <artifactId>xercesImpl</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>com.thaiopensource</groupId> + <artifactId>trang</artifactId> + <version>20091111</version> + <exclusions> + <exclusion> + <groupId>xml-apis</groupId> + <artifactId>xml-apis</artifactId> + </exclusion> + <exclusion> + <groupId>net.sf.saxon</groupId> + <artifactId>saxon</artifactId> + </exclusion> + <exclusion> + <groupId>xerces</groupId> + <artifactId>xercesImpl</artifactId> + </exclusion> + </exclusions> + </dependency> + + <dependency> + <groupId>org.opengis.cite.xerces</groupId> + <artifactId>xercesImpl-xsd11</artifactId> + <version>2.12-beta-r1667115</version> + </dependency> + + <dependency> + <groupId>xml-resolver</groupId> + <artifactId>xml-resolver</artifactId> + <version>1.2</version> + </dependency> + + </dependencies> + + <!-- Start of profiles --> + <profiles> + <!-- Profile 1 - Production --> + <profile> + <id>prod</id> + <!-- Start of production plugins --> + <build> + + <plugins> + <!-- SpringBoot maven plugin--> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <executions> + <execution> + <configuration> + <mainClass>fr.gouv.vitamui.pastis.PastisRestApplication</mainClass> + </configuration> + </execution> + </executions> + </plugin> + + <!-- Read the application.properties files with the properties plug-in --> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>properties-maven-plugin</artifactId> + <version>1.0-alpha-2</version> + <executions> + <execution> + <phase>initialize</phase> + <goals> + <goal>read-project-properties</goal> + </goals> + <configuration> + <files> + <file>${project.basedir}/src/main/resources/application.properties</file> + </files> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + + <!-- Tests --> + <testResources> + <testResource> + <directory>${project.basedir}/src/test/resources</directory> + </testResource> + </testResources> + + <finalName>PastisApi</finalName> + + </build> + + </profile> + <!-- End of Prod profile --> + + <!-- Start of Dev profile --> + <profile> + <id>dev</id> + <build> + <!-- Start of dev profile plugins --> + <plugins> + <!-- SpringBoot maven plugin--> + <plugin> + <groupId>org.springframework.boot</groupId> + <artifactId>spring-boot-maven-plugin</artifactId> + <version>2.2.6.RELEASE</version> + </plugin> + <!-- Read the application.properties files with the properties plug-in --> + <plugin> + <groupId>org.codehaus.mojo</groupId> + <artifactId>properties-maven-plugin</artifactId> + <version>1.0-alpha-2</version> + <executions> + <execution> + <phase>initialize</phase> + <goals> + <goal>read-project-properties</goal> + </goals> + <configuration> + <files> + <file>${project.basedir}/src/main/resources/application.properties</file> + </files> + </configuration> + </execution> + </executions> + </plugin> + </plugins> + + <!-- Tests --> + <testResources> + <testResource> + <directory>${project.basedir}/src/test/resources</directory> + </testResource> + </testResources> + <finalName>${war.dev.filename}</finalName> + </build> + </profile> + <!-- End of Dev profile --> + + </profiles> +</project> diff --git a/ui/ui-pastis/question.xml b/ui/ui-pastis/question.xml new file mode 100644 index 0000000000000000000000000000000000000000..b25b5d3d68306e9de4b664d5adccf009b6d67959 --- /dev/null +++ b/ui/ui-pastis/question.xml @@ -0,0 +1,962 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<rng:element name="ArchiveTransfer"> + <xsd:annotation> + <xsd:documentation>Pour controler manifest xml Vitam</xsd:documentation> + </xsd:annotation> + <rng:zeroOrMore> + <rng:attribute/> + </rng:zeroOrMore> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="Comment"/> + <rng:element name="Date"> + <rng:data type="dateTime"/> + </rng:element> + <rng:element name="MessageIdentifier"/> + <rng:element name="ArchivalAgreement"/> + <rng:element name="CodeListVersions"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:element name="ReplyCodeListVersion"> + <rng:value type="token">ReplyCodeListVersion0</rng:value> + </rng:element> + <rng:optional> + <rng:attribute name="listName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listSchemeURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listVersionID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + </rng:optional> + <rng:optional> + <rng:element name="MessageDigestAlgorithmCodeListVersion"> + <rng:value type="token">MessageDigestAlgorithmCodeListVersion0</rng:value> + </rng:element> + <rng:optional> + <rng:attribute name="listName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listSchemeURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listVersionID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + </rng:optional> + <rng:optional> + <rng:element name="MimeTypeCodeListVersion"> + <rng:value type="token">MimeTypeCodeListVersion0</rng:value> + </rng:element> + <rng:optional> + <rng:attribute name="listName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listSchemeURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listVersionID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + </rng:optional> + <rng:optional> + <rng:element name="EncodingCodeListVersion"> + <rng:value type="token">EncodingCodeListVersion0</rng:value> + </rng:element> + <rng:optional> + <rng:attribute name="listName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listSchemeURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listVersionID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + </rng:optional> + <rng:optional> + <rng:element name="FileFormatCodeListVersion"> + <rng:value type="token">FileFormatCodeListVersion0</rng:value> + </rng:element> + <rng:optional> + <rng:attribute name="listName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listSchemeURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listVersionID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + </rng:optional> + <rng:optional> + <rng:element name="CompressionAlgorithmCodeListVersion"> + <rng:value type="token">CompressionAlgorithmCodeListVersion0</rng:value> + </rng:element> + <rng:optional> + <rng:attribute name="listName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listSchemeURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listVersionID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectVersionCodeListVersion"> + <rng:value type="token">DataObjectVersionCodeListVersion0</rng:value> + </rng:element> + <rng:optional> + <rng:attribute name="listName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listSchemeURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listVersionID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + </rng:optional> + <rng:optional> + <rng:element name="StorageRuleCodeListVersion"> + <rng:value type="token">StorageRuleCodeListVersion0</rng:value> + </rng:element> + <rng:optional> + <rng:attribute name="listName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listSchemeURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listVersionID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + </rng:optional> + <rng:optional> + <rng:element name="AppraisalRuleCodeListVersion"> + <rng:value type="token">AppraisalRuleCodeListVersion0</rng:value> + </rng:element> + <rng:optional> + <rng:attribute name="listName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listSchemeURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listVersionID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + </rng:optional> + <rng:optional> + <rng:element name="AccessRuleCodeListVersion"> + <rng:value type="token">AccessRuleCodeListVersion0</rng:value> + </rng:element> + <rng:optional> + <rng:attribute name="listName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listSchemeURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listVersionID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRuleCodeListVersion"> + <rng:value type="token">DisseminationRuleCodeListVersion0</rng:value> + </rng:element> + <rng:optional> + <rng:attribute name="listName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listSchemeURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listVersionID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + </rng:optional> + <rng:optional> + <rng:element name="ReuseRuleCodeListVersion"> + <rng:value type="token">ReuseRuleCodeListVersion0</rng:value> + </rng:element> + <rng:optional> + <rng:attribute name="listName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listSchemeURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listVersionID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + </rng:optional> + <rng:optional> + <rng:element name="ClassificationRuleCodeListVersion"> + <rng:value type="token">ClassificationRuleCodeListVersion0</rng:value> + </rng:element> + <rng:optional> + <rng:attribute name="listName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listSchemeURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listVersionID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + </rng:optional> + <rng:optional> + <rng:element name="AuthorizationReasonCodeListVersion"> + <rng:value type="token">AuthorizationReasonCodeListVersion0</rng:value> + </rng:element> + <rng:optional> + <rng:attribute name="listName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listSchemeURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listVersionID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + </rng:optional> + <rng:optional> + <rng:element name="RelationshipCodeListVersion"> + <rng:value type="token">RelationshipCodeListVersion0</rng:value> + </rng:element> + <rng:optional> + <rng:attribute name="listName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listSchemeURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listAgencyName"> + <rng:data type="string"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listURI"> + <rng:data type="anyURI"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:attribute name="listVersionID"> + <rng:data type="token"/> + </rng:attribute> + </rng:optional> + </rng:optional> + </rng:element> + <rng:element name="DataObjectPackage"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="BinaryDataObject"> + <xsd:annotation> + <xsd:documentation>Mon premier binaire</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="DataObjectGroupId"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectVersion"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + <rng:element name="MessageDigest"> + <rng:data type="hexBinary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + <rng:element name="Size"> + <rng:data type="positiveInteger"/> + </rng:element> + <rng:element name="FormatIdentification"> + <rng:optional> + <rng:element name="FormatLitteral"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="MimeType"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="FormatId"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Encoding"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="FileInfo"> + <rng:element name="Filename"/> + <rng:element name="CreatingApplicationName"/> + </rng:element> + </rng:element> + <rng:element name="BinaryDataObject"> + <xsd:annotation> + <xsd:documentation>Mon deuxieme bianire</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="DataObjectGroupId"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectVersion"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + <rng:element name="MessageDigest"> + <rng:data type="hexBinary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + <rng:element name="Size"> + <rng:data type="positiveInteger"/> + </rng:element> + <rng:element name="FormatIdentification"> + <rng:optional> + <rng:element name="FormatLitteral"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="MimeType"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="FormatId"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Encoding"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="FileInfo"> + <rng:element name="Filename"/> + </rng:element> + </rng:element> + <rng:element name="DescriptiveMetadata"> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Mon arborescense attendue</xsd:documentation> + </xsd:annotation> + </rng:element> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="ArchiveUnitProfile"/> + </rng:optional> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"/> + <rng:element name="Title"/> + <rng:element name="Description"/> + <rng:optional> + <rng:element name="CustodialHistory"/> + <rng:element name="CustodialHistoryItem"/> + </rng:optional> + <rng:optional> + <rng:element name="Type"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DocumentType"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Language"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DescriptionLanguage"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Status"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Version"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Keyword"/> + <rng:optional> + <rng:attribute name="id"> +<rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:element name="KeywordContent"/> + </rng:optional> + <rng:optional> + <rng:element name="KeywordType"/> + <rng:optional> +<rng:attribute name="listVersionID"/> + </rng:optional> + </rng:optional> + </rng:optional> + <rng:element name="OriginatingAgency"> + <rng:element name="Identifier"> + <rng:value>CDC</rng:value> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="Otherfindaid"/> + <rng:element name="p"/> + </rng:optional> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Men répertoire</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"/> + <rng:element name="Title"/> + <rng:element name="Description"/> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Mes sous répertoire</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"/> + <rng:element name="Title"/> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> +<xsd:documentation>Rattachement 1er binaire</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> +<rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> +<rng:element name="DescriptionLevel"/> +<rng:element name="Title"/> +<rng:zeroOrMore> + <rng:element name="Description"> + <rng:data type="string"/> + </rng:element> +</rng:zeroOrMore> + </rng:element> + <rng:element name="DataObjectReference"> +<xsd:annotation> + <xsd:documentation>Ma reference Objet</xsd:documentation> +</xsd:annotation> +<rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> +</rng:optional> +<rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> +</rng:element> + </rng:element> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> +<xsd:documentation>Rattachement 2eme binaire</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> +<rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> +<rng:element name="DescriptionLevel"/> +<rng:element name="Title"/> +<rng:element name="Description"/> + </rng:element> + <rng:element name="DataObjectReference"> +<xsd:annotation> + <xsd:documentation>Ma reference objet</xsd:documentation> +</xsd:annotation> +<rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> +</rng:optional> +<rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> +</rng:element> + </rng:element> + </rng:element> + </rng:element> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="ManagementMetadata"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:element name="ArchivalProfile"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:element name="OriginatingAgencyIdentifier"> + <rng:value>CDC</rng:value> + </rng:element> + <rng:optional> + <rng:element name="StorageRule"/> + <rng:optional> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + </rng:optional> + <rng:optional> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:optional> + <rng:element name="FinalAction"/> + </rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"/> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"/> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="ArchivalAgency"> + <rng:element name="Identifier"> + <rng:value>CDC</rng:value> + </rng:element> + </rng:element> + <rng:element name="TransferringAgency"> + <rng:element name="Identifier"> + <rng:value>CDC</rng:value> + </rng:element> + <rng:element name="OrganizationDescriptiveMetadata"> + <rng:element name="Name"> + <rng:value>CDC</rng:value> + </rng:element> + </rng:element> + </rng:element> +</rng:element> diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/PastisRestApplication.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/PastisRestApplication.java new file mode 100644 index 0000000000000000000000000000000000000000..292772267655f8fdd578532c2e9d407433f5ee81 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/PastisRestApplication.java @@ -0,0 +1,57 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis; + +import org.springframework.boot.SpringApplication; +import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.builder.SpringApplicationBuilder; +import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; + +@SpringBootApplication +public class PastisRestApplication extends SpringBootServletInitializer { + + @Override + protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { + return application.sources(PastisRestApplication.class); + } + + public static void main(String[] args) { + SpringApplication.run(PastisRestApplication.class, args); + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/configuration/.gitkeep b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/configuration/.gitkeep new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/configuration/PastisConfiguration.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/configuration/PastisConfiguration.java new file mode 100644 index 0000000000000000000000000000000000000000..ceca7860834d4151a580696b725b6907b18697f0 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/configuration/PastisConfiguration.java @@ -0,0 +1,63 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.configuration; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.web.servlet.config.annotation.CorsRegistry; +import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; + +@Configuration +public class PastisConfiguration { + + @Value("${cors.allowed-origins}") + private String origins; + + @Bean + public WebMvcConfigurer corsConfigurer() { + return new WebMvcConfigurer () { + @Override + public void addCorsMappings(CorsRegistry registry) { + registry.addMapping("/**") + .allowedOrigins(origins.split(",")) + .allowCredentials(true); + } + }; + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/controller/ProfileController.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/controller/ProfileController.java new file mode 100644 index 0000000000000000000000000000000000000000..89d11885d2d728565b44d4c504e3a28e3855607f --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/controller/ProfileController.java @@ -0,0 +1,176 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.controller; + +import fr.gouv.vitamui.pastis.model.ElementProperties; +import fr.gouv.vitamui.pastis.model.jaxb.*; +import fr.gouv.vitamui.pastis.util.PastisCustomCharacterEscapeHandler; +import fr.gouv.vitamui.pastis.util.PastisGetXmlJsonTree; +import fr.gouv.vitamui.pastis.util.PastisSAX2Handler; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.xml.sax.InputSource; +import org.xml.sax.SAXException; +import org.xml.sax.SAXParseException; +import org.xml.sax.XMLReader; +import org.xml.sax.helpers.XMLReaderFactory; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; +import java.io.*; +import java.net.URISyntaxException; + +@RestController +public class ProfileController { + + private static final Logger LOGGER = LoggerFactory.getLogger(ProfileController.class); + + private static final String APPLICATION_JSON_UTF8 = "application/json; charset=utf-8"; + + @Value("${rng.base.file}") + private String rngFile; + + @RequestMapping(value = "/updateprofile", method = RequestMethod.POST, consumes = APPLICATION_JSON_UTF8, produces = "application/xml") + public String updateprofile(@RequestBody final ElementProperties json) throws IOException { + + // Recover a statically generated BaliseXML by buildBaliseXMLTree + json.initTree(json); + BaliseXML.buildBaliseXMLTree(json,0, null); + BaliseXML eparentRng = BaliseXML.baliseXMLStatic; + String response = null; + Writer writer = null; + try { + JAXBContext contextObj = JAXBContext.newInstance(AttributeXML.class, ElementXML.class, DataXML.class, + ValueXML.class, OptionalXML.class, OneOrMoreXML.class, + ZeroOrMoreXML.class, AnnotationXML.class, DocumentationXML.class, + StartXML.class, GrammarXML.class,ChoiceXml.class); + Marshaller marshallerObj = contextObj.createMarshaller(); + marshallerObj.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + marshallerObj.setProperty("com.sun.xml.bind.marshaller.CharacterEscapeHandler", + new PastisCustomCharacterEscapeHandler()); + + ByteArrayOutputStream os = new ByteArrayOutputStream(); + writer = new OutputStreamWriter(os, "UTF-8"); + + marshallerObj.marshal(eparentRng, writer); + response = new String (os.toByteArray(), "UTF-8"); + + } catch (IOException e1) { + e1.printStackTrace(); + } catch (JAXBException e1) { + e1.printStackTrace(); + } + finally { + writer.close(); + } + + LOGGER.info("RNG profile generated successfully"); + return response; + } + + @RequestMapping(value = "/test", method = RequestMethod.GET) + public String test() { + + return "Pastis API is listening..."; + } + + @RequestMapping (value = "/getfile", method = RequestMethod.GET, produces = "text/plain") + public ResponseEntity<String> getFile() { + + InputStream rngFile = getClass().getClassLoader().getResourceAsStream("profile3.rng"); + if (rngFile != null) { + return new ResponseEntity<>(rngFile.toString(), HttpStatus.OK); + } else { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + @RequestMapping (value = "/createprofile", method = RequestMethod.GET) + public ResponseEntity<String> createprofile() throws URISyntaxException { + PastisSAX2Handler handler = new PastisSAX2Handler(); + PastisGetXmlJsonTree getJson = new PastisGetXmlJsonTree(); + + try { + XMLReader xmlReader = XMLReaderFactory.createXMLReader(); + xmlReader.setContentHandler(handler); + + LOGGER.info("Starting rng edition profile with base file : {}", this.rngFile); + + InputStream inputStream = getClass().getClassLoader().getResourceAsStream(this.rngFile); + InputSource inputSource = new InputSource(inputStream); + + xmlReader.parse(inputSource); + + } catch (SAXException | IOException e ) { + return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR); + } + + return ResponseEntity.ok(getJson.getJsonParsedTree(handler.elementRNGRoot)); + } + + + @RequestMapping (value = "/createprofilefromfile", method = RequestMethod.POST, consumes = "multipart/form-data", produces = "application/json") + public ResponseEntity<String> createprofilefromfile(@RequestParam MultipartFile file ) { + + PastisSAX2Handler handler = new PastisSAX2Handler(); + PastisGetXmlJsonTree getJson = new PastisGetXmlJsonTree(); + + try { + XMLReader xmlReader = XMLReaderFactory.createXMLReader(); + xmlReader.setContentHandler(handler); + xmlReader.parse(new InputSource(file.getInputStream())); + } catch (IOException e) { + return new ResponseEntity<>("Error while processing file : ", HttpStatus.INTERNAL_SERVER_ERROR); + } catch (SAXException e) { + if (e instanceof SAXParseException) { + return new ResponseEntity<>("Erreur lors du chargement du profil, ligne " + ((SAXParseException) e).getLineNumber() + " colonne " + ((SAXParseException) e).getColumnNumber() + ": " + e.getMessage() , HttpStatus.INTERNAL_SERVER_ERROR); + } else { + return new ResponseEntity<>("Error while processing file : ", HttpStatus.INTERNAL_SERVER_ERROR); + } + } + + return ResponseEntity.ok(getJson.getJsonParsedTree(handler.elementRNGRoot)); + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/ElementProperties.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/ElementProperties.java new file mode 100644 index 0000000000000000000000000000000000000000..eed59f24378a91ca60095f256bd925fccbd29d2d --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/ElementProperties.java @@ -0,0 +1,229 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import fr.gouv.vitamui.pastis.util.RNGConstants; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.List; + +public class ElementProperties implements Serializable { + + private static final long serialVersionUID = -5093112183496503253L; + + + public ElementProperties() { + super(); + } + + String name; + String type; + String cardinality; + String groupOrChoice; + String valueOrData; + String dataType; + String value; + String documentation; + + @JsonIgnore + Object sedaData; + + int level; + Long id; + Long parentId; + + @JsonIgnore + ElementProperties parent; + + List<ElementProperties> choices = new ArrayList<ElementProperties>(); + + List<ElementProperties> children = new ArrayList<ElementProperties>(); + + public List<ElementProperties> getChildren() { + return this.children; + } + + public void setChildren(List<ElementProperties> children) { + this.children = children; + } + + public List<ElementProperties> getChoices() { + return choices; + } + + public void setChoices(List<ElementProperties> choices) { + this.choices = choices; + } + + public String getName() { + return this.name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return this.type; + } + + public void setType(String type) { + this.type = type; + } + + public String getValueOrData() { + return this.valueOrData; + } + + public void setValueOrData(String dataType) { + this.valueOrData = dataType; + } + + public String getCardinality() { + return this.cardinality; + } + + public void setCardinality(String cardinality) { + if(null != RNGConstants.CardinalityMap.get(cardinality)) { + this.cardinality = RNGConstants.CardinalityMap.get(cardinality); + }else { + this.cardinality = cardinality; + } + } + + public String getGroupOrChoice() { + return groupOrChoice; + } + + public void setGroupOrChoice(String groupOrChoice) { + if(null != RNGConstants.GroupOrChoiceMap.get(groupOrChoice)) { + this.groupOrChoice = RNGConstants.GroupOrChoiceMap.get(groupOrChoice); + }else { + this.groupOrChoice = groupOrChoice; + } + } + + public String getValue() { + return this.value; + } + + public void setValue(String value) { + this.value = value; + } + + public int getLevel() { + return this.level; + } + + public void setLevel(int level) { + this.level = level; + } + + public String getDataType() { + return this.dataType; + } + + public void setDataType(String dataType) { + this.dataType = dataType; + } + + + public String getDocumentation() { + return this.documentation; + } + + public void setDocumentation(String documentation) { + this.documentation = documentation; + } + + public Long getId() { + return this.id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getParentId() { + return this.parentId; + } + + public void setParentId(Long parentId) { + this.parentId = parentId; + } + + @JsonIgnore + public Object getSedaData() { + return sedaData; + } + + @JsonIgnore + public void setSedaData(Object sedaData) { + this.sedaData = sedaData; + } + + @JsonIgnore + public ElementProperties getParent() { + return parent; + } + + @JsonIgnore + public void setParent(ElementProperties parent) { + this.parent = parent; + } + + public void init() { + this.setName(""); + this.setCardinality(""); + this.setValueOrData(""); + this.setGroupOrChoice(""); + this.setValue(""); + this.setType(""); + this.setDataType(""); + + } + public void initTree(ElementProperties json) { + for(ElementProperties child : json.getChildren()) { + child.setParent(json); + initTree(child); + } + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/ElementRNG.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/ElementRNG.java new file mode 100644 index 0000000000000000000000000000000000000000..85104ebe9f078dc375052e9957a52548cffccd33 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/ElementRNG.java @@ -0,0 +1,226 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.model; + +import fr.gouv.vitamui.pastis.util.RNGConstants; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.bind.annotation.*; +import java.util.ArrayList; +import java.util.List; + +import static fr.gouv.vitamui.pastis.util.RNGConstants.TypesMap; + +/** + * @author Paulo Pimenta <pimenta@cines.fr> + */ +@XmlRootElement +@XmlAccessorType(XmlAccessType.FIELD) +public class ElementRNG { + + public ElementRNG() { + } + + String name; + + String type; + + String dataType; + + String value; + + ElementRNG parent; + + private static Logger LOGGER = LoggerFactory.getLogger(ElementRNG.class); + + + public static ElementProperties elementStatic = new ElementProperties(); + + public static ElementProperties elementStaticRoot = new ElementProperties(); + + private static long idCounter = 0; + + List<ElementRNG> children = new ArrayList<ElementRNG>(); + + @XmlAttribute + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @XmlElement + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + @XmlAttribute (name="type") + public String getDataType() { + return dataType; + } + + public void setDataType(String dataType) { + this.dataType = dataType; + } + + @XmlElement(name="rng:value") + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + @XmlTransient + public ElementRNG getParent() { + return parent; + } + + public void setParent(ElementRNG parent) { + this.parent = parent; + } + + @XmlAnyElement + public List<ElementRNG> getChildren() { + return children; + } + + public void setChildren(List<ElementRNG> children) { + this.children = children; + } + + public static void setDataForParentElementOrAttribute (ElementProperties parentNode, ElementRNG node) { + if(null != parentNode.getType() && (RNGConstants.MetadaDataType.element.toString().equals(parentNode.getType()) + || RNGConstants.MetadaDataType.attribute.toString().equals(parentNode.getType()))) { + parentNode.setValueOrData(node.getType()); + if (TypesMap.containsKey(parentNode.getName())) { + parentNode.setDataType(TypesMap.get(parentNode.getName()).getLabel()); + } + parentNode.setValue(node.getValue()); + }else { + setDataForParentElementOrAttribute(parentNode.getParent(), node); + } + } + + + public static void setDocumentationForParentElement (ElementProperties parentNode, ElementRNG node) { + if(null != parentNode.getType() && RNGConstants.MetadaDataType.element.toString().equals(parentNode.getType())) { + parentNode.setDocumentation(node.getValue()); + }else { + setDocumentationForParentElement(parentNode.getParent(), node); + } + } + + public static void setElementsForGroupOrChoice(ElementProperties parentNode, ElementRNG node) { + + if(null != parentNode.getType() && (RNGConstants.GroupOrChoice.group.toString().equals(parentNode.getType()) + || RNGConstants.GroupOrChoice.choice.toString().equals(parentNode.getType()))) { + parentNode.setGroupOrChoice(node.getType()); + }else { + setElementsForGroupOrChoice(parentNode.getParent(), node); + } + } + // Build the a tree of properties given : + // a node + //the level of the node + //the parent of the node + public static ElementProperties buildElementPropertiesTree( ElementRNG node, int profondeur, ElementProperties parentNode ){ + ElementProperties local = new ElementProperties(); + LOGGER.info("Generating JSON element {}", node.getName()); + if(null != node.getType() && RNGConstants.MetadaDataType.element.toString().equals(node.getType()) + || RNGConstants.MetadaDataType.attribute.toString().equals(node.getType())) { + + local.setCardinality(elementStatic.getCardinality()); + local.setGroupOrChoice(elementStatic.getGroupOrChoice()); + local.setName(node.getName()); + local.setType(node.getType()); + local.setLevel(profondeur); + local.setValue(node.getValue()); + + + elementStatic = new ElementProperties(); + + if(null != parentNode) { + local.setParent(parentNode); + local.setParentId(parentNode.getId()); + local.setId(ElementRNG.idCounter++); + parentNode.getChildren().add(local); + }else { + local.setId(ElementRNG.idCounter++); + local.setParentId(null); + elementStaticRoot = local; + } + } + + else { + + if(RNGConstants.isValueOrData(node.getType())) { + setDataForParentElementOrAttribute(parentNode, node); + }else if(RNGConstants.isCardinality(node.getType())) { + elementStatic.setCardinality(node.getType()); + }else if(RNGConstants.hasGroupOrChoice(node.getType())) { + elementStatic.setGroupOrChoice(node.getType()); + } + else if("documentation".equals(node.getType())) { + if(null != node.getValue()) { + setDocumentationForParentElement(parentNode, node); + } + } + + local = parentNode; + } + + for( ElementRNG next : node.getChildren() ) { + if(null != next.getType() && (RNGConstants.MetadaDataType.element.toString().equals(next.getType()) + || RNGConstants.MetadaDataType.attribute.toString().equals(next.getType()))) { + buildElementPropertiesTree( next, profondeur + 1, local ); + }else { + buildElementPropertiesTree( next, profondeur, local ); + } + } + return local; + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/JsonFromRng.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/JsonFromRng.java new file mode 100644 index 0000000000000000000000000000000000000000..943eb94433ceb129940b2be5927611067b39b9e4 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/JsonFromRng.java @@ -0,0 +1,176 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.model; + +import com.fasterxml.jackson.annotation.JsonIgnore; +import fr.gouv.vitamui.pastis.util.RNGConstants; + +import java.util.ArrayList; +import java.util.List; + +public class JsonFromRng { + + String name; + + String type; + + String cardinality; + + String valuleOrData; + + String dataType; + + String value; + + String documentation; + + int level; + + Long id; + + Long parentId; + + @JsonIgnore + ElementProperties parent; + + List<ElementProperties> children = new ArrayList<ElementProperties>(); + + + public List<ElementProperties> getChildren() { + return this.children; + } + + public void setChildren(List<ElementProperties> children) { + this.children = children; + } + + public String getName() { + return this.name; + } + + public void setName(String name) { + this.name = name; + } + + public String getType() { + return this.type; + } + + public void setType(String type) { + this.type = type; + } + + public String getValuleOrData() { + return this.valuleOrData; + } + + public void setValuleOrData(String dataType) { + this.valuleOrData = dataType; + } + + public String getCardinality() { + return this.cardinality; + } + + public void setCardinality(String cardinality) { + if(null != RNGConstants.CardinalityMap.get(cardinality)) { + this.cardinality = RNGConstants.CardinalityMap.get(cardinality); + }else { + this.cardinality = cardinality; + } + } + + public String getValue() { + return this.value; + } + + public void setValue(String value) { + this.value = value; + } + + public int getLevel() { + return this.level; + } + + public void setLevel(int level) { + this.level = level; + } + + public String getDataType() { + return this.dataType; + } + + public void setDataType(String dataType) { + this.dataType = dataType; + } + + + public String getDocumentation() { + return this.documentation; + } + + public void setDocumentation(String documentation) { + this.documentation = documentation; + } + + public Long getId() { + return this.id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getParentId() { + return this.parentId; + } + + public void setParentId(Long parentId) { + this.parentId = parentId; + } + + //@JsonIgnore + public ElementProperties getParent() { + return this.parent; + } + + //@JsonIgnore + public void setParent(ElementProperties parent) { + this.parent = parent; + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/OntologyDSL.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/OntologyDSL.java new file mode 100644 index 0000000000000000000000000000000000000000..0cc2c1327dda1667a785a7ac2f708e56577194b0 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/OntologyDSL.java @@ -0,0 +1,133 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.model; + +public class OntologyDSL { + + public OntologyDSL() { + } + + public String contrat_acces; + public String dsl_request; + public String query; + public String and; + public String eq; + public String filter; + public int limit; + public String projection; + public String tenant_id; + + + public String getContrat_acces() { + return contrat_acces; + } + public void setContrat_acces(String contrat_acces) { + this.contrat_acces = contrat_acces; + } + public String getDsl_request() { + return dsl_request; + } + public void setDsl_request(String dsl_request) { + this.dsl_request = dsl_request; + } + public String getQuery() { + return query; + } + public void setQuery(String query) { + this.query = query; + } + public String getAnd() { + return and; + } + public void setAnd(String and) { + this.and = and; + } + public String getEq() { + return eq; + } + public void setEq(String eq) { + this.eq = eq; + } + public String getFilter() { + return filter; + } + public void setFilter(String filter) { + this.filter = filter; + } + public int getLimit() { + return limit; + } + public void setLimit(int limit) { + this.limit = limit; + } + public String getProjection() { + return projection; + } + public void setProjection(String projection) { + this.projection = projection; + } + public String getTenant_id() { + return tenant_id; + } + public void setTenant_id(String tenant_id) { + this.tenant_id = tenant_id; + } + + public String toString() { + return "{\r\n" + + " \"contrat_acces\": \"CINES-1\",\r\n" + + " \"dsl_request\": {\r\n" + + " \"$query\": {\r\n" + + " \"$and\": [\r\n" + + " {\r\n" + + " \"$eq\": {\r\n" + + " \"SedaField\": \"DocumentType +\"\r\n" + + " }\r\n" + + " }\r\n" + + " ]\r\n" + + " },\r\n" + + " \"$filter\": {\r\n" + + " \"$limit\": 1\r\n" + + " },\r\n" + + " \"$projection\": {}\r\n" + + " },\r\n" + + " \"tenant_id\": \"1\"\r\n" + + "}"; + } + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/AbstractTagFactory.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/AbstractTagFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..9a2a24d9f72586ea59aa6323fa7ab30ecbc96b44 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/AbstractTagFactory.java @@ -0,0 +1,50 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import fr.gouv.vitamui.pastis.model.ElementProperties; +import java.util.Map; + +public interface AbstractTagFactory<T> { + + T createTag(ElementProperties node, Tag tag, int level); + + Map<RngTag,RngTag> createTagWithTag(ElementProperties node, RngTag tag, RngTag currentTag, int level); + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/AnnotationTag.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/AnnotationTag.java new file mode 100644 index 0000000000000000000000000000000000000000..98f23fb7acf0628694b913b0b83e422f43cbb052 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/AnnotationTag.java @@ -0,0 +1,56 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name="xsd:annotation") +public class AnnotationTag extends RngTag{ + DocumentationTag documentationTag; + + @XmlElement(name="xsd:documentation") + public DocumentationTag getDocumentationTag() { + return documentationTag; + } + + public void setDocumentationTag(DocumentationTag documentationTag) { + this.documentationTag = documentationTag; + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/AttributeTag.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/AttributeTag.java new file mode 100644 index 0000000000000000000000000000000000000000..43510d2c3a51b92712a961a1aecc4b27e35ef504 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/AttributeTag.java @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name="rng:attribute") +public class AttributeTag extends RngTag{ + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/CardinalityTag.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/CardinalityTag.java new file mode 100644 index 0000000000000000000000000000000000000000..ea8734a0b712935e0a2a8d0f1764ba11b1c5970e --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/CardinalityTag.java @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import javax.xml.bind.annotation.XmlSeeAlso; + +@XmlSeeAlso({OneOrMoreTag.class,ZeroOrMoreTag.class,OptionalTag.class}) +public class CardinalityTag extends RngTag{ + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/CardinalityTagFactory.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/CardinalityTagFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..cec6af653f62181ef9d6c711b13c448f67455ea3 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/CardinalityTagFactory.java @@ -0,0 +1,83 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import fr.gouv.vitamui.pastis.model.ElementProperties; +import fr.gouv.vitamui.pastis.util.RNGConstants; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.Map; + +public class CardinalityTagFactory implements AbstractTagFactory<CardinalityTag>{ + + private static final Logger LOGGER = LoggerFactory.getLogger(CardinalityTagFactory.class); + + @Override + public CardinalityTag createTag(ElementProperties node, Tag cardinalityTag, int level) { + if(node.getCardinality().equals(RNGConstants.Cardinality.zeroOrMore.getLabel())) { + return new ZeroOrMoreTag(); + } else if(node.getCardinality().equals(RNGConstants.Cardinality.oneOrMore.getLabel())) { + return new OneOrMoreTag(); + } else if(node.getCardinality().equals(RNGConstants.Cardinality.optional.getLabel())) { + return new OptionalTag(); + } + return null; + } + + @Override + public Map<RngTag, RngTag> createTagWithTag(ElementProperties node, RngTag tag, RngTag currentTag, int level) { + return null; + } + + public RNGConstants.Cardinality checkCardinalityType(String cardinalityType){ + if (cardinalityType.equals("ZeroOrMoreTag")) { + return RNGConstants.Cardinality.zeroOrMore; + } + if (cardinalityType.equals("OneOrMoreTag")) { + return RNGConstants.Cardinality.oneOrMore; + } + if (cardinalityType.equals("OptionalTag")) { + return RNGConstants.Cardinality.optional; + } + return null; + } + + +} \ No newline at end of file diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/ChoiceTag.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/ChoiceTag.java new file mode 100644 index 0000000000000000000000000000000000000000..f57cb5ebf3bb5bcc94245c5cffff7c2ded07a64c --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/ChoiceTag.java @@ -0,0 +1,45 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name="rng:choice") +public class ChoiceTag extends RngTag{ +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/DataTag.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/DataTag.java new file mode 100644 index 0000000000000000000000000000000000000000..f0ee29e605640c35722987f57f0f008afdb168b5 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/DataTag.java @@ -0,0 +1,55 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import fr.gouv.vitamui.pastis.util.RNGConstants; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name="rng:data") +public class DataTag extends RngTag { + + public DataTag(){ + } + + public DataTag(RNGConstants.DataType dataType, RngTag parent){ + this.setDataType(dataType.getLabel()); + this.setParent(parent); + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/DataTagFactory.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/DataTagFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..b9494f8bef707e75b628c6ca9e6eea4bd9b49683 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/DataTagFactory.java @@ -0,0 +1,74 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import fr.gouv.vitamui.pastis.model.ElementProperties; +import fr.gouv.vitamui.pastis.util.RNGConstants; + +import java.util.Arrays; +import java.util.HashMap; +import java.util.Map; + +public class DataTagFactory implements AbstractTagFactory { + + + @Override + public Object createTag(ElementProperties node, Tag tag, int level) { + return null; + } + + @Override + public Map<RngTag,RngTag> createTagWithTag(ElementProperties node, RngTag dataRNG, RngTag currentTag, int level) { + + Map<RngTag,RngTag> rngMapTags = new HashMap<>(); + + if (!currentTag.getChildren().isEmpty() && + (currentTag.getChildren().get(0) instanceof ElementTag + ||currentTag.getChildren().get(0) instanceof AttributeTag)){ + RngTag currentTagFirstChild = (RngTag) currentTag.getChildren().get(0); + currentTagFirstChild.getChildren().add(dataRNG); + dataRNG.setParent(currentTag); + }else { + currentTag.getChildren().add(dataRNG); + dataRNG.setParent(currentTag); + } + rngMapTags.put(dataRNG,currentTag); + return rngMapTags; + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/DocumentationTag.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/DocumentationTag.java new file mode 100644 index 0000000000000000000000000000000000000000..72ea4b255441952e0956194afb90d37da830e5f9 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/DocumentationTag.java @@ -0,0 +1,55 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import javax.xml.bind.annotation.XmlElement; + +public class DocumentationTag extends RngTag{ + + String documentation; + + @XmlElement(name="xsd:documentation") + public String getDocumentation() { + return documentation; + } + + public void setDocumentation(String documentation) { + this.documentation = documentation; + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/ElementTag.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/ElementTag.java new file mode 100644 index 0000000000000000000000000000000000000000..824248e7854d255e32f3db8f524703c63876173d --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/ElementTag.java @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name="rng:element") +public class ElementTag extends RngTag{ + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/GrammarTag.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/GrammarTag.java new file mode 100644 index 0000000000000000000000000000000000000000..592b777027f988091ff966e264bb2d0ff5d71fe9 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/GrammarTag.java @@ -0,0 +1,60 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name="rng:grammar") +public class GrammarTag extends RngTag{ + + @XmlAttribute(name = "datatypeLibrary") + private String datatypeLibrary = "http://www.w3.org/2001/XMLSchema-datatypes"; + + @XmlAttribute(name = "ns") + private String ns = "fr:gouv:culture:archivesdefrance:seda:v2.1"; + + @XmlAttribute(name = "xmlns") + private String xmlns = "fr:gouv:culture:archivesdefrance:seda:v2.1"; + + @XmlAttribute(name = "xmlns:xsd") + private String xd = "http://www.w3.org/2001/XMLSchema"; + + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/GroupTag.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/GroupTag.java new file mode 100644 index 0000000000000000000000000000000000000000..5df35dabb41b0622252242578e7d3a033174f92e --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/GroupTag.java @@ -0,0 +1,45 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name="rng:group") +public class GroupTag extends RngTag { +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/OneOrMoreTag.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/OneOrMoreTag.java new file mode 100644 index 0000000000000000000000000000000000000000..8170aaa49d94a56df1360da06bcfe7155817657f --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/OneOrMoreTag.java @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name="rng:oneOrMore") +public class OneOrMoreTag extends CardinalityTag{ + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/OptionalTag.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/OptionalTag.java new file mode 100644 index 0000000000000000000000000000000000000000..ebb609fae1aff3a468e3d16bce43ed687873ffc7 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/OptionalTag.java @@ -0,0 +1,45 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name="rng:optional") +public class OptionalTag extends CardinalityTag{ +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/PastisFactoryTagProvider.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/PastisFactoryTagProvider.java new file mode 100644 index 0000000000000000000000000000000000000000..31f7612f9eff43ef8d56043afee37787fea1dcda --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/PastisFactoryTagProvider.java @@ -0,0 +1,60 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +public class PastisFactoryTagProvider { + + public static AbstractTagFactory getFactory(String factoryType){ + + if("RngTag".equalsIgnoreCase(factoryType)){ + return new RngTagFactory(); + } + if("Cardinality".equalsIgnoreCase(factoryType)){ + return new CardinalityTagFactory(); + } + if("DataTag".equalsIgnoreCase(factoryType)){ + return new DataTagFactory(); + } + else if("Value".equalsIgnoreCase(factoryType)){ + return new ValueTagFactory(); + } + + return null; + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/RngTag.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/RngTag.java new file mode 100644 index 0000000000000000000000000000000000000000..26fe2fd4d84f6b2afbb753c48127dbe8ba780bb7 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/RngTag.java @@ -0,0 +1,96 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlSeeAlso; + +@XmlRootElement +@XmlSeeAlso({GrammarTag.class,StartTag.class,ElementTag.class,CardinalityTag.class,DataTag.class,AttributeTag.class, + ValueTag.class, DocumentationTag.class,AnnotationTag.class,GroupTag.class,ChoiceTag.class }) +public class RngTag extends Tag{ + + private static final Logger LOGGER = LoggerFactory.getLogger(RngTag.class); + + String name; + String dataType; + String groupOrChoice; + ValueTag valueTag; + + + @XmlAttribute + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + + @XmlAttribute(name="type") + public String getDataType() { + return dataType; + } + public void setDataType(String dataType) { + this.dataType = dataType; + } + + public String getGroupOrChoice() { + return groupOrChoice; + } + public void setGroupOrChoice(String groupOrChoice) { + this.groupOrChoice = groupOrChoice; + } + + @XmlElement(name="rng:value") + public ValueTag getValueTag() { + return valueTag; + } + + public void setValueTag(ValueTag valueTag) { + this.valueTag = valueTag; + } + +} + + diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/RngTagFactory.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/RngTagFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..08a5962a91f1a4e987ac362cd0f5f90616f37e4d --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/RngTagFactory.java @@ -0,0 +1,234 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import fr.gouv.vitamui.pastis.model.ElementProperties; +import fr.gouv.vitamui.pastis.util.RNGConstants; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.*; + +public class RngTagFactory implements AbstractTagFactory<RngTag> { + + private static final Logger LOGGER = LoggerFactory.getLogger(RngTagFactory.class); + + static RngTag rngTree; + + + @Override + public RngTag createTag(ElementProperties node, Tag parentNode,int profondeur) { + + ValueTag valueRNG = null; + DataTag dataRNG = null; + CardinalityTag cardinalityRNG = null; + RngTag elementOrAttributeRNG = null; + AnnotationTag annotationRNG = null; + DocumentationTag documentationRNG = null; + GroupTag groupTag = null; + ChoiceTag choiceTag = null; + + // 0 . Create objects according to node data; + // If the node has a value + if(null != node.getValue() && !node.getValue().equals("undefined")) { + valueRNG = new ValueTag(); + valueRNG.setValue(node.getValue()); + } + + if (node.getChildren().stream().filter(c->!c.getType().equals(RNGConstants.MetadaDataType.element)).count()==0){ + if (valueRNG==null && RNGConstants.TypesMap.containsKey(node.getName())){ + dataRNG = new DataTag(); + dataRNG.setDataType(RNGConstants.TypesMap.get(node.getName()).getLabel()); + } + } + + // When a value is declared in a profile element, the <rng:data> tag must be suppressed + // to assure that the generated profile is successfully imported by VITAM + if(null != node.getValueOrData() && !node.getValueOrData().equals("undefined") && node.getValue() == null) { + if(node.getValueOrData().equals("data")) { + dataRNG = new DataTag(); + } + } + // Sets the type of data (if value or data) + if(null != node.getDataType() && !node.getDataType().equals("undefined")) { + if(null != valueRNG) { + valueRNG.setDataType(node.getDataType()); + }else + if(null != dataRNG) { + dataRNG.setDataType(node.getDataType()); + } + } + // Set annotation and documentation tags (if exists) + if(null != node.getDocumentation() ) { + annotationRNG = new AnnotationTag(); + documentationRNG = new DocumentationTag(); + documentationRNG.setDocumentation(node.getDocumentation()); + annotationRNG.setDocumentationTag(documentationRNG); + } + + if(null != node.getType() && !node.getType().equals("undefined")) { + if(node.getType().equals("element")) { + elementOrAttributeRNG = new ElementTag(); + } else if(node.getType().equals("attribute")) { + elementOrAttributeRNG = new AttributeTag(); + } + if(null != node.getName() && !node.getName().equals("undefined")) { + elementOrAttributeRNG.setName(node.getName()); + } + } + + if(null != documentationRNG) { + elementOrAttributeRNG.getChildren().add(annotationRNG); + annotationRNG.setParent(elementOrAttributeRNG); + } + + // Check node's and its children's cardinality + if(node.getCardinality() != null ) { + CardinalityTagFactory cardinalityFactory = new CardinalityTagFactory(); + CardinalityTag cardinalityTag = cardinalityFactory.createTag(node,parentNode,profondeur); + LOGGER.info("Parsing " + cardinalityTag.getTagName()); + cardinalityRNG = cardinalityTag; + } + + RngTag currentTag = null; + // 1. Once the objects are created, arrange them accordingly + // 1. Check if it is an element + if(null != elementOrAttributeRNG) { + + if (parentNode != null ) LOGGER.info("Parsing " + elementOrAttributeRNG.getName()); + // 1.1 Check if the element has cardinality + if( null != cardinalityRNG ) { + cardinalityRNG.getChildren().add(elementOrAttributeRNG); + elementOrAttributeRNG.setParent(cardinalityRNG); + currentTag = cardinalityRNG; + + } + + else { + currentTag = elementOrAttributeRNG; + //1.2. Check if it's the first grammar node (Archive transfer) + if(parentNode == null) { + GrammarTag grammarTag = new GrammarTag(); + StartTag startTag = new StartTag(); + startTag.setParent(grammarTag); + grammarTag.getChildren().add(startTag); + currentTag = grammarTag; + } + } + + // 2. Check data tag + if(null != dataRNG) { + DataTagFactory dataTagFactory = new DataTagFactory(); + HashMap dataAndCurrentTagMap = new HashMap(dataTagFactory.createTagWithTag(node,dataRNG,currentTag,profondeur)); + + currentTag = (RngTag) new ArrayList(dataAndCurrentTagMap.values()).get(0); + + } + // 3. Check value tag + if(null != valueRNG) { + // If Children is empty + if(currentTag.getChildren().isEmpty() ) { + if (currentTag instanceof ElementTag) { + currentTag.setValueTag(valueRNG); + valueRNG.setParent(currentTag); + + } else if (currentTag instanceof AttributeTag) { + currentTag.setValueTag(valueRNG); + valueRNG.setParent(currentTag); + } + // If children is Element or Attribute, set accordingly + } else if (currentTag instanceof ElementTag) { + currentTag.setValueTag(valueRNG); + valueRNG.setParent(currentTag); + + } else if (currentTag instanceof AttributeTag) { + currentTag.setValueTag(valueRNG); + valueRNG.setParent(currentTag); + } + else { + // Set the value to an simple element + elementOrAttributeRNG.setValueTag(valueRNG); + valueRNG.setParent(elementOrAttributeRNG); + } + } + } + + if(null != currentTag) { + + if(null != parentNode) { + RngTag optionalWithChildren; + optionalWithChildren = (RngTag) parentNode.getChildren() + .stream().filter(cardinality-> cardinality instanceof CardinalityTag) + .findAny() + .orElse(null); + + Boolean optionalHasAlreadyCurrentTag = optionalWithChildren == null + ? false : optionalWithChildren.children.contains(currentTag); + + if (!optionalHasAlreadyCurrentTag) { + currentTag.setParent(parentNode); + parentNode.getChildren().add(currentTag); + } + + }else { + rngTree = currentTag; + } + } + + if (currentTag instanceof GrammarTag) { + this.createTag( node, (RngTag) currentTag.getChildren().get(0), profondeur + 1); + } + else { + for( ElementProperties next : node.getChildren() ) { + if (currentTag instanceof CardinalityTag) { + this.createTag( next, (RngTag) currentTag.getChildren().get(0), profondeur + 1); + } else { + this.createTag( next, currentTag, profondeur + 1); + } + } + } + return rngTree; + } + + @Override + public Map<RngTag, RngTag> createTagWithTag(ElementProperties node, RngTag tag, RngTag currentTag, int level) { + return null; + } + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/StartTag.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/StartTag.java new file mode 100644 index 0000000000000000000000000000000000000000..4aff8742ca99d047a699a2fb17ebce535c061469 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/StartTag.java @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name="rng:start") +public class StartTag extends RngTag{ + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/Tag.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/Tag.java new file mode 100644 index 0000000000000000000000000000000000000000..d0749d72ae49f992adeb7b2b0cb21e4851fcdc16 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/Tag.java @@ -0,0 +1,75 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import javax.xml.bind.annotation.XmlAnyElement; +import javax.xml.bind.annotation.XmlTransient; +import java.util.ArrayList; +import java.util.List; + +public abstract class Tag { + + Tag parent; + List<Tag> children = new ArrayList<>(); + + //@XmlTransient to avoid circular loop parent <-> child + @XmlTransient + public Tag getParent() { + return parent; + } + + public void setParent(Tag parent) { + this.parent = parent; + } + + @XmlAnyElement + public List<Tag> getChildren() { + return children; + } + + public void setChildren(List<Tag> children) { + this.children = children; + } + + String getTagName(){ + return this.getClass().getSimpleName(); + } + + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/ValueTag.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/ValueTag.java new file mode 100644 index 0000000000000000000000000000000000000000..9880770269125e251fd005f6fe9ec07f59ecd7d9 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/ValueTag.java @@ -0,0 +1,77 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlTransient; +import javax.xml.bind.annotation.XmlValue; + +public class ValueTag { + + private String dataType; + private String value; + + private Tag parent; + + @XmlAttribute (name="type") + public String getDataType() {return dataType; } + + public void setDataType(String dataType) { + this.dataType = dataType; + } + + @XmlValue + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + @XmlTransient + public Tag getParent() { + return parent; + } + + public void setParent(Tag parent) { + this.parent = parent; + } + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/ValueTagFactory.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/ValueTagFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..4f34dd89151de0786b9a96978f44d46aa262ff2c --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/ValueTagFactory.java @@ -0,0 +1,55 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import fr.gouv.vitamui.pastis.model.ElementProperties; +import java.util.Map; + +public class ValueTagFactory implements AbstractTagFactory{ + + @Override + public Tag createTag(ElementProperties node, Tag tag, int level) { + return null; + } + + @Override + public Map<RngTag, RngTag> createTagWithTag(ElementProperties node, RngTag tag, RngTag currentTag, int level) { + return null; + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/ZeroOrMoreTag.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/ZeroOrMoreTag.java new file mode 100644 index 0000000000000000000000000000000000000000..603b68e8d6020746df0b5202291eb17e5b0550be --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/ZeroOrMoreTag.java @@ -0,0 +1,45 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.factory; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement (name="rng:zeroOrMore") +public class ZeroOrMoreTag extends CardinalityTag { +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/package-info.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/package-info.java new file mode 100644 index 0000000000000000000000000000000000000000..4721c8c40e138a46209291cdf9c256f3cc91079b --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/factory/package-info.java @@ -0,0 +1,54 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +@XmlSchema( + + xmlns = { + @XmlNs(prefix = "a", namespaceURI = "http://relaxng.org/ns/compatibility/annotations/1.0"), + @XmlNs(prefix = "rng", namespaceURI = "http://relaxng.org/ns/structure/1.0"), + @XmlNs(prefix = "seda", namespaceURI = "fr:gouv:culture:archivesdefrance:seda:v2.1"), + @XmlNs(prefix = "xlink", namespaceURI = "http://www.w3.org/1999/xlink"), + @XmlNs(prefix = "xsd", namespaceURI = "http://www.w3.org/2001/XMLSchema"), + }, + elementFormDefault = XmlNsForm.QUALIFIED) + +package fr.gouv.vitamui.pastis.model.factory; + +import javax.xml.bind.annotation.XmlNs; +import javax.xml.bind.annotation.XmlNsForm; +import javax.xml.bind.annotation.XmlSchema; diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/AnnotationXML.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/AnnotationXML.java new file mode 100644 index 0000000000000000000000000000000000000000..176fbd48c4d2e4e1e2a8f1da6a566d93a5a2d6ad --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/AnnotationXML.java @@ -0,0 +1,61 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +/* + * Copyright CINES Centre Informatique National de l'Enseignement Supérieur, 2017 + * Tout droit d'utilisation strictement soumis à l'approbation du CINES + */ +package fr.gouv.vitamui.pastis.model.jaxb; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement (name="xsd:annotation") +public class AnnotationXML extends BaliseXML{ + + DocumentationXML documentationXML; + + @XmlElement (name="xsd:documentation") + public DocumentationXML getDocumentationXML() { + return documentationXML; + } + + public void setDocumentationXML(DocumentationXML documentationXML) { + this.documentationXML = documentationXML; + } + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/AttributeXML.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/AttributeXML.java new file mode 100644 index 0000000000000000000000000000000000000000..8fa974dabab2e98717f0b74ee51fbd9cb23c0b90 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/AttributeXML.java @@ -0,0 +1,61 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +/* + * Copyright CINES Centre Informatique National de l'Enseignement Supérieur, 2017 + * Tout droit d'utilisation strictement soumis à l'approbation du CINES + */ +package fr.gouv.vitamui.pastis.model.jaxb; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement (name="rng:attribute") +public class AttributeXML extends BaliseXML{ + + ValueXML valueXML; + + @XmlElement (name="rng:value") + public ValueXML getValueXML() { + return valueXML; + } + + public void setValueXML(ValueXML valueXML) { + this.valueXML = valueXML; + } + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/BaliseXML.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/BaliseXML.java new file mode 100644 index 0000000000000000000000000000000000000000..e0357d5f9a6ddbf55a4d1379ffa16f241a9222bb --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/BaliseXML.java @@ -0,0 +1,346 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.jaxb; + +import fr.gouv.vitamui.pastis.model.ElementProperties; +import fr.gouv.vitamui.pastis.util.RNGConstants; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.bind.annotation.*; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + + +@XmlRootElement +public class BaliseXML{ + + + public BaliseXML() { + super(); + } + + String name; + String dataType; + String cardinality; + String groupOrChoice; + BaliseXML parent; + ValueXML valueXML; + + private static final Logger LOGGER = LoggerFactory.getLogger(BaliseXML.class); + + public static BaliseXML baliseXMLStatic; + + List<BaliseXML> children = new ArrayList<>(); + + @XmlAttribute + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + @XmlAttribute (name="type") + public String getDataType() { + return dataType; + } + + public void setDataType(String dataType) { + this.dataType = dataType; + } + + + //@XmlTransient to avoid circular loop parent <-> child + @XmlTransient + public BaliseXML getParent() { + return parent; + } + + public void setParent(BaliseXML parent) { + this.parent = parent; + } + + // XmlAnyElement pour etre le plus generique + @XmlAnyElement + public List<BaliseXML> getChildren() { + return children; + } + + public void setChildren(List<BaliseXML> children) { + this.children = children; + } + + public String getCardinality() { + return cardinality; + } + + public String setCardinality(RNGConstants.Cardinality cardinality) { + return this.cardinality = cardinality.getLabel(); + } + + public String getGroupOrChoice() { + return groupOrChoice; + } + + @XmlElement(name="rng:value") + public ValueXML getValueXML() { + return valueXML; + } + + public void setValueXML(ValueXML valueXML) { + this.valueXML = valueXML; + } + + public void setGroupOrChoice(RNGConstants.GroupOrChoice groupOrChoice) { + this.groupOrChoice = groupOrChoice.getLabel(); + } + + + @Override + public String toString() { + // TODO Auto-generated method stub + return this.name; + } + + /** + * + * @param node node représentant l'arbre ElementProperties correspondant au json reçu du front + * @param profondeur profondeur du noeud utile pour le front angular + * @param parentNode noeud parent utilisé dans la récursivité pour lié parent & children + */ + public static void buildBaliseXMLTree(ElementProperties node, int profondeur, BaliseXML parentNode ){ + + ValueXML valueRNG = null; + DataXML dataRNG = null; + BaliseXML cardinalityRNG = null; + BaliseXML elementOrAttributeRNG = null; + AnnotationXML annotationXML = null; + DocumentationXML documentationXML = null; + BaliseXML groupOrChoice = null; + + // If the node has a value + if(null != node.getValue() && !node.getValue().equals("undefined")) { + valueRNG = new ValueXML(); + valueRNG.setValue(node.getValue()); + } + + // When a value is declared in a profile element, the <rng:data> tag must be suppressed + // to assure that the generated profile is successfully imported by VITAM + if(null != node.getValueOrData() && !node.getValueOrData().equals("undefined") && node.getValue() == null) { + if(node.getValueOrData().equals("data")) { + dataRNG = new DataXML(); + } + } + + if (node.getName() != null && (node.getName().equals("CodeListVersions") || node.getChildren().stream().filter(c->c.getType().equals(RNGConstants.MetadaDataType.attribute)).count()==0)){ + if (valueRNG==null && RNGConstants.TypesMap.containsKey(node.getName())){ + dataRNG = new DataXML(); + dataRNG.setDataType(RNGConstants.TypesMap.get(node.getName()).getLabel()); + } + } + + // Sets the type of data (if value or data) + if(null != node.getDataType() && !node.getDataType().equals("undefined")) { + if(null != valueRNG) { + valueRNG.setDataType(node.getDataType()); + }else + if(null != dataRNG) { + dataRNG.setDataType(node.getDataType()); + } + } + // Set annotation and documentation tags (if exists) + if(null != node.getDocumentation() ) { + annotationXML = new AnnotationXML(); + documentationXML = new DocumentationXML(); + documentationXML.setDocumentation(node.getDocumentation()); + annotationXML.setDocumentationXML(documentationXML); + } + + if(null != node.getType() && !node.getType().equals("undefined")) { + if(node.getType().equals("element")) { + elementOrAttributeRNG = new ElementXML(); + } else if(node.getType().equals("attribute")) { + elementOrAttributeRNG = new AttributeXML(); + } + if(null != node.getName() && !node.getName().equals("undefined")) { + elementOrAttributeRNG.setName(node.getName()); + } + } + + if(null != documentationXML) { + elementOrAttributeRNG.getChildren().add(annotationXML); + annotationXML.setParent(elementOrAttributeRNG); + } + + // Check node's and its children's cardinality + if(node.getCardinality() != null ) { + + if(node.getCardinality().equals(RNGConstants.Cardinality.zeroOrMore.getLabel())) { + cardinalityRNG = new ZeroOrMoreXML(); + if(elementOrAttributeRNG != null) { + elementOrAttributeRNG.setCardinality(RNGConstants.Cardinality.zeroOrMore); + } + } else if(node.getCardinality().equals(RNGConstants.Cardinality.oneOrMore.getLabel())) { + cardinalityRNG = new OneOrMoreXML(); + if(elementOrAttributeRNG != null) { + elementOrAttributeRNG.setCardinality(RNGConstants.Cardinality.oneOrMore); + } + } else if(node.getCardinality().equals(RNGConstants.Cardinality.optional.getLabel())) { + cardinalityRNG = new OptionalXML(); + if(elementOrAttributeRNG != null) { + elementOrAttributeRNG.setCardinality(RNGConstants.Cardinality.optional); + } + } + } + + BaliseXML currentXmlTag = null; + + // 1. Check if it is an element + if(null != elementOrAttributeRNG) { + + LOGGER.info("Parsing " + elementOrAttributeRNG.getName()); + // 1.1 Check if the element has cardinality + if( null != cardinalityRNG ) { + cardinalityRNG.getChildren().add(elementOrAttributeRNG); + elementOrAttributeRNG.setParent(cardinalityRNG); + currentXmlTag = cardinalityRNG; + + } + + else { + currentXmlTag = elementOrAttributeRNG; + //1.2. Check if it's the first grammarnode (Archive transfer) + if(parentNode == null) { + GrammarXML grammar = new GrammarXML(); + StartXML start = new StartXML(); + start.setParent(grammar); + grammar.getChildren().add(start); + currentXmlTag = grammar; + } + } + + // 2. Check data tag + if(null != dataRNG) { + if (!currentXmlTag.getChildren().isEmpty() && + (currentXmlTag.getChildren().get(0) instanceof ElementXML + ||currentXmlTag.getChildren().get(0) instanceof AttributeXML)){ + currentXmlTag.getChildren().get(0).getChildren().add(dataRNG); + dataRNG.setParent(currentXmlTag); + + }else { + currentXmlTag.getChildren().add(dataRNG); + dataRNG.setParent(currentXmlTag); + } + } + // 3. Check value tag + if(null != valueRNG) { + // If Children is empty + if(currentXmlTag.getChildren().isEmpty() ) { + if (currentXmlTag instanceof ElementXML) { + ((ElementXML)currentXmlTag).setValueXML(valueRNG); + valueRNG.setParent(currentXmlTag); + + } else if (currentXmlTag instanceof AttributeXML) { + ((AttributeXML)currentXmlTag).setValueXML(valueRNG); + valueRNG.setParent(currentXmlTag); + } + // If children is Element or Attribute, set accordingly + } else if (currentXmlTag instanceof ElementXML) { + ((ElementXML) currentXmlTag).setValueXML(valueRNG); + valueRNG.setParent(currentXmlTag); + + } else if (currentXmlTag instanceof AttributeXML) { + ((AttributeXML) currentXmlTag).setValueXML(valueRNG); + valueRNG.setParent(currentXmlTag); + } + else { + // Set the value to an simple element + elementOrAttributeRNG.setValueXML(valueRNG); + valueRNG.setParent(elementOrAttributeRNG); + } + } + } + + if(null != currentXmlTag) { + + if(null != parentNode) { + BaliseXML optionalWithChildren = parentNode.getChildren() + .stream().filter(cardinality-> cardinality instanceof OptionalXML + || cardinality instanceof ZeroOrMoreXML + || cardinality instanceof OneOrMoreXML ) + .findAny() + .orElse(null); + + Boolean optionalHasAlreadyCurrentTag = optionalWithChildren == null + ? false : optionalWithChildren.children.contains(currentXmlTag); + + if (!optionalHasAlreadyCurrentTag) { + currentXmlTag.setParent(parentNode); + parentNode.getChildren().add(currentXmlTag); + } + + + }else { + baliseXMLStatic = currentXmlTag; + } + } + + if (currentXmlTag instanceof GrammarXML) { + buildBaliseXMLTree( node, profondeur + 1, currentXmlTag.getChildren().get(0)); + } + else { + for( ElementProperties next : node.getChildren() ) { + if (currentXmlTag instanceof OptionalXML || currentXmlTag instanceof OneOrMoreXML + || currentXmlTag instanceof ZeroOrMoreXML) { + buildBaliseXMLTree( next, profondeur + 1, currentXmlTag.getChildren().get(0)); + } else { + buildBaliseXMLTree( next, profondeur + 1, currentXmlTag ); + } + } + } + + } + + + + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/ChoiceXml.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/ChoiceXml.java new file mode 100644 index 0000000000000000000000000000000000000000..3ec4c1c3429ef06487cd6d08503f0401a83ceb20 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/ChoiceXml.java @@ -0,0 +1,46 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.model.jaxb; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement (name="rng:choice") +public class ChoiceXml extends BaliseXML { + + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/DataXML.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/DataXML.java new file mode 100644 index 0000000000000000000000000000000000000000..466a6d967c8a2b5e93af30a2160ce9ad7ab606d5 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/DataXML.java @@ -0,0 +1,57 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +/* + * Copyright CINES Centre Informatique National de l'Enseignement Supérieur, 2017 + * Tout droit d'utilisation strictement soumis à l'approbation du CINES + */ +package fr.gouv.vitamui.pastis.model.jaxb; + +import fr.gouv.vitamui.pastis.util.RNGConstants; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement (name="rng:data") +public class DataXML extends BaliseXML{ + public DataXML(){ + } + + public DataXML(RNGConstants.DataType dataType, BaliseXML parent){ + this.setDataType(dataType.getLabel()); + this.setParent(parent); + } +} \ No newline at end of file diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/DocumentationXML.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/DocumentationXML.java new file mode 100644 index 0000000000000000000000000000000000000000..db0c1361990c6140c72ce1c2778af657942bcc28 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/DocumentationXML.java @@ -0,0 +1,67 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.jaxb; + +import javax.xml.bind.annotation.XmlTransient; +import javax.xml.bind.annotation.XmlValue; + +public class DocumentationXML { + + String documentation; + + @XmlValue + public String getDocumentation() { + return documentation; + } + + public void setDocumentation(String documentation) { + this.documentation = documentation; + } + + BaliseXML parent; + + @XmlTransient + public BaliseXML getParent() { + return parent; + } + + public void setParent(BaliseXML parent) { + this.parent = parent; + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/ElementXML.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/ElementXML.java new file mode 100644 index 0000000000000000000000000000000000000000..800c39f5aa946021235f4db78f5826a4868b779a --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/ElementXML.java @@ -0,0 +1,59 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.jaxb; + +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; + + +@XmlRootElement (name="rng:element") +public class ElementXML extends BaliseXML{ + + ValueXML valueXML; + + + @XmlElement (name="rng:value") + public ValueXML getValueXML() { + return valueXML; + } + + public void setValueXML(ValueXML valueXML) { + this.valueXML = valueXML; + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/GrammarXML.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/GrammarXML.java new file mode 100644 index 0000000000000000000000000000000000000000..b496b4882d9257734daf8d752b948334f978223d --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/GrammarXML.java @@ -0,0 +1,68 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.model.jaxb; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement (name="rng:grammar") +public class GrammarXML extends BaliseXML { + + StartXML start; + + @XmlAttribute(name = "datatypeLibrary") + private String datatypeLibrary = "http://www.w3.org/2001/XMLSchema-datatypes"; + + @XmlAttribute(name = "ns") + private String ns = "fr:gouv:culture:archivesdefrance:seda:v2.1"; + + @XmlAttribute(name = "xmlns") + private String xmlns = "fr:gouv:culture:archivesdefrance:seda:v2.1"; + + @XmlAttribute(name = "xmlns:xsd") + private String xd = "http://www.w3.org/2001/XMLSchema"; + + public StartXML getStart() { + return start; + } + + public void setStart(StartXML start) { + this.start = start; + } + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/GroupXML.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/GroupXML.java new file mode 100644 index 0000000000000000000000000000000000000000..9145956958f27655dfe012abea4a9cca62171cca --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/GroupXML.java @@ -0,0 +1,45 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.model.jaxb; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement (name="rng:group") +public class GroupXML extends BaliseXML{ + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/OneOrMoreXML.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/OneOrMoreXML.java new file mode 100644 index 0000000000000000000000000000000000000000..e9c344ed77cab47b0213b6e56f10745a098ef07d --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/OneOrMoreXML.java @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +/* + * Copyright CINES Centre Informatique National de l'Enseignement Supérieur, 2017 + * Tout droit d'utilisation strictement soumis à l'approbation du CINES + */ +package fr.gouv.vitamui.pastis.model.jaxb; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement (name="rng:oneOrMore") +public class OneOrMoreXML extends BaliseXML{ + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/OptionalXML.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/OptionalXML.java new file mode 100644 index 0000000000000000000000000000000000000000..94c23c924d0c0f7245fb1b619df78fca55035a43 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/OptionalXML.java @@ -0,0 +1,49 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +/* + * Copyright CINES Centre Informatique National de l'Enseignement Supérieur, 2017 + * Tout droit d'utilisation strictement soumis à l'approbation du CINES + */ +package fr.gouv.vitamui.pastis.model.jaxb; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement (name="rng:optional") +public class OptionalXML extends BaliseXML{ + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/StartXML.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/StartXML.java new file mode 100644 index 0000000000000000000000000000000000000000..b8c951b399631cf714ad03d8af27c76c788c7aa4 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/StartXML.java @@ -0,0 +1,45 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.model.jaxb; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement(name="rng:start") +public class StartXML extends BaliseXML { + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/ValueXML.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/ValueXML.java new file mode 100644 index 0000000000000000000000000000000000000000..c2797f579fef42a06d339b7dc0d63b07f10ece2f --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/ValueXML.java @@ -0,0 +1,81 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.model.jaxb; + +import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlTransient; +import javax.xml.bind.annotation.XmlValue; + +public class ValueXML { + + String value; + + @XmlValue + public String getValue() { + return value; + } + + public void setValue(String value) { + this.value = value; + } + + + String dataType; + + BaliseXML parent; + + @XmlTransient + public BaliseXML getParent() { + return parent; + } + + public void setParent(BaliseXML parent) { + this.parent = parent; + } + + + @XmlAttribute (name="type") + public String getDataType() { + return dataType; + } + + public void setDataType(String dataType) { + this.dataType = dataType; + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/ZeroOrMoreXML.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/ZeroOrMoreXML.java new file mode 100644 index 0000000000000000000000000000000000000000..b4407ccfbeedeffcdb58de898649a7e815f10f4a --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/ZeroOrMoreXML.java @@ -0,0 +1,50 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +/* + * Copyright CINES Centre Informatique National de l'Enseignement Supérieur, 2017 + * Tout droit d'utilisation strictement soumis à l'approbation du CINES + */ +package fr.gouv.vitamui.pastis.model.jaxb; + +import javax.xml.bind.annotation.XmlRootElement; + +@XmlRootElement (name="rng:zeroOrMore") + +public class ZeroOrMoreXML extends BaliseXML{ + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/package-info.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/package-info.java new file mode 100644 index 0000000000000000000000000000000000000000..a67c490173dbc660616a466a0ac4080fee0ba319 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/jaxb/package-info.java @@ -0,0 +1,54 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +@XmlSchema( + + xmlns = { + @XmlNs(prefix = "a", namespaceURI = "http://relaxng.org/ns/compatibility/annotations/1.0"), + @XmlNs(prefix = "rng", namespaceURI = "http://relaxng.org/ns/structure/1.0"), + @XmlNs(prefix = "seda", namespaceURI = "fr:gouv:culture:archivesdefrance:seda:v2.1"), + @XmlNs(prefix = "xlink", namespaceURI = "http://www.w3.org/1999/xlink"), + @XmlNs(prefix = "xsd", namespaceURI = "http://www.w3.org/2001/XMLSchema"), + }, + elementFormDefault = XmlNsForm.QUALIFIED) + +package fr.gouv.vitamui.pastis.model.jaxb; + +import javax.xml.bind.annotation.XmlNs; +import javax.xml.bind.annotation.XmlNsForm; +import javax.xml.bind.annotation.XmlSchema; diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/rng/ArchiveTransfer.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/rng/ArchiveTransfer.java new file mode 100644 index 0000000000000000000000000000000000000000..b2233ed5a25f0d90f07ade2e024ab83a565a91e2 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/rng/ArchiveTransfer.java @@ -0,0 +1,19567 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.0 +// See <a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a> +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2019.11.14 at 11:15:17 AM CET +// + + +package fr.gouv.vitamui.pastis.model.rng; + +import javax.xml.bind.annotation.*; +import javax.xml.bind.annotation.adapters.CollapsedStringAdapter; +import javax.xml.bind.annotation.adapters.XmlJavaTypeAdapter; +import javax.xml.datatype.XMLGregorianCalendar; +import java.math.BigInteger; +import java.util.ArrayList; +import java.util.List; + + +/** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Comment"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Date"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="MessageIdentifier"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="schemeDataURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="schemeID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="schemeAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="schemeAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="schemeName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="schemeVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="schemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="ArchivalAgreement"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CodeListVersions"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="ReplyCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="MessageDigestAlgorithmCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="MimeTypeCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="EncodingCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="FileFormatCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CompressionAlgorithmCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DataObjectVersionCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="StorageRuleCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="AppraisalRuleCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="AccessRuleCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DisseminationRuleCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="ReuseRuleCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="ClassificationRuleCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="AuthorizationReasonCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="RelationshipCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="DataObjectPackage"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="BinaryDataObject"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="DataObjectGroupReferenceId" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DataObjectGroupId" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DataObjectVersion" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <choice> + * <element name="Uri" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>anyURI"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Attachement" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="uri" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="filename" type="{http://www.w3.org/2001/XMLSchema}string" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </choice> + * <element name="MessageDigest"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>base64Binary"> + * <attribute name="algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Size"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>positiveInteger"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Compressed" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="algorithm" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="uncompressedSize" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="FormatIdentification"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="FormatLitteral"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="MimeType"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="FormatId"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="FileInfo"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Filename"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CreatingApplicationName"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CreatingApplicationVersion" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DateCreatedByApplication" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CreatingOs" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CreatingOsVersion" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="LastModified" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Metadata" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <choice> + * <element name="Audio" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Document" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Image" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Text" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Video" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </choice> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="OtherMetadata" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Relationship" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="target" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="DescriptiveMetadata"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="ArchiveUnit"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Content" maxOccurs="unbounded"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="DescriptionLevel"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Title"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="FilePlanPosition" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="SystemId" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="OriginatingSystemId" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="ArchivalAgencyArchiveUnitIdentifier" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Description"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CustodialHistory" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="CustodialHistoryItem" type="{http://www.w3.org/2001/XMLSchema}anyType"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Type" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DocumentType" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Language" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>language"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DescriptionLanguage" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Status" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Version" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Tag" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Keyword"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="KeywordContent"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="KeywordReference" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="KeywordType"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" fixed="edition 2009" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Coverage" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Spatial" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Temporal" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Juridictional" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="OriginatingAgency"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Identifier"> + * <simpleType> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * </restriction> + * </simpleType> + * </element> + * <element name="OrganizationDescriptiveMetadata" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="SubmissionAgency" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Identifier" minOccurs="0"> + * <simpleType> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * </restriction> + * </simpleType> + * </element> + * <element name="OrganizationDescriptiveMetadata" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="AuthorizedAgent" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Writer" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Adressee" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Recipient" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Source" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="RelatedObjectReference" type="{http://www.w3.org/2001/XMLSchema}anyType" minOccurs="0"/> + * <element name="CreatedDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="TransactedDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="AcquiredDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="SentDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="ReceivedDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="RegisteredDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="StartDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="EndDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="ArchivalAgency"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Identifier"> + * <simpleType> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * </restriction> + * </simpleType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="TransferringAgency"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Identifier"> + * <simpleType> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * </restriction> + * </simpleType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ +@XmlAccessorType(XmlAccessType.FIELD) +@XmlType(name = "", propOrder = { + "comment", + "date", + "messageIdentifier", + "archivalAgreement", + "codeListVersions", + "dataObjectPackage", + "archivalAgency", + "transferringAgency" +}) +@XmlRootElement(name = "ArchiveTransfer") +public class ArchiveTransfer { + + @XmlElement(name = "Comment", required = true) + protected ArchiveTransfer.Comment comment; + @XmlElement(name = "Date", required = true) + protected ArchiveTransfer.Date date; + @XmlElement(name = "MessageIdentifier", required = true) + protected ArchiveTransfer.MessageIdentifier messageIdentifier; + @XmlElement(name = "ArchivalAgreement", required = true) + protected ArchiveTransfer.ArchivalAgreement archivalAgreement; + @XmlElement(name = "CodeListVersions", required = true) + protected ArchiveTransfer.CodeListVersions codeListVersions; + @XmlElement(name = "DataObjectPackage", required = true) + protected ArchiveTransfer.DataObjectPackage dataObjectPackage; + @XmlElement(name = "ArchivalAgency", required = true) + protected ArchiveTransfer.ArchivalAgency archivalAgency; + @XmlElement(name = "TransferringAgency", required = true) + protected ArchiveTransfer.TransferringAgency transferringAgency; + + /** + * Gets the value of the comment property. + * + * @return + * possible object is + * {@link ArchiveTransfer.Comment } + * + */ + public ArchiveTransfer.Comment getComment() { + return comment; + } + + /** + * Sets the value of the comment property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.Comment } + * + */ + public void setComment(ArchiveTransfer.Comment value) { + this.comment = value; + } + + /** + * Gets the value of the date property. + * + * @return + * possible object is + * {@link ArchiveTransfer.Date } + * + */ + public ArchiveTransfer.Date getDate() { + return date; + } + + /** + * Sets the value of the date property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.Date } + * + */ + public void setDate(ArchiveTransfer.Date value) { + this.date = value; + } + + /** + * Gets the value of the messageIdentifier property. + * + * @return + * possible object is + * {@link ArchiveTransfer.MessageIdentifier } + * + */ + public ArchiveTransfer.MessageIdentifier getMessageIdentifier() { + return messageIdentifier; + } + + /** + * Sets the value of the messageIdentifier property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.MessageIdentifier } + * + */ + public void setMessageIdentifier(ArchiveTransfer.MessageIdentifier value) { + this.messageIdentifier = value; + } + + /** + * Gets the value of the archivalAgreement property. + * + * @return + * possible object is + * {@link ArchiveTransfer.ArchivalAgreement } + * + */ + public ArchiveTransfer.ArchivalAgreement getArchivalAgreement() { + return archivalAgreement; + } + + /** + * Sets the value of the archivalAgreement property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.ArchivalAgreement } + * + */ + public void setArchivalAgreement(ArchiveTransfer.ArchivalAgreement value) { + this.archivalAgreement = value; + } + + /** + * Gets the value of the codeListVersions property. + * + * @return + * possible object is + * {@link ArchiveTransfer.CodeListVersions } + * + */ + public ArchiveTransfer.CodeListVersions getCodeListVersions() { + return codeListVersions; + } + + /** + * Sets the value of the codeListVersions property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.CodeListVersions } + * + */ + public void setCodeListVersions(ArchiveTransfer.CodeListVersions value) { + this.codeListVersions = value; + } + + /** + * Gets the value of the dataObjectPackage property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage } + * + */ + public ArchiveTransfer.DataObjectPackage getDataObjectPackage() { + return dataObjectPackage; + } + + /** + * Sets the value of the dataObjectPackage property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage } + * + */ + public void setDataObjectPackage(ArchiveTransfer.DataObjectPackage value) { + this.dataObjectPackage = value; + } + + /** + * Gets the value of the archivalAgency property. + * + * @return + * possible object is + * {@link ArchiveTransfer.ArchivalAgency } + * + */ + public ArchiveTransfer.ArchivalAgency getArchivalAgency() { + return archivalAgency; + } + + /** + * Sets the value of the archivalAgency property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.ArchivalAgency } + * + */ + public void setArchivalAgency(ArchiveTransfer.ArchivalAgency value) { + this.archivalAgency = value; + } + + /** + * Gets the value of the transferringAgency property. + * + * @return + * possible object is + * {@link ArchiveTransfer.TransferringAgency } + * + */ + public ArchiveTransfer.TransferringAgency getTransferringAgency() { + return transferringAgency; + } + + /** + * Sets the value of the transferringAgency property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.TransferringAgency } + * + */ + public void setTransferringAgency(ArchiveTransfer.TransferringAgency value) { + this.transferringAgency = value; + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Identifier"> + * <simpleType> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * </restriction> + * </simpleType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "identifier" + }) + public static class ArchivalAgency { + + @XmlElement(name = "Identifier", required = true) + protected String identifier; + + /** + * Gets the value of the identifier property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getIdentifier() { + return identifier; + } + + /** + * Sets the value of the identifier property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setIdentifier(String value) { + this.identifier = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class ArchivalAgreement { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="ReplyCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="MessageDigestAlgorithmCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="MimeTypeCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="EncodingCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="FileFormatCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CompressionAlgorithmCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DataObjectVersionCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="StorageRuleCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="AppraisalRuleCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="AccessRuleCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DisseminationRuleCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="ReuseRuleCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="ClassificationRuleCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="AuthorizationReasonCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="RelationshipCodeListVersion"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "replyCodeListVersion", + "messageDigestAlgorithmCodeListVersion", + "mimeTypeCodeListVersion", + "encodingCodeListVersion", + "fileFormatCodeListVersion", + "compressionAlgorithmCodeListVersion", + "dataObjectVersionCodeListVersion", + "storageRuleCodeListVersion", + "appraisalRuleCodeListVersion", + "accessRuleCodeListVersion", + "disseminationRuleCodeListVersion", + "reuseRuleCodeListVersion", + "classificationRuleCodeListVersion", + "authorizationReasonCodeListVersion", + "relationshipCodeListVersion" + }) + public static class CodeListVersions { + + @XmlElement(name = "ReplyCodeListVersion", required = true) + protected ArchiveTransfer.CodeListVersions.ReplyCodeListVersion replyCodeListVersion; + @XmlElement(name = "MessageDigestAlgorithmCodeListVersion", required = true) + protected ArchiveTransfer.CodeListVersions.MessageDigestAlgorithmCodeListVersion messageDigestAlgorithmCodeListVersion; + @XmlElement(name = "MimeTypeCodeListVersion", required = true) + protected ArchiveTransfer.CodeListVersions.MimeTypeCodeListVersion mimeTypeCodeListVersion; + @XmlElement(name = "EncodingCodeListVersion", required = true) + protected ArchiveTransfer.CodeListVersions.EncodingCodeListVersion encodingCodeListVersion; + @XmlElement(name = "FileFormatCodeListVersion", required = true) + protected ArchiveTransfer.CodeListVersions.FileFormatCodeListVersion fileFormatCodeListVersion; + @XmlElement(name = "CompressionAlgorithmCodeListVersion", required = true) + protected ArchiveTransfer.CodeListVersions.CompressionAlgorithmCodeListVersion compressionAlgorithmCodeListVersion; + @XmlElement(name = "DataObjectVersionCodeListVersion", required = true) + protected ArchiveTransfer.CodeListVersions.DataObjectVersionCodeListVersion dataObjectVersionCodeListVersion; + @XmlElement(name = "StorageRuleCodeListVersion", required = true) + protected ArchiveTransfer.CodeListVersions.StorageRuleCodeListVersion storageRuleCodeListVersion; + @XmlElement(name = "AppraisalRuleCodeListVersion", required = true) + protected ArchiveTransfer.CodeListVersions.AppraisalRuleCodeListVersion appraisalRuleCodeListVersion; + @XmlElement(name = "AccessRuleCodeListVersion", required = true) + protected ArchiveTransfer.CodeListVersions.AccessRuleCodeListVersion accessRuleCodeListVersion; + @XmlElement(name = "DisseminationRuleCodeListVersion", required = true) + protected ArchiveTransfer.CodeListVersions.DisseminationRuleCodeListVersion disseminationRuleCodeListVersion; + @XmlElement(name = "ReuseRuleCodeListVersion", required = true) + protected ArchiveTransfer.CodeListVersions.ReuseRuleCodeListVersion reuseRuleCodeListVersion; + @XmlElement(name = "ClassificationRuleCodeListVersion", required = true) + protected ArchiveTransfer.CodeListVersions.ClassificationRuleCodeListVersion classificationRuleCodeListVersion; + @XmlElement(name = "AuthorizationReasonCodeListVersion", required = true) + protected ArchiveTransfer.CodeListVersions.AuthorizationReasonCodeListVersion authorizationReasonCodeListVersion; + @XmlElement(name = "RelationshipCodeListVersion", required = true) + protected ArchiveTransfer.CodeListVersions.RelationshipCodeListVersion relationshipCodeListVersion; + @XmlAttribute(name = "id") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlID + @XmlSchemaType(name = "ID") + protected String id; + + /** + * Gets the value of the replyCodeListVersion property. + * + * @return + * possible object is + * {@link ArchiveTransfer.CodeListVersions.ReplyCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.ReplyCodeListVersion getReplyCodeListVersion() { + return replyCodeListVersion; + } + + /** + * Sets the value of the replyCodeListVersion property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.CodeListVersions.ReplyCodeListVersion } + * + */ + public void setReplyCodeListVersion(ArchiveTransfer.CodeListVersions.ReplyCodeListVersion value) { + this.replyCodeListVersion = value; + } + + /** + * Gets the value of the messageDigestAlgorithmCodeListVersion property. + * + * @return + * possible object is + * {@link ArchiveTransfer.CodeListVersions.MessageDigestAlgorithmCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.MessageDigestAlgorithmCodeListVersion getMessageDigestAlgorithmCodeListVersion() { + return messageDigestAlgorithmCodeListVersion; + } + + /** + * Sets the value of the messageDigestAlgorithmCodeListVersion property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.CodeListVersions.MessageDigestAlgorithmCodeListVersion } + * + */ + public void setMessageDigestAlgorithmCodeListVersion(ArchiveTransfer.CodeListVersions.MessageDigestAlgorithmCodeListVersion value) { + this.messageDigestAlgorithmCodeListVersion = value; + } + + /** + * Gets the value of the mimeTypeCodeListVersion property. + * + * @return + * possible object is + * {@link ArchiveTransfer.CodeListVersions.MimeTypeCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.MimeTypeCodeListVersion getMimeTypeCodeListVersion() { + return mimeTypeCodeListVersion; + } + + /** + * Sets the value of the mimeTypeCodeListVersion property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.CodeListVersions.MimeTypeCodeListVersion } + * + */ + public void setMimeTypeCodeListVersion(ArchiveTransfer.CodeListVersions.MimeTypeCodeListVersion value) { + this.mimeTypeCodeListVersion = value; + } + + /** + * Gets the value of the encodingCodeListVersion property. + * + * @return + * possible object is + * {@link ArchiveTransfer.CodeListVersions.EncodingCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.EncodingCodeListVersion getEncodingCodeListVersion() { + return encodingCodeListVersion; + } + + /** + * Sets the value of the encodingCodeListVersion property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.CodeListVersions.EncodingCodeListVersion } + * + */ + public void setEncodingCodeListVersion(ArchiveTransfer.CodeListVersions.EncodingCodeListVersion value) { + this.encodingCodeListVersion = value; + } + + /** + * Gets the value of the fileFormatCodeListVersion property. + * + * @return + * possible object is + * {@link ArchiveTransfer.CodeListVersions.FileFormatCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.FileFormatCodeListVersion getFileFormatCodeListVersion() { + return fileFormatCodeListVersion; + } + + /** + * Sets the value of the fileFormatCodeListVersion property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.CodeListVersions.FileFormatCodeListVersion } + * + */ + public void setFileFormatCodeListVersion(ArchiveTransfer.CodeListVersions.FileFormatCodeListVersion value) { + this.fileFormatCodeListVersion = value; + } + + /** + * Gets the value of the compressionAlgorithmCodeListVersion property. + * + * @return + * possible object is + * {@link ArchiveTransfer.CodeListVersions.CompressionAlgorithmCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.CompressionAlgorithmCodeListVersion getCompressionAlgorithmCodeListVersion() { + return compressionAlgorithmCodeListVersion; + } + + /** + * Sets the value of the compressionAlgorithmCodeListVersion property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.CodeListVersions.CompressionAlgorithmCodeListVersion } + * + */ + public void setCompressionAlgorithmCodeListVersion(ArchiveTransfer.CodeListVersions.CompressionAlgorithmCodeListVersion value) { + this.compressionAlgorithmCodeListVersion = value; + } + + /** + * Gets the value of the dataObjectVersionCodeListVersion property. + * + * @return + * possible object is + * {@link ArchiveTransfer.CodeListVersions.DataObjectVersionCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.DataObjectVersionCodeListVersion getDataObjectVersionCodeListVersion() { + return dataObjectVersionCodeListVersion; + } + + /** + * Sets the value of the dataObjectVersionCodeListVersion property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.CodeListVersions.DataObjectVersionCodeListVersion } + * + */ + public void setDataObjectVersionCodeListVersion(ArchiveTransfer.CodeListVersions.DataObjectVersionCodeListVersion value) { + this.dataObjectVersionCodeListVersion = value; + } + + /** + * Gets the value of the storageRuleCodeListVersion property. + * + * @return + * possible object is + * {@link ArchiveTransfer.CodeListVersions.StorageRuleCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.StorageRuleCodeListVersion getStorageRuleCodeListVersion() { + return storageRuleCodeListVersion; + } + + /** + * Sets the value of the storageRuleCodeListVersion property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.CodeListVersions.StorageRuleCodeListVersion } + * + */ + public void setStorageRuleCodeListVersion(ArchiveTransfer.CodeListVersions.StorageRuleCodeListVersion value) { + this.storageRuleCodeListVersion = value; + } + + /** + * Gets the value of the appraisalRuleCodeListVersion property. + * + * @return + * possible object is + * {@link ArchiveTransfer.CodeListVersions.AppraisalRuleCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.AppraisalRuleCodeListVersion getAppraisalRuleCodeListVersion() { + return appraisalRuleCodeListVersion; + } + + /** + * Sets the value of the appraisalRuleCodeListVersion property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.CodeListVersions.AppraisalRuleCodeListVersion } + * + */ + public void setAppraisalRuleCodeListVersion(ArchiveTransfer.CodeListVersions.AppraisalRuleCodeListVersion value) { + this.appraisalRuleCodeListVersion = value; + } + + /** + * Gets the value of the accessRuleCodeListVersion property. + * + * @return + * possible object is + * {@link ArchiveTransfer.CodeListVersions.AccessRuleCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.AccessRuleCodeListVersion getAccessRuleCodeListVersion() { + return accessRuleCodeListVersion; + } + + /** + * Sets the value of the accessRuleCodeListVersion property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.CodeListVersions.AccessRuleCodeListVersion } + * + */ + public void setAccessRuleCodeListVersion(ArchiveTransfer.CodeListVersions.AccessRuleCodeListVersion value) { + this.accessRuleCodeListVersion = value; + } + + /** + * Gets the value of the disseminationRuleCodeListVersion property. + * + * @return + * possible object is + * {@link ArchiveTransfer.CodeListVersions.DisseminationRuleCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.DisseminationRuleCodeListVersion getDisseminationRuleCodeListVersion() { + return disseminationRuleCodeListVersion; + } + + /** + * Sets the value of the disseminationRuleCodeListVersion property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.CodeListVersions.DisseminationRuleCodeListVersion } + * + */ + public void setDisseminationRuleCodeListVersion(ArchiveTransfer.CodeListVersions.DisseminationRuleCodeListVersion value) { + this.disseminationRuleCodeListVersion = value; + } + + /** + * Gets the value of the reuseRuleCodeListVersion property. + * + * @return + * possible object is + * {@link ArchiveTransfer.CodeListVersions.ReuseRuleCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.ReuseRuleCodeListVersion getReuseRuleCodeListVersion() { + return reuseRuleCodeListVersion; + } + + /** + * Sets the value of the reuseRuleCodeListVersion property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.CodeListVersions.ReuseRuleCodeListVersion } + * + */ + public void setReuseRuleCodeListVersion(ArchiveTransfer.CodeListVersions.ReuseRuleCodeListVersion value) { + this.reuseRuleCodeListVersion = value; + } + + /** + * Gets the value of the classificationRuleCodeListVersion property. + * + * @return + * possible object is + * {@link ArchiveTransfer.CodeListVersions.ClassificationRuleCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.ClassificationRuleCodeListVersion getClassificationRuleCodeListVersion() { + return classificationRuleCodeListVersion; + } + + /** + * Sets the value of the classificationRuleCodeListVersion property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.CodeListVersions.ClassificationRuleCodeListVersion } + * + */ + public void setClassificationRuleCodeListVersion(ArchiveTransfer.CodeListVersions.ClassificationRuleCodeListVersion value) { + this.classificationRuleCodeListVersion = value; + } + + /** + * Gets the value of the authorizationReasonCodeListVersion property. + * + * @return + * possible object is + * {@link ArchiveTransfer.CodeListVersions.AuthorizationReasonCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.AuthorizationReasonCodeListVersion getAuthorizationReasonCodeListVersion() { + return authorizationReasonCodeListVersion; + } + + /** + * Sets the value of the authorizationReasonCodeListVersion property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.CodeListVersions.AuthorizationReasonCodeListVersion } + * + */ + public void setAuthorizationReasonCodeListVersion(ArchiveTransfer.CodeListVersions.AuthorizationReasonCodeListVersion value) { + this.authorizationReasonCodeListVersion = value; + } + + /** + * Gets the value of the relationshipCodeListVersion property. + * + * @return + * possible object is + * {@link ArchiveTransfer.CodeListVersions.RelationshipCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.RelationshipCodeListVersion getRelationshipCodeListVersion() { + return relationshipCodeListVersion; + } + + /** + * Sets the value of the relationshipCodeListVersion property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.CodeListVersions.RelationshipCodeListVersion } + * + */ + public void setRelationshipCodeListVersion(ArchiveTransfer.CodeListVersions.RelationshipCodeListVersion value) { + this.relationshipCodeListVersion = value; + } + + /** + * Gets the value of the id property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getId() { + return id; + } + + /** + * Sets the value of the id property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setId(String value) { + this.id = value; + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class AccessRuleCodeListVersion { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "listName") + protected String listName; + @XmlAttribute(name = "listAgencyID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listAgencyID; + @XmlAttribute(name = "listSchemeURI") + @XmlSchemaType(name = "anyURI") + protected String listSchemeURI; + @XmlAttribute(name = "listID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listID; + @XmlAttribute(name = "listAgencyName") + protected String listAgencyName; + @XmlAttribute(name = "listURI") + @XmlSchemaType(name = "anyURI") + protected String listURI; + @XmlAttribute(name = "listVersionID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listVersionID; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the listName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListName() { + return listName; + } + + /** + * Sets the value of the listName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListName(String value) { + this.listName = value; + } + + /** + * Gets the value of the listAgencyID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyID() { + return listAgencyID; + } + + /** + * Sets the value of the listAgencyID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyID(String value) { + this.listAgencyID = value; + } + + /** + * Gets the value of the listSchemeURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListSchemeURI() { + return listSchemeURI; + } + + /** + * Sets the value of the listSchemeURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListSchemeURI(String value) { + this.listSchemeURI = value; + } + + /** + * Gets the value of the listID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListID() { + return listID; + } + + /** + * Sets the value of the listID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListID(String value) { + this.listID = value; + } + + /** + * Gets the value of the listAgencyName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyName() { + return listAgencyName; + } + + /** + * Sets the value of the listAgencyName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyName(String value) { + this.listAgencyName = value; + } + + /** + * Gets the value of the listURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListURI() { + return listURI; + } + + /** + * Sets the value of the listURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListURI(String value) { + this.listURI = value; + } + + /** + * Gets the value of the listVersionID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListVersionID() { + return listVersionID; + } + + /** + * Sets the value of the listVersionID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListVersionID(String value) { + this.listVersionID = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class AppraisalRuleCodeListVersion { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "listName") + protected String listName; + @XmlAttribute(name = "listAgencyID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listAgencyID; + @XmlAttribute(name = "listSchemeURI") + @XmlSchemaType(name = "anyURI") + protected String listSchemeURI; + @XmlAttribute(name = "listID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listID; + @XmlAttribute(name = "listAgencyName") + protected String listAgencyName; + @XmlAttribute(name = "listURI") + @XmlSchemaType(name = "anyURI") + protected String listURI; + @XmlAttribute(name = "listVersionID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listVersionID; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the listName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListName() { + return listName; + } + + /** + * Sets the value of the listName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListName(String value) { + this.listName = value; + } + + /** + * Gets the value of the listAgencyID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyID() { + return listAgencyID; + } + + /** + * Sets the value of the listAgencyID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyID(String value) { + this.listAgencyID = value; + } + + /** + * Gets the value of the listSchemeURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListSchemeURI() { + return listSchemeURI; + } + + /** + * Sets the value of the listSchemeURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListSchemeURI(String value) { + this.listSchemeURI = value; + } + + /** + * Gets the value of the listID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListID() { + return listID; + } + + /** + * Sets the value of the listID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListID(String value) { + this.listID = value; + } + + /** + * Gets the value of the listAgencyName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyName() { + return listAgencyName; + } + + /** + * Sets the value of the listAgencyName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyName(String value) { + this.listAgencyName = value; + } + + /** + * Gets the value of the listURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListURI() { + return listURI; + } + + /** + * Sets the value of the listURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListURI(String value) { + this.listURI = value; + } + + /** + * Gets the value of the listVersionID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListVersionID() { + return listVersionID; + } + + /** + * Sets the value of the listVersionID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListVersionID(String value) { + this.listVersionID = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class AuthorizationReasonCodeListVersion { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "listName") + protected String listName; + @XmlAttribute(name = "listAgencyID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listAgencyID; + @XmlAttribute(name = "listSchemeURI") + @XmlSchemaType(name = "anyURI") + protected String listSchemeURI; + @XmlAttribute(name = "listID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listID; + @XmlAttribute(name = "listAgencyName") + protected String listAgencyName; + @XmlAttribute(name = "listURI") + @XmlSchemaType(name = "anyURI") + protected String listURI; + @XmlAttribute(name = "listVersionID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listVersionID; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the listName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListName() { + return listName; + } + + /** + * Sets the value of the listName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListName(String value) { + this.listName = value; + } + + /** + * Gets the value of the listAgencyID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyID() { + return listAgencyID; + } + + /** + * Sets the value of the listAgencyID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyID(String value) { + this.listAgencyID = value; + } + + /** + * Gets the value of the listSchemeURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListSchemeURI() { + return listSchemeURI; + } + + /** + * Sets the value of the listSchemeURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListSchemeURI(String value) { + this.listSchemeURI = value; + } + + /** + * Gets the value of the listID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListID() { + return listID; + } + + /** + * Sets the value of the listID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListID(String value) { + this.listID = value; + } + + /** + * Gets the value of the listAgencyName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyName() { + return listAgencyName; + } + + /** + * Sets the value of the listAgencyName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyName(String value) { + this.listAgencyName = value; + } + + /** + * Gets the value of the listURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListURI() { + return listURI; + } + + /** + * Sets the value of the listURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListURI(String value) { + this.listURI = value; + } + + /** + * Gets the value of the listVersionID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListVersionID() { + return listVersionID; + } + + /** + * Sets the value of the listVersionID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListVersionID(String value) { + this.listVersionID = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class ClassificationRuleCodeListVersion { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "listName") + protected String listName; + @XmlAttribute(name = "listAgencyID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listAgencyID; + @XmlAttribute(name = "listSchemeURI") + @XmlSchemaType(name = "anyURI") + protected String listSchemeURI; + @XmlAttribute(name = "listID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listID; + @XmlAttribute(name = "listAgencyName") + protected String listAgencyName; + @XmlAttribute(name = "listURI") + @XmlSchemaType(name = "anyURI") + protected String listURI; + @XmlAttribute(name = "listVersionID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listVersionID; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the listName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListName() { + return listName; + } + + /** + * Sets the value of the listName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListName(String value) { + this.listName = value; + } + + /** + * Gets the value of the listAgencyID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyID() { + return listAgencyID; + } + + /** + * Sets the value of the listAgencyID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyID(String value) { + this.listAgencyID = value; + } + + /** + * Gets the value of the listSchemeURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListSchemeURI() { + return listSchemeURI; + } + + /** + * Sets the value of the listSchemeURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListSchemeURI(String value) { + this.listSchemeURI = value; + } + + /** + * Gets the value of the listID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListID() { + return listID; + } + + /** + * Sets the value of the listID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListID(String value) { + this.listID = value; + } + + /** + * Gets the value of the listAgencyName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyName() { + return listAgencyName; + } + + /** + * Sets the value of the listAgencyName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyName(String value) { + this.listAgencyName = value; + } + + /** + * Gets the value of the listURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListURI() { + return listURI; + } + + /** + * Sets the value of the listURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListURI(String value) { + this.listURI = value; + } + + /** + * Gets the value of the listVersionID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListVersionID() { + return listVersionID; + } + + /** + * Sets the value of the listVersionID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListVersionID(String value) { + this.listVersionID = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class CompressionAlgorithmCodeListVersion { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "listName") + protected String listName; + @XmlAttribute(name = "listAgencyID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listAgencyID; + @XmlAttribute(name = "listSchemeURI") + @XmlSchemaType(name = "anyURI") + protected String listSchemeURI; + @XmlAttribute(name = "listID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listID; + @XmlAttribute(name = "listAgencyName") + protected String listAgencyName; + @XmlAttribute(name = "listURI") + @XmlSchemaType(name = "anyURI") + protected String listURI; + @XmlAttribute(name = "listVersionID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listVersionID; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the listName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListName() { + return listName; + } + + /** + * Sets the value of the listName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListName(String value) { + this.listName = value; + } + + /** + * Gets the value of the listAgencyID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyID() { + return listAgencyID; + } + + /** + * Sets the value of the listAgencyID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyID(String value) { + this.listAgencyID = value; + } + + /** + * Gets the value of the listSchemeURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListSchemeURI() { + return listSchemeURI; + } + + /** + * Sets the value of the listSchemeURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListSchemeURI(String value) { + this.listSchemeURI = value; + } + + /** + * Gets the value of the listID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListID() { + return listID; + } + + /** + * Sets the value of the listID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListID(String value) { + this.listID = value; + } + + /** + * Gets the value of the listAgencyName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyName() { + return listAgencyName; + } + + /** + * Sets the value of the listAgencyName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyName(String value) { + this.listAgencyName = value; + } + + /** + * Gets the value of the listURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListURI() { + return listURI; + } + + /** + * Sets the value of the listURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListURI(String value) { + this.listURI = value; + } + + /** + * Gets the value of the listVersionID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListVersionID() { + return listVersionID; + } + + /** + * Sets the value of the listVersionID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListVersionID(String value) { + this.listVersionID = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class DataObjectVersionCodeListVersion { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "listName") + protected String listName; + @XmlAttribute(name = "listAgencyID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listAgencyID; + @XmlAttribute(name = "listSchemeURI") + @XmlSchemaType(name = "anyURI") + protected String listSchemeURI; + @XmlAttribute(name = "listID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listID; + @XmlAttribute(name = "listAgencyName") + protected String listAgencyName; + @XmlAttribute(name = "listURI") + @XmlSchemaType(name = "anyURI") + protected String listURI; + @XmlAttribute(name = "listVersionID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listVersionID; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the listName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListName() { + return listName; + } + + /** + * Sets the value of the listName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListName(String value) { + this.listName = value; + } + + /** + * Gets the value of the listAgencyID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyID() { + return listAgencyID; + } + + /** + * Sets the value of the listAgencyID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyID(String value) { + this.listAgencyID = value; + } + + /** + * Gets the value of the listSchemeURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListSchemeURI() { + return listSchemeURI; + } + + /** + * Sets the value of the listSchemeURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListSchemeURI(String value) { + this.listSchemeURI = value; + } + + /** + * Gets the value of the listID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListID() { + return listID; + } + + /** + * Sets the value of the listID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListID(String value) { + this.listID = value; + } + + /** + * Gets the value of the listAgencyName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyName() { + return listAgencyName; + } + + /** + * Sets the value of the listAgencyName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyName(String value) { + this.listAgencyName = value; + } + + /** + * Gets the value of the listURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListURI() { + return listURI; + } + + /** + * Sets the value of the listURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListURI(String value) { + this.listURI = value; + } + + /** + * Gets the value of the listVersionID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListVersionID() { + return listVersionID; + } + + /** + * Sets the value of the listVersionID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListVersionID(String value) { + this.listVersionID = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class DisseminationRuleCodeListVersion { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "listName") + protected String listName; + @XmlAttribute(name = "listAgencyID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listAgencyID; + @XmlAttribute(name = "listSchemeURI") + @XmlSchemaType(name = "anyURI") + protected String listSchemeURI; + @XmlAttribute(name = "listID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listID; + @XmlAttribute(name = "listAgencyName") + protected String listAgencyName; + @XmlAttribute(name = "listURI") + @XmlSchemaType(name = "anyURI") + protected String listURI; + @XmlAttribute(name = "listVersionID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listVersionID; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the listName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListName() { + return listName; + } + + /** + * Sets the value of the listName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListName(String value) { + this.listName = value; + } + + /** + * Gets the value of the listAgencyID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyID() { + return listAgencyID; + } + + /** + * Sets the value of the listAgencyID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyID(String value) { + this.listAgencyID = value; + } + + /** + * Gets the value of the listSchemeURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListSchemeURI() { + return listSchemeURI; + } + + /** + * Sets the value of the listSchemeURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListSchemeURI(String value) { + this.listSchemeURI = value; + } + + /** + * Gets the value of the listID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListID() { + return listID; + } + + /** + * Sets the value of the listID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListID(String value) { + this.listID = value; + } + + /** + * Gets the value of the listAgencyName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyName() { + return listAgencyName; + } + + /** + * Sets the value of the listAgencyName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyName(String value) { + this.listAgencyName = value; + } + + /** + * Gets the value of the listURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListURI() { + return listURI; + } + + /** + * Sets the value of the listURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListURI(String value) { + this.listURI = value; + } + + /** + * Gets the value of the listVersionID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListVersionID() { + return listVersionID; + } + + /** + * Sets the value of the listVersionID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListVersionID(String value) { + this.listVersionID = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class EncodingCodeListVersion { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "listName") + protected String listName; + @XmlAttribute(name = "listAgencyID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listAgencyID; + @XmlAttribute(name = "listSchemeURI") + @XmlSchemaType(name = "anyURI") + protected String listSchemeURI; + @XmlAttribute(name = "listID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listID; + @XmlAttribute(name = "listAgencyName") + protected String listAgencyName; + @XmlAttribute(name = "listURI") + @XmlSchemaType(name = "anyURI") + protected String listURI; + @XmlAttribute(name = "listVersionID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listVersionID; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the listName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListName() { + return listName; + } + + /** + * Sets the value of the listName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListName(String value) { + this.listName = value; + } + + /** + * Gets the value of the listAgencyID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyID() { + return listAgencyID; + } + + /** + * Sets the value of the listAgencyID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyID(String value) { + this.listAgencyID = value; + } + + /** + * Gets the value of the listSchemeURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListSchemeURI() { + return listSchemeURI; + } + + /** + * Sets the value of the listSchemeURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListSchemeURI(String value) { + this.listSchemeURI = value; + } + + /** + * Gets the value of the listID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListID() { + return listID; + } + + /** + * Sets the value of the listID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListID(String value) { + this.listID = value; + } + + /** + * Gets the value of the listAgencyName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyName() { + return listAgencyName; + } + + /** + * Sets the value of the listAgencyName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyName(String value) { + this.listAgencyName = value; + } + + /** + * Gets the value of the listURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListURI() { + return listURI; + } + + /** + * Sets the value of the listURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListURI(String value) { + this.listURI = value; + } + + /** + * Gets the value of the listVersionID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListVersionID() { + return listVersionID; + } + + /** + * Sets the value of the listVersionID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListVersionID(String value) { + this.listVersionID = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class FileFormatCodeListVersion { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "listName") + protected String listName; + @XmlAttribute(name = "listAgencyID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listAgencyID; + @XmlAttribute(name = "listSchemeURI") + @XmlSchemaType(name = "anyURI") + protected String listSchemeURI; + @XmlAttribute(name = "listID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listID; + @XmlAttribute(name = "listAgencyName") + protected String listAgencyName; + @XmlAttribute(name = "listURI") + @XmlSchemaType(name = "anyURI") + protected String listURI; + @XmlAttribute(name = "listVersionID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listVersionID; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the listName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListName() { + return listName; + } + + /** + * Sets the value of the listName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListName(String value) { + this.listName = value; + } + + /** + * Gets the value of the listAgencyID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyID() { + return listAgencyID; + } + + /** + * Sets the value of the listAgencyID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyID(String value) { + this.listAgencyID = value; + } + + /** + * Gets the value of the listSchemeURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListSchemeURI() { + return listSchemeURI; + } + + /** + * Sets the value of the listSchemeURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListSchemeURI(String value) { + this.listSchemeURI = value; + } + + /** + * Gets the value of the listID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListID() { + return listID; + } + + /** + * Sets the value of the listID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListID(String value) { + this.listID = value; + } + + /** + * Gets the value of the listAgencyName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyName() { + return listAgencyName; + } + + /** + * Sets the value of the listAgencyName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyName(String value) { + this.listAgencyName = value; + } + + /** + * Gets the value of the listURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListURI() { + return listURI; + } + + /** + * Sets the value of the listURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListURI(String value) { + this.listURI = value; + } + + /** + * Gets the value of the listVersionID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListVersionID() { + return listVersionID; + } + + /** + * Sets the value of the listVersionID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListVersionID(String value) { + this.listVersionID = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class MessageDigestAlgorithmCodeListVersion { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "listName") + protected String listName; + @XmlAttribute(name = "listAgencyID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listAgencyID; + @XmlAttribute(name = "listSchemeURI") + @XmlSchemaType(name = "anyURI") + protected String listSchemeURI; + @XmlAttribute(name = "listID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listID; + @XmlAttribute(name = "listAgencyName") + protected String listAgencyName; + @XmlAttribute(name = "listURI") + @XmlSchemaType(name = "anyURI") + protected String listURI; + @XmlAttribute(name = "listVersionID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listVersionID; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the listName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListName() { + return listName; + } + + /** + * Sets the value of the listName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListName(String value) { + this.listName = value; + } + + /** + * Gets the value of the listAgencyID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyID() { + return listAgencyID; + } + + /** + * Sets the value of the listAgencyID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyID(String value) { + this.listAgencyID = value; + } + + /** + * Gets the value of the listSchemeURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListSchemeURI() { + return listSchemeURI; + } + + /** + * Sets the value of the listSchemeURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListSchemeURI(String value) { + this.listSchemeURI = value; + } + + /** + * Gets the value of the listID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListID() { + return listID; + } + + /** + * Sets the value of the listID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListID(String value) { + this.listID = value; + } + + /** + * Gets the value of the listAgencyName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyName() { + return listAgencyName; + } + + /** + * Sets the value of the listAgencyName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyName(String value) { + this.listAgencyName = value; + } + + /** + * Gets the value of the listURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListURI() { + return listURI; + } + + /** + * Sets the value of the listURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListURI(String value) { + this.listURI = value; + } + + /** + * Gets the value of the listVersionID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListVersionID() { + return listVersionID; + } + + /** + * Sets the value of the listVersionID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListVersionID(String value) { + this.listVersionID = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class MimeTypeCodeListVersion { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "listName") + protected String listName; + @XmlAttribute(name = "listAgencyID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listAgencyID; + @XmlAttribute(name = "listSchemeURI") + @XmlSchemaType(name = "anyURI") + protected String listSchemeURI; + @XmlAttribute(name = "listID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listID; + @XmlAttribute(name = "listAgencyName") + protected String listAgencyName; + @XmlAttribute(name = "listURI") + @XmlSchemaType(name = "anyURI") + protected String listURI; + @XmlAttribute(name = "listVersionID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listVersionID; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the listName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListName() { + return listName; + } + + /** + * Sets the value of the listName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListName(String value) { + this.listName = value; + } + + /** + * Gets the value of the listAgencyID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyID() { + return listAgencyID; + } + + /** + * Sets the value of the listAgencyID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyID(String value) { + this.listAgencyID = value; + } + + /** + * Gets the value of the listSchemeURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListSchemeURI() { + return listSchemeURI; + } + + /** + * Sets the value of the listSchemeURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListSchemeURI(String value) { + this.listSchemeURI = value; + } + + /** + * Gets the value of the listID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListID() { + return listID; + } + + /** + * Sets the value of the listID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListID(String value) { + this.listID = value; + } + + /** + * Gets the value of the listAgencyName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyName() { + return listAgencyName; + } + + /** + * Sets the value of the listAgencyName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyName(String value) { + this.listAgencyName = value; + } + + /** + * Gets the value of the listURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListURI() { + return listURI; + } + + /** + * Sets the value of the listURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListURI(String value) { + this.listURI = value; + } + + /** + * Gets the value of the listVersionID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListVersionID() { + return listVersionID; + } + + /** + * Sets the value of the listVersionID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListVersionID(String value) { + this.listVersionID = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class RelationshipCodeListVersion { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "listName") + protected String listName; + @XmlAttribute(name = "listAgencyID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listAgencyID; + @XmlAttribute(name = "listSchemeURI") + @XmlSchemaType(name = "anyURI") + protected String listSchemeURI; + @XmlAttribute(name = "listID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listID; + @XmlAttribute(name = "listAgencyName") + protected String listAgencyName; + @XmlAttribute(name = "listURI") + @XmlSchemaType(name = "anyURI") + protected String listURI; + @XmlAttribute(name = "listVersionID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listVersionID; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the listName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListName() { + return listName; + } + + /** + * Sets the value of the listName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListName(String value) { + this.listName = value; + } + + /** + * Gets the value of the listAgencyID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyID() { + return listAgencyID; + } + + /** + * Sets the value of the listAgencyID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyID(String value) { + this.listAgencyID = value; + } + + /** + * Gets the value of the listSchemeURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListSchemeURI() { + return listSchemeURI; + } + + /** + * Sets the value of the listSchemeURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListSchemeURI(String value) { + this.listSchemeURI = value; + } + + /** + * Gets the value of the listID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListID() { + return listID; + } + + /** + * Sets the value of the listID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListID(String value) { + this.listID = value; + } + + /** + * Gets the value of the listAgencyName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyName() { + return listAgencyName; + } + + /** + * Sets the value of the listAgencyName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyName(String value) { + this.listAgencyName = value; + } + + /** + * Gets the value of the listURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListURI() { + return listURI; + } + + /** + * Sets the value of the listURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListURI(String value) { + this.listURI = value; + } + + /** + * Gets the value of the listVersionID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListVersionID() { + return listVersionID; + } + + /** + * Sets the value of the listVersionID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListVersionID(String value) { + this.listVersionID = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class ReplyCodeListVersion { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "listName") + protected String listName; + @XmlAttribute(name = "listAgencyID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listAgencyID; + @XmlAttribute(name = "listSchemeURI") + @XmlSchemaType(name = "anyURI") + protected String listSchemeURI; + @XmlAttribute(name = "listID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listID; + @XmlAttribute(name = "listAgencyName") + protected String listAgencyName; + @XmlAttribute(name = "listURI") + @XmlSchemaType(name = "anyURI") + protected String listURI; + @XmlAttribute(name = "listVersionID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listVersionID; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the listName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListName() { + return listName; + } + + /** + * Sets the value of the listName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListName(String value) { + this.listName = value; + } + + /** + * Gets the value of the listAgencyID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyID() { + return listAgencyID; + } + + /** + * Sets the value of the listAgencyID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyID(String value) { + this.listAgencyID = value; + } + + /** + * Gets the value of the listSchemeURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListSchemeURI() { + return listSchemeURI; + } + + /** + * Sets the value of the listSchemeURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListSchemeURI(String value) { + this.listSchemeURI = value; + } + + /** + * Gets the value of the listID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListID() { + return listID; + } + + /** + * Sets the value of the listID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListID(String value) { + this.listID = value; + } + + /** + * Gets the value of the listAgencyName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyName() { + return listAgencyName; + } + + /** + * Sets the value of the listAgencyName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyName(String value) { + this.listAgencyName = value; + } + + /** + * Gets the value of the listURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListURI() { + return listURI; + } + + /** + * Sets the value of the listURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListURI(String value) { + this.listURI = value; + } + + /** + * Gets the value of the listVersionID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListVersionID() { + return listVersionID; + } + + /** + * Sets the value of the listVersionID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListVersionID(String value) { + this.listVersionID = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class ReuseRuleCodeListVersion { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "listName") + protected String listName; + @XmlAttribute(name = "listAgencyID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listAgencyID; + @XmlAttribute(name = "listSchemeURI") + @XmlSchemaType(name = "anyURI") + protected String listSchemeURI; + @XmlAttribute(name = "listID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listID; + @XmlAttribute(name = "listAgencyName") + protected String listAgencyName; + @XmlAttribute(name = "listURI") + @XmlSchemaType(name = "anyURI") + protected String listURI; + @XmlAttribute(name = "listVersionID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listVersionID; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the listName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListName() { + return listName; + } + + /** + * Sets the value of the listName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListName(String value) { + this.listName = value; + } + + /** + * Gets the value of the listAgencyID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyID() { + return listAgencyID; + } + + /** + * Sets the value of the listAgencyID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyID(String value) { + this.listAgencyID = value; + } + + /** + * Gets the value of the listSchemeURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListSchemeURI() { + return listSchemeURI; + } + + /** + * Sets the value of the listSchemeURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListSchemeURI(String value) { + this.listSchemeURI = value; + } + + /** + * Gets the value of the listID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListID() { + return listID; + } + + /** + * Sets the value of the listID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListID(String value) { + this.listID = value; + } + + /** + * Gets the value of the listAgencyName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyName() { + return listAgencyName; + } + + /** + * Sets the value of the listAgencyName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyName(String value) { + this.listAgencyName = value; + } + + /** + * Gets the value of the listURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListURI() { + return listURI; + } + + /** + * Sets the value of the listURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListURI(String value) { + this.listURI = value; + } + + /** + * Gets the value of the listVersionID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListVersionID() { + return listVersionID; + } + + /** + * Sets the value of the listVersionID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListVersionID(String value) { + this.listVersionID = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listSchemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="listAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="listURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class StorageRuleCodeListVersion { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "listName") + protected String listName; + @XmlAttribute(name = "listAgencyID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listAgencyID; + @XmlAttribute(name = "listSchemeURI") + @XmlSchemaType(name = "anyURI") + protected String listSchemeURI; + @XmlAttribute(name = "listID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listID; + @XmlAttribute(name = "listAgencyName") + protected String listAgencyName; + @XmlAttribute(name = "listURI") + @XmlSchemaType(name = "anyURI") + protected String listURI; + @XmlAttribute(name = "listVersionID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String listVersionID; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the listName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListName() { + return listName; + } + + /** + * Sets the value of the listName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListName(String value) { + this.listName = value; + } + + /** + * Gets the value of the listAgencyID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyID() { + return listAgencyID; + } + + /** + * Sets the value of the listAgencyID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyID(String value) { + this.listAgencyID = value; + } + + /** + * Gets the value of the listSchemeURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListSchemeURI() { + return listSchemeURI; + } + + /** + * Sets the value of the listSchemeURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListSchemeURI(String value) { + this.listSchemeURI = value; + } + + /** + * Gets the value of the listID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListID() { + return listID; + } + + /** + * Sets the value of the listID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListID(String value) { + this.listID = value; + } + + /** + * Gets the value of the listAgencyName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListAgencyName() { + return listAgencyName; + } + + /** + * Sets the value of the listAgencyName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListAgencyName(String value) { + this.listAgencyName = value; + } + + /** + * Gets the value of the listURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListURI() { + return listURI; + } + + /** + * Sets the value of the listURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListURI(String value) { + this.listURI = value; + } + + /** + * Gets the value of the listVersionID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListVersionID() { + return listVersionID; + } + + /** + * Sets the value of the listVersionID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListVersionID(String value) { + this.listVersionID = value; + } + + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Comment { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="BinaryDataObject"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="DataObjectGroupReferenceId" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DataObjectGroupId" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DataObjectVersion" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <choice> + * <element name="Uri" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>anyURI"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Attachement" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="uri" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="filename" type="{http://www.w3.org/2001/XMLSchema}string" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </choice> + * <element name="MessageDigest"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>base64Binary"> + * <attribute name="algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Size"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>positiveInteger"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Compressed" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="algorithm" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="uncompressedSize" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="FormatIdentification"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="FormatLitteral"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="MimeType"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="FormatId"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="FileInfo"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Filename"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CreatingApplicationName"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CreatingApplicationVersion" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DateCreatedByApplication" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CreatingOs" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CreatingOsVersion" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="LastModified" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Metadata" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <choice> + * <element name="Audio" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Document" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Image" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Text" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Video" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </choice> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="OtherMetadata" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Relationship" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="target" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="DescriptiveMetadata"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="ArchiveUnit"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Content" maxOccurs="unbounded"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="DescriptionLevel"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Title"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="FilePlanPosition" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="SystemId" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="OriginatingSystemId" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="ArchivalAgencyArchiveUnitIdentifier" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Description"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CustodialHistory" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="CustodialHistoryItem" type="{http://www.w3.org/2001/XMLSchema}anyType"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Type" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DocumentType" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Language" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>language"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DescriptionLanguage" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Status" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Version" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Tag" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Keyword"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="KeywordContent"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="KeywordReference" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="KeywordType"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" fixed="edition 2009" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Coverage" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Spatial" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Temporal" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Juridictional" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="OriginatingAgency"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Identifier"> + * <simpleType> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * </restriction> + * </simpleType> + * </element> + * <element name="OrganizationDescriptiveMetadata" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="SubmissionAgency" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Identifier" minOccurs="0"> + * <simpleType> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * </restriction> + * </simpleType> + * </element> + * <element name="OrganizationDescriptiveMetadata" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="AuthorizedAgent" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Writer" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Adressee" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Recipient" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Source" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="RelatedObjectReference" type="{http://www.w3.org/2001/XMLSchema}anyType" minOccurs="0"/> + * <element name="CreatedDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="TransactedDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="AcquiredDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="SentDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="ReceivedDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="RegisteredDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="StartDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="EndDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "binaryDataObject", + "descriptiveMetadata" + }) + public static class DataObjectPackage { + + @XmlElement(name = "BinaryDataObject", required = true) + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject binaryDataObject; + @XmlElement(name = "DescriptiveMetadata", required = true) + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata descriptiveMetadata; + @XmlAttribute(name = "id", required = true) + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlID + @XmlSchemaType(name = "ID") + protected String id; + + /** + * Gets the value of the binaryDataObject property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject getBinaryDataObject() { + return binaryDataObject; + } + + /** + * Sets the value of the binaryDataObject property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject } + * + */ + public void setBinaryDataObject(ArchiveTransfer.DataObjectPackage.BinaryDataObject value) { + this.binaryDataObject = value; + } + + /** + * Gets the value of the descriptiveMetadata property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata getDescriptiveMetadata() { + return descriptiveMetadata; + } + + /** + * Sets the value of the descriptiveMetadata property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata } + * + */ + public void setDescriptiveMetadata(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata value) { + this.descriptiveMetadata = value; + } + + /** + * Gets the value of the id property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getId() { + return id; + } + + /** + * Sets the value of the id property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setId(String value) { + this.id = value; + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="DataObjectGroupReferenceId" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DataObjectGroupId" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DataObjectVersion" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <choice> + * <element name="Uri" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>anyURI"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Attachement" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="uri" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="filename" type="{http://www.w3.org/2001/XMLSchema}string" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </choice> + * <element name="MessageDigest"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>base64Binary"> + * <attribute name="algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Size"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>positiveInteger"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Compressed" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="algorithm" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="uncompressedSize" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="FormatIdentification"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="FormatLitteral"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="MimeType"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="FormatId"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="FileInfo"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Filename"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CreatingApplicationName"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CreatingApplicationVersion" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DateCreatedByApplication" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CreatingOs" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CreatingOsVersion" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="LastModified" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Metadata" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <choice> + * <element name="Audio" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Document" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Image" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Text" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Video" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </choice> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="OtherMetadata" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Relationship" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="target" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" use="required" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "dataObjectGroupReferenceId", + "dataObjectGroupId", + "dataObjectVersion", + "uri", + "attachement", + "messageDigest", + "size", + "compressed", + "formatIdentification", + "fileInfo", + "metadata", + "otherMetadata", + "relationship" + }) + public static class BinaryDataObject { + + @XmlElement(name = "DataObjectGroupReferenceId") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectGroupReferenceId dataObjectGroupReferenceId; + @XmlElement(name = "DataObjectGroupId") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectGroupId dataObjectGroupId; + @XmlElement(name = "DataObjectVersion") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectVersion dataObjectVersion; + @XmlElement(name = "Uri") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.Uri uri; + @XmlElement(name = "Attachement") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.Attachement attachement; + @XmlElement(name = "MessageDigest", required = true) + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.MessageDigest messageDigest; + @XmlElement(name = "Size", required = true) + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.Size size; + @XmlElement(name = "Compressed") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.Compressed compressed; + @XmlElement(name = "FormatIdentification", required = true) + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification formatIdentification; + @XmlElement(name = "FileInfo", required = true) + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo fileInfo; + @XmlElement(name = "Metadata") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata metadata; + @XmlElement(name = "OtherMetadata") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.OtherMetadata otherMetadata; + @XmlElement(name = "Relationship") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.Relationship relationship; + @XmlAttribute(name = "id", required = true) + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlID + @XmlSchemaType(name = "ID") + protected String id; + + /** + * Gets the value of the dataObjectGroupReferenceId property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectGroupReferenceId } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectGroupReferenceId getDataObjectGroupReferenceId() { + return dataObjectGroupReferenceId; + } + + /** + * Sets the value of the dataObjectGroupReferenceId property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectGroupReferenceId } + * + */ + public void setDataObjectGroupReferenceId(ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectGroupReferenceId value) { + this.dataObjectGroupReferenceId = value; + } + + /** + * Gets the value of the dataObjectGroupId property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectGroupId } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectGroupId getDataObjectGroupId() { + return dataObjectGroupId; + } + + /** + * Sets the value of the dataObjectGroupId property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectGroupId } + * + */ + public void setDataObjectGroupId(ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectGroupId value) { + this.dataObjectGroupId = value; + } + + /** + * Gets the value of the dataObjectVersion property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectVersion } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectVersion getDataObjectVersion() { + return dataObjectVersion; + } + + /** + * Sets the value of the dataObjectVersion property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectVersion } + * + */ + public void setDataObjectVersion(ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectVersion value) { + this.dataObjectVersion = value; + } + + /** + * Gets the value of the uri property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Uri } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Uri getUri() { + return uri; + } + + /** + * Sets the value of the uri property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Uri } + * + */ + public void setUri(ArchiveTransfer.DataObjectPackage.BinaryDataObject.Uri value) { + this.uri = value; + } + + /** + * Gets the value of the attachement property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Attachement } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Attachement getAttachement() { + return attachement; + } + + /** + * Sets the value of the attachement property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Attachement } + * + */ + public void setAttachement(ArchiveTransfer.DataObjectPackage.BinaryDataObject.Attachement value) { + this.attachement = value; + } + + /** + * Gets the value of the messageDigest property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.MessageDigest } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.MessageDigest getMessageDigest() { + return messageDigest; + } + + /** + * Sets the value of the messageDigest property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.MessageDigest } + * + */ + public void setMessageDigest(ArchiveTransfer.DataObjectPackage.BinaryDataObject.MessageDigest value) { + this.messageDigest = value; + } + + /** + * Gets the value of the size property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Size } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Size getSize() { + return size; + } + + /** + * Sets the value of the size property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Size } + * + */ + public void setSize(ArchiveTransfer.DataObjectPackage.BinaryDataObject.Size value) { + this.size = value; + } + + /** + * Gets the value of the compressed property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Compressed } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Compressed getCompressed() { + return compressed; + } + + /** + * Sets the value of the compressed property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Compressed } + * + */ + public void setCompressed(ArchiveTransfer.DataObjectPackage.BinaryDataObject.Compressed value) { + this.compressed = value; + } + + /** + * Gets the value of the formatIdentification property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification getFormatIdentification() { + return formatIdentification; + } + + /** + * Sets the value of the formatIdentification property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification } + * + */ + public void setFormatIdentification(ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification value) { + this.formatIdentification = value; + } + + /** + * Gets the value of the fileInfo property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo getFileInfo() { + return fileInfo; + } + + /** + * Sets the value of the fileInfo property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo } + * + */ + public void setFileInfo(ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo value) { + this.fileInfo = value; + } + + /** + * Gets the value of the metadata property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata getMetadata() { + return metadata; + } + + /** + * Sets the value of the metadata property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata } + * + */ + public void setMetadata(ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata value) { + this.metadata = value; + } + + /** + * Gets the value of the otherMetadata property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.OtherMetadata } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.OtherMetadata getOtherMetadata() { + return otherMetadata; + } + + /** + * Sets the value of the otherMetadata property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.OtherMetadata } + * + */ + public void setOtherMetadata(ArchiveTransfer.DataObjectPackage.BinaryDataObject.OtherMetadata value) { + this.otherMetadata = value; + } + + /** + * Gets the value of the relationship property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Relationship } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Relationship getRelationship() { + return relationship; + } + + /** + * Sets the value of the relationship property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Relationship } + * + */ + public void setRelationship(ArchiveTransfer.DataObjectPackage.BinaryDataObject.Relationship value) { + this.relationship = value; + } + + /** + * Gets the value of the id property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getId() { + return id; + } + + /** + * Sets the value of the id property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setId(String value) { + this.id = value; + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="uri" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="filename" type="{http://www.w3.org/2001/XMLSchema}string" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Attachement { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "uri") + @XmlSchemaType(name = "anyURI") + protected String uri; + @XmlAttribute(name = "filename") + protected String filename; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the uri property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getUri() { + return uri; + } + + /** + * Sets the value of the uri property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setUri(String value) { + this.uri = value; + } + + /** + * Gets the value of the filename property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getFilename() { + return filename; + } + + /** + * Sets the value of the filename property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setFilename(String value) { + this.filename = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="algorithm" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="uncompressedSize" type="{http://www.w3.org/2001/XMLSchema}positiveInteger" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Compressed { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "algorithm") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String algorithm; + @XmlAttribute(name = "uncompressedSize") + @XmlSchemaType(name = "positiveInteger") + protected BigInteger uncompressedSize; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the algorithm property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getAlgorithm() { + return algorithm; + } + + /** + * Sets the value of the algorithm property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setAlgorithm(String value) { + this.algorithm = value; + } + + /** + * Gets the value of the uncompressedSize property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getUncompressedSize() { + return uncompressedSize; + } + + /** + * Sets the value of the uncompressedSize property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setUncompressedSize(BigInteger value) { + this.uncompressedSize = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class DataObjectGroupId { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class DataObjectGroupReferenceId { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class DataObjectVersion { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Filename"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CreatingApplicationName"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CreatingApplicationVersion" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DateCreatedByApplication" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CreatingOs" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CreatingOsVersion" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="LastModified" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "filename", + "creatingApplicationName", + "creatingApplicationVersion", + "dateCreatedByApplication", + "creatingOs", + "creatingOsVersion", + "lastModified" + }) + public static class FileInfo { + + @XmlElement(name = "Filename", required = true) + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.Filename filename; + @XmlElement(name = "CreatingApplicationName", required = true) + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingApplicationName creatingApplicationName; + @XmlElement(name = "CreatingApplicationVersion") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingApplicationVersion creatingApplicationVersion; + @XmlElement(name = "DateCreatedByApplication") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.DateCreatedByApplication dateCreatedByApplication; + @XmlElement(name = "CreatingOs") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingOs creatingOs; + @XmlElement(name = "CreatingOsVersion") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingOsVersion creatingOsVersion; + @XmlElement(name = "LastModified") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.LastModified lastModified; + + /** + * Gets the value of the filename property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.Filename } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.Filename getFilename() { + return filename; + } + + /** + * Sets the value of the filename property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.Filename } + * + */ + public void setFilename(ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.Filename value) { + this.filename = value; + } + + /** + * Gets the value of the creatingApplicationName property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingApplicationName } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingApplicationName getCreatingApplicationName() { + return creatingApplicationName; + } + + /** + * Sets the value of the creatingApplicationName property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingApplicationName } + * + */ + public void setCreatingApplicationName(ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingApplicationName value) { + this.creatingApplicationName = value; + } + + /** + * Gets the value of the creatingApplicationVersion property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingApplicationVersion } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingApplicationVersion getCreatingApplicationVersion() { + return creatingApplicationVersion; + } + + /** + * Sets the value of the creatingApplicationVersion property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingApplicationVersion } + * + */ + public void setCreatingApplicationVersion(ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingApplicationVersion value) { + this.creatingApplicationVersion = value; + } + + /** + * Gets the value of the dateCreatedByApplication property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.DateCreatedByApplication } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.DateCreatedByApplication getDateCreatedByApplication() { + return dateCreatedByApplication; + } + + /** + * Sets the value of the dateCreatedByApplication property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.DateCreatedByApplication } + * + */ + public void setDateCreatedByApplication(ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.DateCreatedByApplication value) { + this.dateCreatedByApplication = value; + } + + /** + * Gets the value of the creatingOs property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingOs } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingOs getCreatingOs() { + return creatingOs; + } + + /** + * Sets the value of the creatingOs property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingOs } + * + */ + public void setCreatingOs(ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingOs value) { + this.creatingOs = value; + } + + /** + * Gets the value of the creatingOsVersion property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingOsVersion } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingOsVersion getCreatingOsVersion() { + return creatingOsVersion; + } + + /** + * Sets the value of the creatingOsVersion property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingOsVersion } + * + */ + public void setCreatingOsVersion(ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingOsVersion value) { + this.creatingOsVersion = value; + } + + /** + * Gets the value of the lastModified property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.LastModified } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.LastModified getLastModified() { + return lastModified; + } + + /** + * Sets the value of the lastModified property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.LastModified } + * + */ + public void setLastModified(ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.LastModified value) { + this.lastModified = value; + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class CreatingApplicationName { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class CreatingApplicationVersion { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class CreatingOs { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class CreatingOsVersion { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class DateCreatedByApplication { + + @XmlValue + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Filename { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class LastModified { + + @XmlValue + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="FormatLitteral"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="MimeType"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="FormatId"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "formatLitteral", + "mimeType", + "formatId" + }) + public static class FormatIdentification { + + @XmlElement(name = "FormatLitteral", required = true) + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.FormatLitteral formatLitteral; + @XmlElement(name = "MimeType", required = true) + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.MimeType mimeType; + @XmlElement(name = "FormatId", required = true) + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.FormatId formatId; + + /** + * Gets the value of the formatLitteral property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.FormatLitteral } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.FormatLitteral getFormatLitteral() { + return formatLitteral; + } + + /** + * Sets the value of the formatLitteral property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.FormatLitteral } + * + */ + public void setFormatLitteral(ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.FormatLitteral value) { + this.formatLitteral = value; + } + + /** + * Gets the value of the mimeType property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.MimeType } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.MimeType getMimeType() { + return mimeType; + } + + /** + * Sets the value of the mimeType property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.MimeType } + * + */ + public void setMimeType(ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.MimeType value) { + this.mimeType = value; + } + + /** + * Gets the value of the formatId property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.FormatId } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.FormatId getFormatId() { + return formatId; + } + + /** + * Sets the value of the formatId property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.FormatId } + * + */ + public void setFormatId(ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.FormatId value) { + this.formatId = value; + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class FormatId { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class FormatLitteral { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class MimeType { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>base64Binary"> + * <attribute name="algorithm" use="required" type="{http://www.w3.org/2001/XMLSchema}token" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class MessageDigest { + + @XmlValue + protected byte[] value; + @XmlAttribute(name = "algorithm", required = true) + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String algorithm; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * byte[] + */ + public byte[] getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * byte[] + */ + public void setValue(byte[] value) { + this.value = value; + } + + /** + * Gets the value of the algorithm property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getAlgorithm() { + return algorithm; + } + + /** + * Sets the value of the algorithm property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setAlgorithm(String value) { + this.algorithm = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <choice> + * <element name="Audio" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Document" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Image" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Text" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Video" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </choice> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "audio", + "document", + "image", + "text", + "video" + }) + public static class Metadata { + + @XmlElement(name = "Audio") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Audio audio; + @XmlElement(name = "Document") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Document document; + @XmlElement(name = "Image") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Image image; + @XmlElement(name = "Text") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Text text; + @XmlElement(name = "Video") + protected ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Video video; + + /** + * Gets the value of the audio property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Audio } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Audio getAudio() { + return audio; + } + + /** + * Sets the value of the audio property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Audio } + * + */ + public void setAudio(ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Audio value) { + this.audio = value; + } + + /** + * Gets the value of the document property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Document } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Document getDocument() { + return document; + } + + /** + * Sets the value of the document property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Document } + * + */ + public void setDocument(ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Document value) { + this.document = value; + } + + /** + * Gets the value of the image property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Image } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Image getImage() { + return image; + } + + /** + * Sets the value of the image property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Image } + * + */ + public void setImage(ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Image value) { + this.image = value; + } + + /** + * Gets the value of the text property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Text } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Text getText() { + return text; + } + + /** + * Sets the value of the text property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Text } + * + */ + public void setText(ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Text value) { + this.text = value; + } + + /** + * Gets the value of the video property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Video } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Video getVideo() { + return video; + } + + /** + * Sets the value of the video property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Video } + * + */ + public void setVideo(ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Video value) { + this.video = value; + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Audio { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Document { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Image { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Text { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Video { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class OtherMetadata { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="target" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="type" type="{http://www.w3.org/2001/XMLSchema}string" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Relationship { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "target") + protected String target; + @XmlAttribute(name = "type") + protected String type; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the target property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getTarget() { + return target; + } + + /** + * Sets the value of the target property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setTarget(String value) { + this.target = value; + } + + /** + * Gets the value of the type property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getType() { + return type; + } + + /** + * Sets the value of the type property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setType(String value) { + this.type = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>positiveInteger"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Size { + + @XmlValue + @XmlSchemaType(name = "positiveInteger") + protected BigInteger value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link BigInteger } + * + */ + public BigInteger getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link BigInteger } + * + */ + public void setValue(BigInteger value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>anyURI"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Uri { + + @XmlValue + @XmlSchemaType(name = "anyURI") + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="ArchiveUnit"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Content" maxOccurs="unbounded"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="DescriptionLevel"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Title"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="FilePlanPosition" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="SystemId" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="OriginatingSystemId" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="ArchivalAgencyArchiveUnitIdentifier" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Description"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CustodialHistory" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="CustodialHistoryItem" type="{http://www.w3.org/2001/XMLSchema}anyType"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Type" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DocumentType" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Language" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>language"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DescriptionLanguage" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Status" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Version" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Tag" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Keyword"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="KeywordContent"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="KeywordReference" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="KeywordType"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" fixed="edition 2009" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Coverage" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Spatial" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Temporal" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Juridictional" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="OriginatingAgency"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Identifier"> + * <simpleType> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * </restriction> + * </simpleType> + * </element> + * <element name="OrganizationDescriptiveMetadata" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="SubmissionAgency" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Identifier" minOccurs="0"> + * <simpleType> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * </restriction> + * </simpleType> + * </element> + * <element name="OrganizationDescriptiveMetadata" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="AuthorizedAgent" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Writer" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Adressee" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Recipient" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Source" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="RelatedObjectReference" type="{http://www.w3.org/2001/XMLSchema}anyType" minOccurs="0"/> + * <element name="CreatedDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="TransactedDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="AcquiredDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="SentDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="ReceivedDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="RegisteredDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="StartDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="EndDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "archiveUnit" + }) + public static class DescriptiveMetadata { + + @XmlElement(name = "ArchiveUnit", required = true) + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit archiveUnit; + + /** + * Gets the value of the archiveUnit property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit getArchiveUnit() { + return archiveUnit; + } + + /** + * Sets the value of the archiveUnit property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit } + * + */ + public void setArchiveUnit(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit value) { + this.archiveUnit = value; + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Content" maxOccurs="unbounded"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="DescriptionLevel"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Title"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="FilePlanPosition" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="SystemId" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="OriginatingSystemId" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="ArchivalAgencyArchiveUnitIdentifier" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Description"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CustodialHistory" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="CustodialHistoryItem" type="{http://www.w3.org/2001/XMLSchema}anyType"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Type" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DocumentType" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Language" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>language"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DescriptionLanguage" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Status" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Version" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Tag" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Keyword"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="KeywordContent"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="KeywordReference" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="KeywordType"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" fixed="edition 2009" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Coverage" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Spatial" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Temporal" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Juridictional" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="OriginatingAgency"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Identifier"> + * <simpleType> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * </restriction> + * </simpleType> + * </element> + * <element name="OrganizationDescriptiveMetadata" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="SubmissionAgency" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Identifier" minOccurs="0"> + * <simpleType> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * </restriction> + * </simpleType> + * </element> + * <element name="OrganizationDescriptiveMetadata" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="AuthorizedAgent" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Writer" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Adressee" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Recipient" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Source" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="RelatedObjectReference" type="{http://www.w3.org/2001/XMLSchema}anyType" minOccurs="0"/> + * <element name="CreatedDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="TransactedDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="AcquiredDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="SentDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="ReceivedDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="RegisteredDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="StartDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="EndDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "content" + }) + public static class ArchiveUnit { + + @XmlElement(name = "Content", required = true) + protected List<ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content> content; + + /** + * Gets the value of the content property. + * + * <p> + * This accessor method returns a reference to the live list, + * not a snapshot. Therefore any modification you make to the + * returned list will be present inside the JAXB object. + * This is why there is not a <CODE>set</CODE> method for the content property. + * + * <p> + * For example, to add a new item, do as follows: + * <pre> + * getContent().add(newItem); + * </pre> + * + * + * <p> + * Objects of the following type(s) are allowed in the list + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content } + * + * + */ + public List<ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content> getContent() { + if (content == null) { + content = new ArrayList<ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content>(); + } + return this.content; + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="DescriptionLevel"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Title"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="FilePlanPosition" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="SystemId" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="OriginatingSystemId" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="ArchivalAgencyArchiveUnitIdentifier" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Description"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="CustodialHistory" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="CustodialHistoryItem" type="{http://www.w3.org/2001/XMLSchema}anyType"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Type" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DocumentType" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Language" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>language"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DescriptionLanguage" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Status" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Version" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Tag" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Keyword"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="KeywordContent"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="KeywordReference" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="KeywordType"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" fixed="edition 2009" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Coverage" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Spatial" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Temporal" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Juridictional" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="OriginatingAgency"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Identifier"> + * <simpleType> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * </restriction> + * </simpleType> + * </element> + * <element name="OrganizationDescriptiveMetadata" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="SubmissionAgency" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Identifier" minOccurs="0"> + * <simpleType> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * </restriction> + * </simpleType> + * </element> + * <element name="OrganizationDescriptiveMetadata" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="AuthorizedAgent" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Writer" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Adressee" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Recipient" minOccurs="0"> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </element> + * <element name="Source" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="RelatedObjectReference" type="{http://www.w3.org/2001/XMLSchema}anyType" minOccurs="0"/> + * <element name="CreatedDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="TransactedDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="AcquiredDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="SentDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="ReceivedDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="RegisteredDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="StartDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="EndDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "descriptionLevel", + "title", + "filePlanPosition", + "systemId", + "originatingSystemId", + "archivalAgencyArchiveUnitIdentifier", + "description", + "custodialHistory", + "type", + "documentType", + "language", + "descriptionLanguage", + "status", + "version", + "tag", + "keyword", + "coverage", + "originatingAgency", + "submissionAgency", + "authorizedAgent", + "writer", + "adressee", + "recipient", + "source", + "relatedObjectReference", + "createdDate", + "transactedDate", + "acquiredDate", + "sentDate", + "receivedDate", + "registeredDate", + "startDate", + "endDate" + }) + public static class Content { + + @XmlElement(name = "DescriptionLevel", required = true) + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DescriptionLevel descriptionLevel; + @XmlElement(name = "Title", required = true) + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Title title; + @XmlElement(name = "FilePlanPosition") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.FilePlanPosition filePlanPosition; + @XmlElement(name = "SystemId") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SystemId systemId; + @XmlElement(name = "OriginatingSystemId") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingSystemId originatingSystemId; + @XmlElement(name = "ArchivalAgencyArchiveUnitIdentifier") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.ArchivalAgencyArchiveUnitIdentifier archivalAgencyArchiveUnitIdentifier; + @XmlElement(name = "Description", required = true) + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Description description; + @XmlElement(name = "CustodialHistory") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.CustodialHistory custodialHistory; + @XmlElement(name = "Type") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Type type; + @XmlElement(name = "DocumentType") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DocumentType documentType; + @XmlElement(name = "Language") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Language language; + @XmlElement(name = "DescriptionLanguage") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DescriptionLanguage descriptionLanguage; + @XmlElement(name = "Status") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Status status; + @XmlElement(name = "Version") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Version version; + @XmlElement(name = "Tag") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Tag tag; + @XmlElement(name = "Keyword", required = true) + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword keyword; + @XmlElement(name = "Coverage") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage coverage; + @XmlElement(name = "OriginatingAgency", required = true) + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingAgency originatingAgency; + @XmlElement(name = "SubmissionAgency") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SubmissionAgency submissionAgency; + @XmlElement(name = "AuthorizedAgent") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent authorizedAgent; + @XmlElement(name = "Writer") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer writer; + @XmlElement(name = "Adressee") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee adressee; + @XmlElement(name = "Recipient") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient recipient; + @XmlElement(name = "Source") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Source source; + @XmlElement(name = "RelatedObjectReference") + protected Object relatedObjectReference; + @XmlElement(name = "CreatedDate") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.CreatedDate createdDate; + @XmlElement(name = "TransactedDate") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.TransactedDate transactedDate; + @XmlElement(name = "AcquiredDate") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AcquiredDate acquiredDate; + @XmlElement(name = "SentDate") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SentDate sentDate; + @XmlElement(name = "ReceivedDate") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.ReceivedDate receivedDate; + @XmlElement(name = "RegisteredDate") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.RegisteredDate registeredDate; + @XmlElement(name = "StartDate") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.StartDate startDate; + @XmlElement(name = "EndDate") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.EndDate endDate; + + /** + * Gets the value of the descriptionLevel property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DescriptionLevel } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DescriptionLevel getDescriptionLevel() { + return descriptionLevel; + } + + /** + * Sets the value of the descriptionLevel property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DescriptionLevel } + * + */ + public void setDescriptionLevel(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DescriptionLevel value) { + this.descriptionLevel = value; + } + + /** + * Gets the value of the title property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Title } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Title getTitle() { + return title; + } + + /** + * Sets the value of the title property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Title } + * + */ + public void setTitle(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Title value) { + this.title = value; + } + + /** + * Gets the value of the filePlanPosition property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.FilePlanPosition } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.FilePlanPosition getFilePlanPosition() { + return filePlanPosition; + } + + /** + * Sets the value of the filePlanPosition property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.FilePlanPosition } + * + */ + public void setFilePlanPosition(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.FilePlanPosition value) { + this.filePlanPosition = value; + } + + /** + * Gets the value of the systemId property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SystemId } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SystemId getSystemId() { + return systemId; + } + + /** + * Sets the value of the systemId property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SystemId } + * + */ + public void setSystemId(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SystemId value) { + this.systemId = value; + } + + /** + * Gets the value of the originatingSystemId property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingSystemId } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingSystemId getOriginatingSystemId() { + return originatingSystemId; + } + + /** + * Sets the value of the originatingSystemId property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingSystemId } + * + */ + public void setOriginatingSystemId(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingSystemId value) { + this.originatingSystemId = value; + } + + /** + * Gets the value of the archivalAgencyArchiveUnitIdentifier property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.ArchivalAgencyArchiveUnitIdentifier } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.ArchivalAgencyArchiveUnitIdentifier getArchivalAgencyArchiveUnitIdentifier() { + return archivalAgencyArchiveUnitIdentifier; + } + + /** + * Sets the value of the archivalAgencyArchiveUnitIdentifier property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.ArchivalAgencyArchiveUnitIdentifier } + * + */ + public void setArchivalAgencyArchiveUnitIdentifier(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.ArchivalAgencyArchiveUnitIdentifier value) { + this.archivalAgencyArchiveUnitIdentifier = value; + } + + /** + * Gets the value of the description property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Description } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Description getDescription() { + return description; + } + + /** + * Sets the value of the description property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Description } + * + */ + public void setDescription(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Description value) { + this.description = value; + } + + /** + * Gets the value of the custodialHistory property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.CustodialHistory } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.CustodialHistory getCustodialHistory() { + return custodialHistory; + } + + /** + * Sets the value of the custodialHistory property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.CustodialHistory } + * + */ + public void setCustodialHistory(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.CustodialHistory value) { + this.custodialHistory = value; + } + + /** + * Gets the value of the type property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Type } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Type getType() { + return type; + } + + /** + * Sets the value of the type property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Type } + * + */ + public void setType(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Type value) { + this.type = value; + } + + /** + * Gets the value of the documentType property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DocumentType } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DocumentType getDocumentType() { + return documentType; + } + + /** + * Sets the value of the documentType property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DocumentType } + * + */ + public void setDocumentType(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DocumentType value) { + this.documentType = value; + } + + /** + * Gets the value of the language property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Language } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Language getLanguage() { + return language; + } + + /** + * Sets the value of the language property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Language } + * + */ + public void setLanguage(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Language value) { + this.language = value; + } + + /** + * Gets the value of the descriptionLanguage property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DescriptionLanguage } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DescriptionLanguage getDescriptionLanguage() { + return descriptionLanguage; + } + + /** + * Sets the value of the descriptionLanguage property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DescriptionLanguage } + * + */ + public void setDescriptionLanguage(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DescriptionLanguage value) { + this.descriptionLanguage = value; + } + + /** + * Gets the value of the status property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Status } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Status getStatus() { + return status; + } + + /** + * Sets the value of the status property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Status } + * + */ + public void setStatus(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Status value) { + this.status = value; + } + + /** + * Gets the value of the version property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Version } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Version getVersion() { + return version; + } + + /** + * Sets the value of the version property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Version } + * + */ + public void setVersion(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Version value) { + this.version = value; + } + + /** + * Gets the value of the tag property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Tag } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Tag getTag() { + return tag; + } + + /** + * Sets the value of the tag property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Tag } + * + */ + public void setTag(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Tag value) { + this.tag = value; + } + + /** + * Gets the value of the keyword property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword getKeyword() { + return keyword; + } + + /** + * Sets the value of the keyword property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword } + * + */ + public void setKeyword(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword value) { + this.keyword = value; + } + + /** + * Gets the value of the coverage property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage getCoverage() { + return coverage; + } + + /** + * Sets the value of the coverage property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage } + * + */ + public void setCoverage(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage value) { + this.coverage = value; + } + + /** + * Gets the value of the originatingAgency property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingAgency } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingAgency getOriginatingAgency() { + return originatingAgency; + } + + /** + * Sets the value of the originatingAgency property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingAgency } + * + */ + public void setOriginatingAgency(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingAgency value) { + this.originatingAgency = value; + } + + /** + * Gets the value of the submissionAgency property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SubmissionAgency } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SubmissionAgency getSubmissionAgency() { + return submissionAgency; + } + + /** + * Sets the value of the submissionAgency property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SubmissionAgency } + * + */ + public void setSubmissionAgency(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SubmissionAgency value) { + this.submissionAgency = value; + } + + /** + * Gets the value of the authorizedAgent property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent getAuthorizedAgent() { + return authorizedAgent; + } + + /** + * Sets the value of the authorizedAgent property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent } + * + */ + public void setAuthorizedAgent(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent value) { + this.authorizedAgent = value; + } + + /** + * Gets the value of the writer property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer getWriter() { + return writer; + } + + /** + * Sets the value of the writer property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer } + * + */ + public void setWriter(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer value) { + this.writer = value; + } + + /** + * Gets the value of the adressee property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee getAdressee() { + return adressee; + } + + /** + * Sets the value of the adressee property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee } + * + */ + public void setAdressee(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee value) { + this.adressee = value; + } + + /** + * Gets the value of the recipient property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient getRecipient() { + return recipient; + } + + /** + * Sets the value of the recipient property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient } + * + */ + public void setRecipient(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient value) { + this.recipient = value; + } + + /** + * Gets the value of the source property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Source } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Source getSource() { + return source; + } + + /** + * Sets the value of the source property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Source } + * + */ + public void setSource(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Source value) { + this.source = value; + } + + /** + * Gets the value of the relatedObjectReference property. + * + * @return + * possible object is + * {@link Object } + * + */ + public Object getRelatedObjectReference() { + return relatedObjectReference; + } + + /** + * Sets the value of the relatedObjectReference property. + * + * @param value + * allowed object is + * {@link Object } + * + */ + public void setRelatedObjectReference(Object value) { + this.relatedObjectReference = value; + } + + /** + * Gets the value of the createdDate property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.CreatedDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.CreatedDate getCreatedDate() { + return createdDate; + } + + /** + * Sets the value of the createdDate property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.CreatedDate } + * + */ + public void setCreatedDate(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.CreatedDate value) { + this.createdDate = value; + } + + /** + * Gets the value of the transactedDate property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.TransactedDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.TransactedDate getTransactedDate() { + return transactedDate; + } + + /** + * Sets the value of the transactedDate property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.TransactedDate } + * + */ + public void setTransactedDate(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.TransactedDate value) { + this.transactedDate = value; + } + + /** + * Gets the value of the acquiredDate property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AcquiredDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AcquiredDate getAcquiredDate() { + return acquiredDate; + } + + /** + * Sets the value of the acquiredDate property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AcquiredDate } + * + */ + public void setAcquiredDate(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AcquiredDate value) { + this.acquiredDate = value; + } + + /** + * Gets the value of the sentDate property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SentDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SentDate getSentDate() { + return sentDate; + } + + /** + * Sets the value of the sentDate property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SentDate } + * + */ + public void setSentDate(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SentDate value) { + this.sentDate = value; + } + + /** + * Gets the value of the receivedDate property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.ReceivedDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.ReceivedDate getReceivedDate() { + return receivedDate; + } + + /** + * Sets the value of the receivedDate property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.ReceivedDate } + * + */ + public void setReceivedDate(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.ReceivedDate value) { + this.receivedDate = value; + } + + /** + * Gets the value of the registeredDate property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.RegisteredDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.RegisteredDate getRegisteredDate() { + return registeredDate; + } + + /** + * Sets the value of the registeredDate property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.RegisteredDate } + * + */ + public void setRegisteredDate(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.RegisteredDate value) { + this.registeredDate = value; + } + + /** + * Gets the value of the startDate property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.StartDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.StartDate getStartDate() { + return startDate; + } + + /** + * Sets the value of the startDate property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.StartDate } + * + */ + public void setStartDate(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.StartDate value) { + this.startDate = value; + } + + /** + * Gets the value of the endDate property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.EndDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.EndDate getEndDate() { + return endDate; + } + + /** + * Sets the value of the endDate property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.EndDate } + * + */ + public void setEndDate(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.EndDate value) { + this.endDate = value; + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class AcquiredDate { + + @XmlValue + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "corpname", + "firstName", + "birthName", + "givenName", + "gender", + "birthDate", + "birthPlace", + "deathDate", + "deathPlace", + "nationality", + "identifier" + }) + public static class Adressee { + + @XmlElement(name = "Corpname") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Corpname corpname; + @XmlElement(name = "FirstName") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.FirstName firstName; + @XmlElement(name = "BirthName") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthName birthName; + @XmlElement(name = "GivenName") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.GivenName givenName; + @XmlElement(name = "Gender") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Gender gender; + @XmlElement(name = "BirthDate") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthDate birthDate; + @XmlElement(name = "BirthPlace") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthPlace birthPlace; + @XmlElement(name = "DeathDate") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.DeathDate deathDate; + @XmlElement(name = "DeathPlace") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.DeathPlace deathPlace; + @XmlElement(name = "Nationality") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Nationality nationality; + @XmlElement(name = "Identifier") + protected String identifier; + + /** + * Gets the value of the corpname property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Corpname } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Corpname getCorpname() { + return corpname; + } + + /** + * Sets the value of the corpname property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Corpname } + * + */ + public void setCorpname(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Corpname value) { + this.corpname = value; + } + + /** + * Gets the value of the firstName property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.FirstName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.FirstName getFirstName() { + return firstName; + } + + /** + * Sets the value of the firstName property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.FirstName } + * + */ + public void setFirstName(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.FirstName value) { + this.firstName = value; + } + + /** + * Gets the value of the birthName property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthName getBirthName() { + return birthName; + } + + /** + * Sets the value of the birthName property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthName } + * + */ + public void setBirthName(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthName value) { + this.birthName = value; + } + + /** + * Gets the value of the givenName property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.GivenName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.GivenName getGivenName() { + return givenName; + } + + /** + * Sets the value of the givenName property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.GivenName } + * + */ + public void setGivenName(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.GivenName value) { + this.givenName = value; + } + + /** + * Gets the value of the gender property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Gender } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Gender getGender() { + return gender; + } + + /** + * Sets the value of the gender property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Gender } + * + */ + public void setGender(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Gender value) { + this.gender = value; + } + + /** + * Gets the value of the birthDate property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthDate getBirthDate() { + return birthDate; + } + + /** + * Sets the value of the birthDate property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthDate } + * + */ + public void setBirthDate(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthDate value) { + this.birthDate = value; + } + + /** + * Gets the value of the birthPlace property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthPlace } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthPlace getBirthPlace() { + return birthPlace; + } + + /** + * Sets the value of the birthPlace property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthPlace } + * + */ + public void setBirthPlace(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthPlace value) { + this.birthPlace = value; + } + + /** + * Gets the value of the deathDate property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.DeathDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.DeathDate getDeathDate() { + return deathDate; + } + + /** + * Sets the value of the deathDate property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.DeathDate } + * + */ + public void setDeathDate(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.DeathDate value) { + this.deathDate = value; + } + + /** + * Gets the value of the deathPlace property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.DeathPlace } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.DeathPlace getDeathPlace() { + return deathPlace; + } + + /** + * Sets the value of the deathPlace property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.DeathPlace } + * + */ + public void setDeathPlace(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.DeathPlace value) { + this.deathPlace = value; + } + + /** + * Gets the value of the nationality property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Nationality } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Nationality getNationality() { + return nationality; + } + + /** + * Sets the value of the nationality property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Nationality } + * + */ + public void setNationality(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Nationality value) { + this.nationality = value; + } + + /** + * Gets the value of the identifier property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getIdentifier() { + return identifier; + } + + /** + * Sets the value of the identifier property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setIdentifier(String value) { + this.identifier = value; + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class BirthDate { + + @XmlValue + @XmlSchemaType(name = "date") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class BirthName { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class BirthPlace { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Corpname { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class DeathDate { + + @XmlValue + @XmlSchemaType(name = "date") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class DeathPlace { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class FirstName { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Gender { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class GivenName { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Nationality { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class ArchivalAgencyArchiveUnitIdentifier { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "corpname", + "firstName", + "birthName", + "givenName", + "gender", + "birthDate", + "birthPlace", + "deathDate", + "deathPlace", + "nationality", + "identifier" + }) + public static class AuthorizedAgent { + + @XmlElement(name = "Corpname") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Corpname corpname; + @XmlElement(name = "FirstName") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.FirstName firstName; + @XmlElement(name = "BirthName") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthName birthName; + @XmlElement(name = "GivenName") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.GivenName givenName; + @XmlElement(name = "Gender") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Gender gender; + @XmlElement(name = "BirthDate") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthDate birthDate; + @XmlElement(name = "BirthPlace") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthPlace birthPlace; + @XmlElement(name = "DeathDate") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.DeathDate deathDate; + @XmlElement(name = "DeathPlace") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.DeathPlace deathPlace; + @XmlElement(name = "Nationality") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Nationality nationality; + @XmlElement(name = "Identifier") + protected String identifier; + + /** + * Gets the value of the corpname property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Corpname } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Corpname getCorpname() { + return corpname; + } + + /** + * Sets the value of the corpname property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Corpname } + * + */ + public void setCorpname(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Corpname value) { + this.corpname = value; + } + + /** + * Gets the value of the firstName property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.FirstName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.FirstName getFirstName() { + return firstName; + } + + /** + * Sets the value of the firstName property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.FirstName } + * + */ + public void setFirstName(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.FirstName value) { + this.firstName = value; + } + + /** + * Gets the value of the birthName property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthName getBirthName() { + return birthName; + } + + /** + * Sets the value of the birthName property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthName } + * + */ + public void setBirthName(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthName value) { + this.birthName = value; + } + + /** + * Gets the value of the givenName property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.GivenName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.GivenName getGivenName() { + return givenName; + } + + /** + * Sets the value of the givenName property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.GivenName } + * + */ + public void setGivenName(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.GivenName value) { + this.givenName = value; + } + + /** + * Gets the value of the gender property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Gender } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Gender getGender() { + return gender; + } + + /** + * Sets the value of the gender property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Gender } + * + */ + public void setGender(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Gender value) { + this.gender = value; + } + + /** + * Gets the value of the birthDate property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthDate getBirthDate() { + return birthDate; + } + + /** + * Sets the value of the birthDate property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthDate } + * + */ + public void setBirthDate(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthDate value) { + this.birthDate = value; + } + + /** + * Gets the value of the birthPlace property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthPlace } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthPlace getBirthPlace() { + return birthPlace; + } + + /** + * Sets the value of the birthPlace property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthPlace } + * + */ + public void setBirthPlace(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthPlace value) { + this.birthPlace = value; + } + + /** + * Gets the value of the deathDate property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.DeathDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.DeathDate getDeathDate() { + return deathDate; + } + + /** + * Sets the value of the deathDate property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.DeathDate } + * + */ + public void setDeathDate(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.DeathDate value) { + this.deathDate = value; + } + + /** + * Gets the value of the deathPlace property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.DeathPlace } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.DeathPlace getDeathPlace() { + return deathPlace; + } + + /** + * Sets the value of the deathPlace property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.DeathPlace } + * + */ + public void setDeathPlace(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.DeathPlace value) { + this.deathPlace = value; + } + + /** + * Gets the value of the nationality property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Nationality } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Nationality getNationality() { + return nationality; + } + + /** + * Sets the value of the nationality property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Nationality } + * + */ + public void setNationality(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Nationality value) { + this.nationality = value; + } + + /** + * Gets the value of the identifier property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getIdentifier() { + return identifier; + } + + /** + * Sets the value of the identifier property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setIdentifier(String value) { + this.identifier = value; + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class BirthDate { + + @XmlValue + @XmlSchemaType(name = "date") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class BirthName { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class BirthPlace { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Corpname { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class DeathDate { + + @XmlValue + @XmlSchemaType(name = "date") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class DeathPlace { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class FirstName { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Gender { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class GivenName { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Nationality { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Spatial" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Temporal" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Juridictional" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "spatial", + "temporal", + "juridictional" + }) + public static class Coverage { + + @XmlElement(name = "Spatial") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Spatial spatial; + @XmlElement(name = "Temporal") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Temporal temporal; + @XmlElement(name = "Juridictional") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Juridictional juridictional; + @XmlAttribute(name = "id") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlID + @XmlSchemaType(name = "ID") + protected String id; + + /** + * Gets the value of the spatial property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Spatial } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Spatial getSpatial() { + return spatial; + } + + /** + * Sets the value of the spatial property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Spatial } + * + */ + public void setSpatial(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Spatial value) { + this.spatial = value; + } + + /** + * Gets the value of the temporal property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Temporal } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Temporal getTemporal() { + return temporal; + } + + /** + * Sets the value of the temporal property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Temporal } + * + */ + public void setTemporal(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Temporal value) { + this.temporal = value; + } + + /** + * Gets the value of the juridictional property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Juridictional } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Juridictional getJuridictional() { + return juridictional; + } + + /** + * Sets the value of the juridictional property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Juridictional } + * + */ + public void setJuridictional(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Juridictional value) { + this.juridictional = value; + } + + /** + * Gets the value of the id property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getId() { + return id; + } + + /** + * Sets the value of the id property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setId(String value) { + this.id = value; + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Juridictional { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Spatial { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Temporal { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class CreatedDate { + + @XmlValue + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="CustodialHistoryItem" type="{http://www.w3.org/2001/XMLSchema}anyType"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "custodialHistoryItem" + }) + public static class CustodialHistory { + + @XmlElement(name = "CustodialHistoryItem", required = true) + protected Object custodialHistoryItem; + + /** + * Gets the value of the custodialHistoryItem property. + * + * @return + * possible object is + * {@link Object } + * + */ + public Object getCustodialHistoryItem() { + return custodialHistoryItem; + } + + /** + * Sets the value of the custodialHistoryItem property. + * + * @param value + * allowed object is + * {@link Object } + * + */ + public void setCustodialHistoryItem(Object value) { + this.custodialHistoryItem = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Description { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class DescriptionLanguage { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class DescriptionLevel { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class DocumentType { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class EndDate { + + @XmlValue + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class FilePlanPosition { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="KeywordContent"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="KeywordReference" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="KeywordType"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" fixed="edition 2009" /> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <attribute name="id" type="{http://www.w3.org/2001/XMLSchema}ID" /> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "keywordContent", + "keywordReference", + "keywordType" + }) + public static class Keyword { + + @XmlElement(name = "KeywordContent", required = true) + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordContent keywordContent; + @XmlElement(name = "KeywordReference") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordReference keywordReference; + @XmlElement(name = "KeywordType", required = true) + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordType keywordType; + @XmlAttribute(name = "id") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlID + @XmlSchemaType(name = "ID") + protected String id; + + /** + * Gets the value of the keywordContent property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordContent } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordContent getKeywordContent() { + return keywordContent; + } + + /** + * Sets the value of the keywordContent property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordContent } + * + */ + public void setKeywordContent(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordContent value) { + this.keywordContent = value; + } + + /** + * Gets the value of the keywordReference property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordReference } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordReference getKeywordReference() { + return keywordReference; + } + + /** + * Sets the value of the keywordReference property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordReference } + * + */ + public void setKeywordReference(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordReference value) { + this.keywordReference = value; + } + + /** + * Gets the value of the keywordType property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordType } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordType getKeywordType() { + return keywordType; + } + + /** + * Sets the value of the keywordType property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordType } + * + */ + public void setKeywordType(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordType value) { + this.keywordType = value; + } + + /** + * Gets the value of the id property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getId() { + return id; + } + + /** + * Sets the value of the id property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setId(String value) { + this.id = value; + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class KeywordContent { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class KeywordReference { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="listVersionID" type="{http://www.w3.org/2001/XMLSchema}anySimpleType" fixed="edition 2009" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class KeywordType { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "listVersionID") + @XmlSchemaType(name = "anySimpleType") + protected String listVersionID; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the listVersionID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getListVersionID() { + if (listVersionID == null) { + return "edition 2009"; + } else { + return listVersionID; + } + } + + /** + * Sets the value of the listVersionID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setListVersionID(String value) { + this.listVersionID = value; + } + + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>language"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Language { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "language") + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Identifier"> + * <simpleType> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * </restriction> + * </simpleType> + * </element> + * <element name="OrganizationDescriptiveMetadata" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "identifier", + "organizationDescriptiveMetadata" + }) + public static class OriginatingAgency { + + @XmlElement(name = "Identifier", required = true) + protected String identifier; + @XmlElement(name = "OrganizationDescriptiveMetadata") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingAgency.OrganizationDescriptiveMetadata organizationDescriptiveMetadata; + + /** + * Gets the value of the identifier property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getIdentifier() { + return identifier; + } + + /** + * Sets the value of the identifier property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setIdentifier(String value) { + this.identifier = value; + } + + /** + * Gets the value of the organizationDescriptiveMetadata property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingAgency.OrganizationDescriptiveMetadata } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingAgency.OrganizationDescriptiveMetadata getOrganizationDescriptiveMetadata() { + return organizationDescriptiveMetadata; + } + + /** + * Sets the value of the organizationDescriptiveMetadata property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingAgency.OrganizationDescriptiveMetadata } + * + */ + public void setOrganizationDescriptiveMetadata(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingAgency.OrganizationDescriptiveMetadata value) { + this.organizationDescriptiveMetadata = value; + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class OrganizationDescriptiveMetadata { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class OriginatingSystemId { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class ReceivedDate { + + @XmlValue + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "corpname", + "firstName", + "birthName", + "givenName", + "gender", + "birthDate", + "birthPlace", + "deathDate", + "deathPlace", + "nationality", + "identifier" + }) + public static class Recipient { + + @XmlElement(name = "Corpname") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Corpname corpname; + @XmlElement(name = "FirstName") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.FirstName firstName; + @XmlElement(name = "BirthName") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthName birthName; + @XmlElement(name = "GivenName") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.GivenName givenName; + @XmlElement(name = "Gender") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Gender gender; + @XmlElement(name = "BirthDate") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthDate birthDate; + @XmlElement(name = "BirthPlace") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthPlace birthPlace; + @XmlElement(name = "DeathDate") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.DeathDate deathDate; + @XmlElement(name = "DeathPlace") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.DeathPlace deathPlace; + @XmlElement(name = "Nationality") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Nationality nationality; + @XmlElement(name = "Identifier") + protected String identifier; + + /** + * Gets the value of the corpname property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Corpname } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Corpname getCorpname() { + return corpname; + } + + /** + * Sets the value of the corpname property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Corpname } + * + */ + public void setCorpname(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Corpname value) { + this.corpname = value; + } + + /** + * Gets the value of the firstName property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.FirstName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.FirstName getFirstName() { + return firstName; + } + + /** + * Sets the value of the firstName property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.FirstName } + * + */ + public void setFirstName(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.FirstName value) { + this.firstName = value; + } + + /** + * Gets the value of the birthName property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthName getBirthName() { + return birthName; + } + + /** + * Sets the value of the birthName property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthName } + * + */ + public void setBirthName(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthName value) { + this.birthName = value; + } + + /** + * Gets the value of the givenName property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.GivenName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.GivenName getGivenName() { + return givenName; + } + + /** + * Sets the value of the givenName property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.GivenName } + * + */ + public void setGivenName(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.GivenName value) { + this.givenName = value; + } + + /** + * Gets the value of the gender property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Gender } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Gender getGender() { + return gender; + } + + /** + * Sets the value of the gender property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Gender } + * + */ + public void setGender(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Gender value) { + this.gender = value; + } + + /** + * Gets the value of the birthDate property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthDate getBirthDate() { + return birthDate; + } + + /** + * Sets the value of the birthDate property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthDate } + * + */ + public void setBirthDate(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthDate value) { + this.birthDate = value; + } + + /** + * Gets the value of the birthPlace property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthPlace } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthPlace getBirthPlace() { + return birthPlace; + } + + /** + * Sets the value of the birthPlace property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthPlace } + * + */ + public void setBirthPlace(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthPlace value) { + this.birthPlace = value; + } + + /** + * Gets the value of the deathDate property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.DeathDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.DeathDate getDeathDate() { + return deathDate; + } + + /** + * Sets the value of the deathDate property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.DeathDate } + * + */ + public void setDeathDate(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.DeathDate value) { + this.deathDate = value; + } + + /** + * Gets the value of the deathPlace property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.DeathPlace } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.DeathPlace getDeathPlace() { + return deathPlace; + } + + /** + * Sets the value of the deathPlace property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.DeathPlace } + * + */ + public void setDeathPlace(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.DeathPlace value) { + this.deathPlace = value; + } + + /** + * Gets the value of the nationality property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Nationality } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Nationality getNationality() { + return nationality; + } + + /** + * Sets the value of the nationality property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Nationality } + * + */ + public void setNationality(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Nationality value) { + this.nationality = value; + } + + /** + * Gets the value of the identifier property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getIdentifier() { + return identifier; + } + + /** + * Sets the value of the identifier property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setIdentifier(String value) { + this.identifier = value; + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class BirthDate { + + @XmlValue + @XmlSchemaType(name = "date") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class BirthName { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class BirthPlace { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Corpname { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class DeathDate { + + @XmlValue + @XmlSchemaType(name = "date") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class DeathPlace { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class FirstName { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Gender { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class GivenName { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Nationality { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class RegisteredDate { + + @XmlValue + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class SentDate { + + @XmlValue + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Source { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class StartDate { + + @XmlValue + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Status { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Identifier" minOccurs="0"> + * <simpleType> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * </restriction> + * </simpleType> + * </element> + * <element name="OrganizationDescriptiveMetadata" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "identifier", + "organizationDescriptiveMetadata" + }) + public static class SubmissionAgency { + + @XmlElement(name = "Identifier") + protected String identifier; + @XmlElement(name = "OrganizationDescriptiveMetadata") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SubmissionAgency.OrganizationDescriptiveMetadata organizationDescriptiveMetadata; + + /** + * Gets the value of the identifier property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getIdentifier() { + return identifier; + } + + /** + * Sets the value of the identifier property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setIdentifier(String value) { + this.identifier = value; + } + + /** + * Gets the value of the organizationDescriptiveMetadata property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SubmissionAgency.OrganizationDescriptiveMetadata } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SubmissionAgency.OrganizationDescriptiveMetadata getOrganizationDescriptiveMetadata() { + return organizationDescriptiveMetadata; + } + + /** + * Sets the value of the organizationDescriptiveMetadata property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SubmissionAgency.OrganizationDescriptiveMetadata } + * + */ + public void setOrganizationDescriptiveMetadata(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SubmissionAgency.OrganizationDescriptiveMetadata value) { + this.organizationDescriptiveMetadata = value; + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class OrganizationDescriptiveMetadata { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class SystemId { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Tag { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Title { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class TransactedDate { + + @XmlValue + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Type { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Version { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <choice> + * <sequence> + * <element name="Corpname" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * <sequence> + * <element name="FirstName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="GivenName" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Gender" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="BirthPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathDate" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="DeathPlace" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * <element name="Nationality" minOccurs="0"> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </element> + * </sequence> + * </choice> + * <element ref="{}Identifier" minOccurs="0"/> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "corpname", + "firstName", + "birthName", + "givenName", + "gender", + "birthDate", + "birthPlace", + "deathDate", + "deathPlace", + "nationality", + "identifier" + }) + public static class Writer { + + @XmlElement(name = "Corpname") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Corpname corpname; + @XmlElement(name = "FirstName") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.FirstName firstName; + @XmlElement(name = "BirthName") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthName birthName; + @XmlElement(name = "GivenName") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.GivenName givenName; + @XmlElement(name = "Gender") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Gender gender; + @XmlElement(name = "BirthDate") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthDate birthDate; + @XmlElement(name = "BirthPlace") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthPlace birthPlace; + @XmlElement(name = "DeathDate") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.DeathDate deathDate; + @XmlElement(name = "DeathPlace") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.DeathPlace deathPlace; + @XmlElement(name = "Nationality") + protected ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Nationality nationality; + @XmlElement(name = "Identifier") + protected String identifier; + + /** + * Gets the value of the corpname property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Corpname } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Corpname getCorpname() { + return corpname; + } + + /** + * Sets the value of the corpname property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Corpname } + * + */ + public void setCorpname(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Corpname value) { + this.corpname = value; + } + + /** + * Gets the value of the firstName property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.FirstName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.FirstName getFirstName() { + return firstName; + } + + /** + * Sets the value of the firstName property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.FirstName } + * + */ + public void setFirstName(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.FirstName value) { + this.firstName = value; + } + + /** + * Gets the value of the birthName property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthName getBirthName() { + return birthName; + } + + /** + * Sets the value of the birthName property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthName } + * + */ + public void setBirthName(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthName value) { + this.birthName = value; + } + + /** + * Gets the value of the givenName property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.GivenName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.GivenName getGivenName() { + return givenName; + } + + /** + * Sets the value of the givenName property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.GivenName } + * + */ + public void setGivenName(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.GivenName value) { + this.givenName = value; + } + + /** + * Gets the value of the gender property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Gender } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Gender getGender() { + return gender; + } + + /** + * Sets the value of the gender property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Gender } + * + */ + public void setGender(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Gender value) { + this.gender = value; + } + + /** + * Gets the value of the birthDate property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthDate getBirthDate() { + return birthDate; + } + + /** + * Sets the value of the birthDate property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthDate } + * + */ + public void setBirthDate(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthDate value) { + this.birthDate = value; + } + + /** + * Gets the value of the birthPlace property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthPlace } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthPlace getBirthPlace() { + return birthPlace; + } + + /** + * Sets the value of the birthPlace property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthPlace } + * + */ + public void setBirthPlace(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthPlace value) { + this.birthPlace = value; + } + + /** + * Gets the value of the deathDate property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.DeathDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.DeathDate getDeathDate() { + return deathDate; + } + + /** + * Sets the value of the deathDate property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.DeathDate } + * + */ + public void setDeathDate(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.DeathDate value) { + this.deathDate = value; + } + + /** + * Gets the value of the deathPlace property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.DeathPlace } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.DeathPlace getDeathPlace() { + return deathPlace; + } + + /** + * Sets the value of the deathPlace property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.DeathPlace } + * + */ + public void setDeathPlace(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.DeathPlace value) { + this.deathPlace = value; + } + + /** + * Gets the value of the nationality property. + * + * @return + * possible object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Nationality } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Nationality getNationality() { + return nationality; + } + + /** + * Sets the value of the nationality property. + * + * @param value + * allowed object is + * {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Nationality } + * + */ + public void setNationality(ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Nationality value) { + this.nationality = value; + } + + /** + * Gets the value of the identifier property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getIdentifier() { + return identifier; + } + + /** + * Sets the value of the identifier property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setIdentifier(String value) { + this.identifier = value; + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class BirthDate { + + @XmlValue + @XmlSchemaType(name = "date") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class BirthName { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class BirthPlace { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Corpname { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>date"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class DeathDate { + + @XmlValue + @XmlSchemaType(name = "date") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class DeathPlace { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class FirstName { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Gender { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class GivenName { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>string"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Nationality { + + @XmlValue + protected String value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + } + + } + + } + + } + + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>dateTime"> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class Date { + + @XmlValue + @XmlSchemaType(name = "dateTime") + protected XMLGregorianCalendar value; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link XMLGregorianCalendar } + * + */ + public XMLGregorianCalendar getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link XMLGregorianCalendar } + * + */ + public void setValue(XMLGregorianCalendar value) { + this.value = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <simpleContent> + * <extension base="<http://www.w3.org/2001/XMLSchema>token"> + * <attribute name="schemeDataURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * <attribute name="schemeID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="schemeAgencyName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="schemeAgencyID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="schemeName" type="{http://www.w3.org/2001/XMLSchema}string" /> + * <attribute name="schemeVersionID" type="{http://www.w3.org/2001/XMLSchema}token" /> + * <attribute name="schemeURI" type="{http://www.w3.org/2001/XMLSchema}anyURI" /> + * </extension> + * </simpleContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "value" + }) + public static class MessageIdentifier { + + @XmlValue + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String value; + @XmlAttribute(name = "schemeDataURI") + @XmlSchemaType(name = "anyURI") + protected String schemeDataURI; + @XmlAttribute(name = "schemeID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String schemeID; + @XmlAttribute(name = "schemeAgencyName") + protected String schemeAgencyName; + @XmlAttribute(name = "schemeAgencyID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String schemeAgencyID; + @XmlAttribute(name = "schemeName") + protected String schemeName; + @XmlAttribute(name = "schemeVersionID") + @XmlJavaTypeAdapter(CollapsedStringAdapter.class) + @XmlSchemaType(name = "token") + protected String schemeVersionID; + @XmlAttribute(name = "schemeURI") + @XmlSchemaType(name = "anyURI") + protected String schemeURI; + + /** + * Gets the value of the value property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getValue() { + return value; + } + + /** + * Sets the value of the value property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setValue(String value) { + this.value = value; + } + + /** + * Gets the value of the schemeDataURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getSchemeDataURI() { + return schemeDataURI; + } + + /** + * Sets the value of the schemeDataURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setSchemeDataURI(String value) { + this.schemeDataURI = value; + } + + /** + * Gets the value of the schemeID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getSchemeID() { + return schemeID; + } + + /** + * Sets the value of the schemeID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setSchemeID(String value) { + this.schemeID = value; + } + + /** + * Gets the value of the schemeAgencyName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getSchemeAgencyName() { + return schemeAgencyName; + } + + /** + * Sets the value of the schemeAgencyName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setSchemeAgencyName(String value) { + this.schemeAgencyName = value; + } + + /** + * Gets the value of the schemeAgencyID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getSchemeAgencyID() { + return schemeAgencyID; + } + + /** + * Sets the value of the schemeAgencyID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setSchemeAgencyID(String value) { + this.schemeAgencyID = value; + } + + /** + * Gets the value of the schemeName property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getSchemeName() { + return schemeName; + } + + /** + * Sets the value of the schemeName property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setSchemeName(String value) { + this.schemeName = value; + } + + /** + * Gets the value of the schemeVersionID property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getSchemeVersionID() { + return schemeVersionID; + } + + /** + * Sets the value of the schemeVersionID property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setSchemeVersionID(String value) { + this.schemeVersionID = value; + } + + /** + * Gets the value of the schemeURI property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getSchemeURI() { + return schemeURI; + } + + /** + * Sets the value of the schemeURI property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setSchemeURI(String value) { + this.schemeURI = value; + } + + } + + + /** + * <p>Java class for anonymous complex type. + * + * <p>The following schema fragment specifies the expected content contained within this class. + * + * <pre> + * <complexType> + * <complexContent> + * <restriction base="{http://www.w3.org/2001/XMLSchema}anyType"> + * <sequence> + * <element name="Identifier"> + * <simpleType> + * <restriction base="{http://www.w3.org/2001/XMLSchema}string"> + * </restriction> + * </simpleType> + * </element> + * </sequence> + * </restriction> + * </complexContent> + * </complexType> + * </pre> + * + * + */ + @XmlAccessorType(XmlAccessType.FIELD) + @XmlType(name = "", propOrder = { + "identifier" + }) + public static class TransferringAgency { + + @XmlElement(name = "Identifier", required = true) + protected String identifier; + + /** + * Gets the value of the identifier property. + * + * @return + * possible object is + * {@link String } + * + */ + public String getIdentifier() { + return identifier; + } + + /** + * Sets the value of the identifier property. + * + * @param value + * allowed object is + * {@link String } + * + */ + public void setIdentifier(String value) { + this.identifier = value; + } + + } + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/rng/ObjectFactory.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/rng/ObjectFactory.java new file mode 100644 index 0000000000000000000000000000000000000000..ef7424dde8876bde658650b69e67084c50381f54 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/rng/ObjectFactory.java @@ -0,0 +1,1181 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +// +// This file was generated by the JavaTM Architecture for XML Binding(JAXB) Reference Implementation, v2.3.0 +// See <a href="https://javaee.github.io/jaxb-v2/">https://javaee.github.io/jaxb-v2/</a> +// Any modifications to this file will be lost upon recompilation of the source schema. +// Generated on: 2019.11.14 at 11:15:17 AM CET +// + + +package fr.gouv.vitamui.pastis.model.rng; + +import javax.xml.bind.JAXBElement; +import javax.xml.bind.annotation.XmlElementDecl; +import javax.xml.bind.annotation.XmlRegistry; +import javax.xml.namespace.QName; + + +/** + * This object contains factory methods for each + * Java content interface and Java element interface + * generated in the fr.cines.pastis.rng.model package. + * <p>An ObjectFactory allows you to programatically + * construct new instances of the Java representation + * for XML content. The Java representation of XML + * content can consist of schema derived interfaces + * and classes representing the binding of schema + * type definitions, element declarations and model + * groups. Factory methods for each of these are + * provided in this class. + * + */ +@XmlRegistry +public class ObjectFactory { + + private final static QName _Identifier_QNAME = new QName("", "Identifier"); + + /** + * Create a new ObjectFactory that can be used to create new instances of schema derived classes for package: fr.cines.pastis.rng.model + * + */ + public ObjectFactory() { + } + + /** + * Create an instance of {@link ArchiveTransfer } + * + */ + public ArchiveTransfer createArchiveTransfer() { + return new ArchiveTransfer(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage } + * + */ + public ArchiveTransfer.DataObjectPackage createArchiveTransferDataObjectPackage() { + return new ArchiveTransfer.DataObjectPackage(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata createArchiveTransferDataObjectPackageDescriptiveMetadata() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnit() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContent() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentRecipient() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAdressee() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentWriter() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAuthorizedAgent() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SubmissionAgency } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SubmissionAgency createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentSubmissionAgency() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SubmissionAgency(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingAgency } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingAgency createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentOriginatingAgency() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingAgency(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentCoverage() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentKeyword() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject createArchiveTransferDataObjectPackageBinaryDataObject() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata createArchiveTransferDataObjectPackageBinaryDataObjectMetadata() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo createArchiveTransferDataObjectPackageBinaryDataObjectFileInfo() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification createArchiveTransferDataObjectPackageBinaryDataObjectFormatIdentification() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification(); + } + + /** + * Create an instance of {@link ArchiveTransfer.CodeListVersions } + * + */ + public ArchiveTransfer.CodeListVersions createArchiveTransferCodeListVersions() { + return new ArchiveTransfer.CodeListVersions(); + } + + /** + * Create an instance of {@link ArchiveTransfer.Comment } + * + */ + public ArchiveTransfer.Comment createArchiveTransferComment() { + return new ArchiveTransfer.Comment(); + } + + /** + * Create an instance of {@link ArchiveTransfer.Date } + * + */ + public ArchiveTransfer.Date createArchiveTransferDate() { + return new ArchiveTransfer.Date(); + } + + /** + * Create an instance of {@link ArchiveTransfer.MessageIdentifier } + * + */ + public ArchiveTransfer.MessageIdentifier createArchiveTransferMessageIdentifier() { + return new ArchiveTransfer.MessageIdentifier(); + } + + /** + * Create an instance of {@link ArchiveTransfer.ArchivalAgreement } + * + */ + public ArchiveTransfer.ArchivalAgreement createArchiveTransferArchivalAgreement() { + return new ArchiveTransfer.ArchivalAgreement(); + } + + /** + * Create an instance of {@link ArchiveTransfer.ArchivalAgency } + * + */ + public ArchiveTransfer.ArchivalAgency createArchiveTransferArchivalAgency() { + return new ArchiveTransfer.ArchivalAgency(); + } + + /** + * Create an instance of {@link ArchiveTransfer.TransferringAgency } + * + */ + public ArchiveTransfer.TransferringAgency createArchiveTransferTransferringAgency() { + return new ArchiveTransfer.TransferringAgency(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DescriptionLevel } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DescriptionLevel createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentDescriptionLevel() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DescriptionLevel(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Title } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Title createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentTitle() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Title(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.FilePlanPosition } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.FilePlanPosition createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentFilePlanPosition() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.FilePlanPosition(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SystemId } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SystemId createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentSystemId() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SystemId(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingSystemId } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingSystemId createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentOriginatingSystemId() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingSystemId(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.ArchivalAgencyArchiveUnitIdentifier } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.ArchivalAgencyArchiveUnitIdentifier createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentArchivalAgencyArchiveUnitIdentifier() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.ArchivalAgencyArchiveUnitIdentifier(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Description } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Description createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentDescription() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Description(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.CustodialHistory } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.CustodialHistory createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentCustodialHistory() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.CustodialHistory(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Type } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Type createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentType() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Type(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DocumentType } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DocumentType createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentDocumentType() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DocumentType(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Language } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Language createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentLanguage() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Language(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DescriptionLanguage } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DescriptionLanguage createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentDescriptionLanguage() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.DescriptionLanguage(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Status } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Status createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentStatus() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Status(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Version } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Version createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentVersion() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Version(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Tag } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Tag createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentTag() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Tag(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Source } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Source createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentSource() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Source(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.CreatedDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.CreatedDate createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentCreatedDate() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.CreatedDate(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.TransactedDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.TransactedDate createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentTransactedDate() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.TransactedDate(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AcquiredDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AcquiredDate createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAcquiredDate() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AcquiredDate(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SentDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SentDate createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentSentDate() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SentDate(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.ReceivedDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.ReceivedDate createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentReceivedDate() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.ReceivedDate(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.RegisteredDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.RegisteredDate createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentRegisteredDate() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.RegisteredDate(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.StartDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.StartDate createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentStartDate() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.StartDate(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.EndDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.EndDate createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentEndDate() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.EndDate(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Corpname } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Corpname createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentRecipientCorpname() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Corpname(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.FirstName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.FirstName createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentRecipientFirstName() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.FirstName(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthName createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentRecipientBirthName() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthName(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.GivenName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.GivenName createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentRecipientGivenName() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.GivenName(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Gender } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Gender createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentRecipientGender() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Gender(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthDate createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentRecipientBirthDate() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthDate(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthPlace } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthPlace createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentRecipientBirthPlace() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.BirthPlace(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.DeathDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.DeathDate createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentRecipientDeathDate() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.DeathDate(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.DeathPlace } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.DeathPlace createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentRecipientDeathPlace() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.DeathPlace(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Nationality } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Nationality createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentRecipientNationality() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Recipient.Nationality(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Corpname } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Corpname createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAdresseeCorpname() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Corpname(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.FirstName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.FirstName createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAdresseeFirstName() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.FirstName(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthName createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAdresseeBirthName() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthName(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.GivenName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.GivenName createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAdresseeGivenName() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.GivenName(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Gender } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Gender createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAdresseeGender() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Gender(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthDate createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAdresseeBirthDate() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthDate(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthPlace } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthPlace createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAdresseeBirthPlace() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.BirthPlace(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.DeathDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.DeathDate createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAdresseeDeathDate() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.DeathDate(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.DeathPlace } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.DeathPlace createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAdresseeDeathPlace() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.DeathPlace(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Nationality } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Nationality createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAdresseeNationality() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Adressee.Nationality(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Corpname } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Corpname createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentWriterCorpname() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Corpname(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.FirstName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.FirstName createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentWriterFirstName() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.FirstName(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthName createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentWriterBirthName() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthName(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.GivenName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.GivenName createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentWriterGivenName() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.GivenName(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Gender } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Gender createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentWriterGender() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Gender(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthDate createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentWriterBirthDate() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthDate(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthPlace } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthPlace createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentWriterBirthPlace() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.BirthPlace(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.DeathDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.DeathDate createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentWriterDeathDate() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.DeathDate(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.DeathPlace } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.DeathPlace createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentWriterDeathPlace() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.DeathPlace(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Nationality } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Nationality createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentWriterNationality() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Writer.Nationality(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Corpname } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Corpname createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAuthorizedAgentCorpname() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Corpname(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.FirstName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.FirstName createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAuthorizedAgentFirstName() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.FirstName(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthName createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAuthorizedAgentBirthName() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthName(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.GivenName } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.GivenName createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAuthorizedAgentGivenName() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.GivenName(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Gender } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Gender createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAuthorizedAgentGender() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Gender(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthDate createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAuthorizedAgentBirthDate() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthDate(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthPlace } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthPlace createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAuthorizedAgentBirthPlace() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.BirthPlace(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.DeathDate } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.DeathDate createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAuthorizedAgentDeathDate() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.DeathDate(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.DeathPlace } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.DeathPlace createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAuthorizedAgentDeathPlace() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.DeathPlace(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Nationality } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Nationality createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentAuthorizedAgentNationality() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.AuthorizedAgent.Nationality(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SubmissionAgency.OrganizationDescriptiveMetadata } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SubmissionAgency.OrganizationDescriptiveMetadata createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentSubmissionAgencyOrganizationDescriptiveMetadata() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.SubmissionAgency.OrganizationDescriptiveMetadata(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingAgency.OrganizationDescriptiveMetadata } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingAgency.OrganizationDescriptiveMetadata createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentOriginatingAgencyOrganizationDescriptiveMetadata() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.OriginatingAgency.OrganizationDescriptiveMetadata(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Spatial } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Spatial createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentCoverageSpatial() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Spatial(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Temporal } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Temporal createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentCoverageTemporal() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Temporal(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Juridictional } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Juridictional createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentCoverageJuridictional() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Coverage.Juridictional(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordContent } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordContent createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentKeywordKeywordContent() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordContent(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordReference } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordReference createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentKeywordKeywordReference() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordReference(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordType } + * + */ + public ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordType createArchiveTransferDataObjectPackageDescriptiveMetadataArchiveUnitContentKeywordKeywordType() { + return new ArchiveTransfer.DataObjectPackage.DescriptiveMetadata.ArchiveUnit.Content.Keyword.KeywordType(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectGroupReferenceId } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectGroupReferenceId createArchiveTransferDataObjectPackageBinaryDataObjectDataObjectGroupReferenceId() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectGroupReferenceId(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectGroupId } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectGroupId createArchiveTransferDataObjectPackageBinaryDataObjectDataObjectGroupId() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectGroupId(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectVersion } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectVersion createArchiveTransferDataObjectPackageBinaryDataObjectDataObjectVersion() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.DataObjectVersion(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Uri } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Uri createArchiveTransferDataObjectPackageBinaryDataObjectUri() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.Uri(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Attachement } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Attachement createArchiveTransferDataObjectPackageBinaryDataObjectAttachement() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.Attachement(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.MessageDigest } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.MessageDigest createArchiveTransferDataObjectPackageBinaryDataObjectMessageDigest() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.MessageDigest(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Size } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Size createArchiveTransferDataObjectPackageBinaryDataObjectSize() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.Size(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Compressed } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Compressed createArchiveTransferDataObjectPackageBinaryDataObjectCompressed() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.Compressed(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.OtherMetadata } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.OtherMetadata createArchiveTransferDataObjectPackageBinaryDataObjectOtherMetadata() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.OtherMetadata(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Relationship } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Relationship createArchiveTransferDataObjectPackageBinaryDataObjectRelationship() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.Relationship(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Audio } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Audio createArchiveTransferDataObjectPackageBinaryDataObjectMetadataAudio() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Audio(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Document } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Document createArchiveTransferDataObjectPackageBinaryDataObjectMetadataDocument() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Document(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Image } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Image createArchiveTransferDataObjectPackageBinaryDataObjectMetadataImage() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Image(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Text } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Text createArchiveTransferDataObjectPackageBinaryDataObjectMetadataText() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Text(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Video } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Video createArchiveTransferDataObjectPackageBinaryDataObjectMetadataVideo() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.Metadata.Video(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.Filename } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.Filename createArchiveTransferDataObjectPackageBinaryDataObjectFileInfoFilename() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.Filename(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingApplicationName } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingApplicationName createArchiveTransferDataObjectPackageBinaryDataObjectFileInfoCreatingApplicationName() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingApplicationName(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingApplicationVersion } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingApplicationVersion createArchiveTransferDataObjectPackageBinaryDataObjectFileInfoCreatingApplicationVersion() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingApplicationVersion(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.DateCreatedByApplication } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.DateCreatedByApplication createArchiveTransferDataObjectPackageBinaryDataObjectFileInfoDateCreatedByApplication() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.DateCreatedByApplication(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingOs } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingOs createArchiveTransferDataObjectPackageBinaryDataObjectFileInfoCreatingOs() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingOs(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingOsVersion } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingOsVersion createArchiveTransferDataObjectPackageBinaryDataObjectFileInfoCreatingOsVersion() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.CreatingOsVersion(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.LastModified } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.LastModified createArchiveTransferDataObjectPackageBinaryDataObjectFileInfoLastModified() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.FileInfo.LastModified(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.FormatLitteral } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.FormatLitteral createArchiveTransferDataObjectPackageBinaryDataObjectFormatIdentificationFormatLitteral() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.FormatLitteral(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.MimeType } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.MimeType createArchiveTransferDataObjectPackageBinaryDataObjectFormatIdentificationMimeType() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.MimeType(); + } + + /** + * Create an instance of {@link ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.FormatId } + * + */ + public ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.FormatId createArchiveTransferDataObjectPackageBinaryDataObjectFormatIdentificationFormatId() { + return new ArchiveTransfer.DataObjectPackage.BinaryDataObject.FormatIdentification.FormatId(); + } + + /** + * Create an instance of {@link ArchiveTransfer.CodeListVersions.ReplyCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.ReplyCodeListVersion createArchiveTransferCodeListVersionsReplyCodeListVersion() { + return new ArchiveTransfer.CodeListVersions.ReplyCodeListVersion(); + } + + /** + * Create an instance of {@link ArchiveTransfer.CodeListVersions.MessageDigestAlgorithmCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.MessageDigestAlgorithmCodeListVersion createArchiveTransferCodeListVersionsMessageDigestAlgorithmCodeListVersion() { + return new ArchiveTransfer.CodeListVersions.MessageDigestAlgorithmCodeListVersion(); + } + + /** + * Create an instance of {@link ArchiveTransfer.CodeListVersions.MimeTypeCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.MimeTypeCodeListVersion createArchiveTransferCodeListVersionsMimeTypeCodeListVersion() { + return new ArchiveTransfer.CodeListVersions.MimeTypeCodeListVersion(); + } + + /** + * Create an instance of {@link ArchiveTransfer.CodeListVersions.EncodingCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.EncodingCodeListVersion createArchiveTransferCodeListVersionsEncodingCodeListVersion() { + return new ArchiveTransfer.CodeListVersions.EncodingCodeListVersion(); + } + + /** + * Create an instance of {@link ArchiveTransfer.CodeListVersions.FileFormatCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.FileFormatCodeListVersion createArchiveTransferCodeListVersionsFileFormatCodeListVersion() { + return new ArchiveTransfer.CodeListVersions.FileFormatCodeListVersion(); + } + + /** + * Create an instance of {@link ArchiveTransfer.CodeListVersions.CompressionAlgorithmCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.CompressionAlgorithmCodeListVersion createArchiveTransferCodeListVersionsCompressionAlgorithmCodeListVersion() { + return new ArchiveTransfer.CodeListVersions.CompressionAlgorithmCodeListVersion(); + } + + /** + * Create an instance of {@link ArchiveTransfer.CodeListVersions.DataObjectVersionCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.DataObjectVersionCodeListVersion createArchiveTransferCodeListVersionsDataObjectVersionCodeListVersion() { + return new ArchiveTransfer.CodeListVersions.DataObjectVersionCodeListVersion(); + } + + /** + * Create an instance of {@link ArchiveTransfer.CodeListVersions.StorageRuleCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.StorageRuleCodeListVersion createArchiveTransferCodeListVersionsStorageRuleCodeListVersion() { + return new ArchiveTransfer.CodeListVersions.StorageRuleCodeListVersion(); + } + + /** + * Create an instance of {@link ArchiveTransfer.CodeListVersions.AppraisalRuleCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.AppraisalRuleCodeListVersion createArchiveTransferCodeListVersionsAppraisalRuleCodeListVersion() { + return new ArchiveTransfer.CodeListVersions.AppraisalRuleCodeListVersion(); + } + + /** + * Create an instance of {@link ArchiveTransfer.CodeListVersions.AccessRuleCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.AccessRuleCodeListVersion createArchiveTransferCodeListVersionsAccessRuleCodeListVersion() { + return new ArchiveTransfer.CodeListVersions.AccessRuleCodeListVersion(); + } + + /** + * Create an instance of {@link ArchiveTransfer.CodeListVersions.DisseminationRuleCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.DisseminationRuleCodeListVersion createArchiveTransferCodeListVersionsDisseminationRuleCodeListVersion() { + return new ArchiveTransfer.CodeListVersions.DisseminationRuleCodeListVersion(); + } + + /** + * Create an instance of {@link ArchiveTransfer.CodeListVersions.ReuseRuleCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.ReuseRuleCodeListVersion createArchiveTransferCodeListVersionsReuseRuleCodeListVersion() { + return new ArchiveTransfer.CodeListVersions.ReuseRuleCodeListVersion(); + } + + /** + * Create an instance of {@link ArchiveTransfer.CodeListVersions.ClassificationRuleCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.ClassificationRuleCodeListVersion createArchiveTransferCodeListVersionsClassificationRuleCodeListVersion() { + return new ArchiveTransfer.CodeListVersions.ClassificationRuleCodeListVersion(); + } + + /** + * Create an instance of {@link ArchiveTransfer.CodeListVersions.AuthorizationReasonCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.AuthorizationReasonCodeListVersion createArchiveTransferCodeListVersionsAuthorizationReasonCodeListVersion() { + return new ArchiveTransfer.CodeListVersions.AuthorizationReasonCodeListVersion(); + } + + /** + * Create an instance of {@link ArchiveTransfer.CodeListVersions.RelationshipCodeListVersion } + * + */ + public ArchiveTransfer.CodeListVersions.RelationshipCodeListVersion createArchiveTransferCodeListVersionsRelationshipCodeListVersion() { + return new ArchiveTransfer.CodeListVersions.RelationshipCodeListVersion(); + } + + /** + * Create an instance of {@link JAXBElement }{@code <}{@link String }{@code >} + * + * @param value + * Java instance representing xml element's value. + * @return + * the new instance of {@link JAXBElement }{@code <}{@link String }{@code >} + */ + @XmlElementDecl(namespace = "", name = "Identifier") + public JAXBElement<String> createIdentifier(String value) { + return new JAXBElement<String>(_Identifier_QNAME, String.class, null, value); + } + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/rng/jaxb.properties b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/rng/jaxb.properties new file mode 100644 index 0000000000000000000000000000000000000000..5837a4c2580c4352159904ec357e08bff76c2396 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/model/rng/jaxb.properties @@ -0,0 +1 @@ +javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory \ No newline at end of file diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/ManifestValidator.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/ManifestValidator.java new file mode 100644 index 0000000000000000000000000000000000000000..b8f62ede9e502420e336ea1684dfe7834004a281 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/ManifestValidator.java @@ -0,0 +1,110 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.util; + +import org.apache.tomcat.util.http.fileupload.IOUtils; +import org.apache.xerces.util.XMLCatalogResolver; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.xml.sax.SAXException; + +import javax.xml.XMLConstants; +import javax.xml.transform.stream.StreamSource; +import javax.xml.validation.Schema; +import javax.xml.validation.SchemaFactory; +import javax.xml.validation.Validator; +import java.io.File; +import java.io.IOException; +import java.io.InputStream; +import java.net.URL; + +public class ManifestValidator { + + private static Logger LOGGER = LoggerFactory.getLogger(ManifestValidator.class); + + public static final String RNG_FACTORY = "com.thaiopensource.relaxng.jaxp.XMLSyntaxSchemaFactory"; + public static final String RNG_PROPERTY_KEY = "javax.xml.validation.SchemaFactory:" + XMLConstants.RELAXNG_NS_URI; + private static final String RNG_SUFFIX = ".rng"; + public static final String HTTP_WWW_W3_ORG_XML_XML_SCHEMA_V1_1 = "http://www.w3.org/XML/XMLSchema/v1.1"; + /** + * Filename of the catalog file ; should be found in the classpath. + */ + public static final String CATALOG_FILENAME = "xsd_validation/catalog.xml"; + + /** + * @param manifestFile + * @param rngFile + * @return true if validated + * @throws SAXException + * @throws IOException + */ + public boolean checkFileRNG(InputStream manifestFile, File rngFile) { + try { + if (rngFile.length() > 0) { + final Schema schema = getSchema(rngFile); + final Validator validator = schema.newValidator(); + validator.validate(new StreamSource(manifestFile)); + return true; + } + LOGGER.error("Le fichier RNG est vide"); + return false; + } catch (SAXException|IOException e) { + LOGGER.error("Erreur validation du manifest",e); + return false; + } finally { + IOUtils.closeQuietly(manifestFile); + } + } + + private Schema getSchema(File file) throws SAXException { + SchemaFactory factory; + if (file.getName().endsWith(RNG_SUFFIX)) { + System.setProperty(RNG_PROPERTY_KEY, + RNG_FACTORY); + factory = SchemaFactory.newInstance(XMLConstants.RELAXNG_NS_URI); + } else { + factory = SchemaFactory.newInstance(HTTP_WWW_W3_ORG_XML_XML_SCHEMA_V1_1); + } + + // Load catalog to resolve external schemas even offline. + final URL catalogUrl = ManifestValidator.class.getClassLoader().getResource(CATALOG_FILENAME); + factory.setResourceResolver(new XMLCatalogResolver(new String[] {catalogUrl.toString()}, false)); + + return factory.newSchema(file); + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/PastisCustomCharacterEscapeHandler.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/PastisCustomCharacterEscapeHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..34eb3cfc8d338f9c769cfdc04a88efe9fd4a61a7 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/PastisCustomCharacterEscapeHandler.java @@ -0,0 +1,94 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.util; + +import com.sun.xml.bind.marshaller.CharacterEscapeHandler; + +import java.io.IOException; +import java.io.Writer; + +public class PastisCustomCharacterEscapeHandler implements CharacterEscapeHandler{ + + public PastisCustomCharacterEscapeHandler() { + super(); + } + + /** + * @param ch The array of characters. + * @param start The starting position. + * @param length The number of characters to use. + * @param isAttVal true if this is an attribute value literal. + */ + public void escape(char[] ch, int start, int length, boolean isAttVal, Writer out) throws IOException { + int limit = start + length; + for (int i = start; i < limit; i++) { + char c = ch[i]; + if (c == '&' || c == '<' || c == '>' || (c == '\"' && isAttVal) + || (c == '\'' && isAttVal)) { + if (i != start) { + out.write(ch, start, i - start); + } + start = i + 1; + switch (ch[i]) { + case '&': + out.write("&"); + break; + + case '<': + out.write("<"); + break; + + case '>': + out.write(">"); + break; + + case '\"': + out.write("\""); + break; + + case '\'': + out.write("'"); + break; + } + } + } + if (start != limit) { + out.write(ch, start, limit - start); + } + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/PastisGetXmlJsonTree.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/PastisGetXmlJsonTree.java new file mode 100644 index 0000000000000000000000000000000000000000..55460070c93af14a008bb578de272c098ce2dbd4 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/PastisGetXmlJsonTree.java @@ -0,0 +1,147 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.util; + +import com.fasterxml.jackson.core.JsonGenerationException; +import com.fasterxml.jackson.databind.JsonMappingException; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import fr.gouv.vitamui.pastis.model.ElementProperties; +import fr.gouv.vitamui.pastis.model.ElementRNG; +import fr.gouv.vitamui.pastis.model.jaxb.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; +import java.io.FileNotFoundException; +import java.io.FileOutputStream; +import java.io.IOException; + +public class PastisGetXmlJsonTree { + + //ElementRNG elementRNGRoot; + public String jsonParsed = ""; + private static Logger LOGGER = LoggerFactory.getLogger(PastisGetXmlJsonTree.class); + + + public String getJsonParsedTree(ElementRNG elementRNGRoot) { + + ElementRNG.buildElementPropertiesTree(elementRNGRoot,0, null); + ElementProperties eparent = ElementRNG.elementStaticRoot; + ObjectMapper mapper = new ObjectMapper(); + String jsonString = ""; + + try { + jsonString = mapper.writeValueAsString(eparent); + } catch (JsonGenerationException e1) { + e1.printStackTrace(); + } catch (JsonMappingException e1) { + e1.printStackTrace(); + } catch (IOException e1) { + e1.printStackTrace(); + } + LOGGER.info("JSON file successfully generated"); + return "["+jsonString+"]"; + } + + // Test an xml to json and a json to xml. + public String getJsonParsedTreeTest(ElementRNG elementRNGRoot) throws JAXBException, FileNotFoundException { + + //vWhen the handler is called, the proprities tree (json) is build + // using its ElementRNG(elementRngRoot) object. + // The elementRngRoot is filled when the xml file is read, by passing + // it to the contentHanler of the Xml reader. + // The methods used are the 5 main methods of a DefaultHandler type + // See methods bellow + ElementRNG.buildElementPropertiesTree(elementRNGRoot,0, null); + ElementProperties eparent = ElementRNG.elementStaticRoot; + + + // The eparentRng is an object of type BalizeXML. It is built using the + // object eparent (of type ElementProperties) that, in fact, represent the json + // prouced during the parser's first call. + BaliseXML.buildBaliseXMLTree(eparent,0, null); + BaliseXML eparentRng = BaliseXML.baliseXMLStatic; + + + // Transforms java objects to Xml file (Marshalling) + JAXBContext contextObj = JAXBContext.newInstance(AttributeXML.class, ElementXML.class, DataXML.class, ValueXML.class, OptionalXML.class, OneOrMoreXML.class, + ZeroOrMoreXML.class, AnnotationXML.class, DocumentationXML.class, ChoiceXml.class); + Marshaller marshallerObj = contextObj.createMarshaller(); + marshallerObj.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + marshallerObj.setProperty("com.sun.xml.bind.marshaller.CharacterEscapeHandler", + new PastisCustomCharacterEscapeHandler()); + + marshallerObj.marshal(eparentRng, new FileOutputStream("generated_test.xml")); + + + ObjectMapper mapper = new ObjectMapper(); + String jsonString = ""; + try { + jsonString = mapper.writeValueAsString(eparent); + } catch (JsonGenerationException e1) { + e1.printStackTrace(); + } catch (JsonMappingException e1) { + e1.printStackTrace(); + } catch (IOException e1) { + e1.printStackTrace(); + } + return "["+jsonString+"]"; + } + + + public String getXmlParsedTree(String jsonString) throws IOException { + + ObjectMapper objectMapper = new ObjectMapper(); + ObjectMapper xmlMapper = new ObjectMapper(); + JsonNode tree = objectMapper.readTree(jsonString); + String jsonAsXml = xmlMapper.writeValueAsString(tree); + + return jsonAsXml; + } + + + public void setJsonParsed(String jsonParsed) { + this.jsonParsed = jsonParsed; + } + + + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/PastisMarshaller.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/PastisMarshaller.java new file mode 100644 index 0000000000000000000000000000000000000000..0a5de739265d7266ff94e0589bf12dda15fce9fc --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/PastisMarshaller.java @@ -0,0 +1,81 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ + +package fr.gouv.vitamui.pastis.util; + +import fr.gouv.vitamui.pastis.model.ElementProperties; +import fr.gouv.vitamui.pastis.model.factory.*; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; +import java.io.*; + +public class PastisMarshaller { + + public static final String CHAR_ESCAPE_HANDLER = "com.sun.xml.bind.marshaller.CharacterEscapeHandler"; + public static final String MARSHALLER_FORMAT = Marshaller.JAXB_FORMATTED_OUTPUT; + + + private static Logger LOGGER = LoggerFactory.getLogger(PastisMarshaller.class); + + public String getMarshalledObject(ElementProperties mappedJson) throws IOException, JAXBException { + + RngTagFactory tagFactory = new RngTagFactory(); + RngTag rngTree = tagFactory.createTag(mappedJson, null, 0); + + JAXBContext contextObj = JAXBContext.newInstance(RngTag.class); + Marshaller marshallerObj = contextObj.createMarshaller(); + marshallerObj.setProperty(MARSHALLER_FORMAT, true); + marshallerObj.setProperty(CHAR_ESCAPE_HANDLER, new PastisCustomCharacterEscapeHandler()); + + ByteArrayOutputStream os = new ByteArrayOutputStream(); + Writer writer = new OutputStreamWriter(os, "UTF-8"); + marshallerObj.marshal(rngTree, writer); + String response = new String (os.toByteArray(), "UTF-8"); + writer.close(); + + String status = !response.isEmpty() ? "Json marshalled successfully" : "Failed to marshall json object"; + LOGGER.info(status); + + return response; + } + +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/PastisSAX2Handler.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/PastisSAX2Handler.java new file mode 100644 index 0000000000000000000000000000000000000000..f757d5525262e4677998320a5b40de8d5b821a06 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/PastisSAX2Handler.java @@ -0,0 +1,155 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +/* + * Copyright CINES Centre Informatique National de l'Enseignement Supérieur, 2017 + * Tout droit d'utilisation strictement soumis à l'approbation du CINES + */ +package fr.gouv.vitamui.pastis.util; + +import fr.gouv.vitamui.pastis.model.ElementRNG; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.xml.sax.Attributes; +import org.xml.sax.SAXException; +import org.xml.sax.helpers.DefaultHandler; + +import java.util.Stack; + +public class PastisSAX2Handler extends DefaultHandler{ + + private static Logger LOGGER = LoggerFactory.getLogger(PastisSAX2Handler.class); + + boolean isValue; + + private boolean isInDocumentationTag; + + public ElementRNG elementRNGRoot; + + Stack<ElementRNG> stackRNG = new Stack<ElementRNG>(); + + private StringBuilder documentationContent; + + + /** + BEGIN OF OVERRIDE OF SAX 5 METHODS : startElement, endElement, startDocument, endDocument and characters + * This method is called everytime the parser gets an open tag + * Identifies which tag has being opened at time by assiging a new flag + */ + public void startElement(String nameSpace, String localName, String qName, Attributes attr) throws SAXException { + + //cette variable contient le nom du nÅ“ud qui a créé l'événement + // If node not a grammar tag or start tag + if(!("grammar".equals(localName) || "start".equals(localName))){ + + // If node is ArchiveTransfer + if(null !=attr.getValue("name") && attr.getValue("name").equals("ArchiveTransfer")){ + return ; + } + //If node has documentation + if("value".equals(localName) || "documentation".equals(localName)) { + this.isValue = true; + } + // Create a new rng tag element and add it to the stack + ElementRNG elementRNG = new ElementRNG(); + elementRNG.setName(attr.getValue("name")); + elementRNG.setType(localName); + elementRNG.setDataType(attr.getValue("type")); + if(!stackRNG.empty()) { + ElementRNG e = stackRNG.lastElement(); + elementRNG.setParent(e); + e.getChildren().add(elementRNG); + } + stackRNG.push(elementRNG); + + + + } + + documentationContent = new StringBuilder(); + if (qName.equalsIgnoreCase("xsd:documentation")) { + isInDocumentationTag = true; + } + + } + + /** + * Actions à réaliser lors de la détection de la fin d'un élément. + */ + public void endElement(String nameSpace, String localName, String qName) throws SAXException { + + if (qName.equalsIgnoreCase("xsd:documentation")) { + isInDocumentationTag = false; + + } + if(!stackRNG.empty()) { + ElementRNG e = stackRNG.pop(); + } + } + + /** + * Actions à réaliser au début du document. + */ + public void startDocument() { + elementRNGRoot = new ElementRNG(); + elementRNGRoot.setName("ArchiveTransfer"); + elementRNGRoot.setType("element"); + stackRNG.push(elementRNGRoot); + } + + /** + * Actions à réaliser lors de la fin du document XML. + */ + public void endDocument() { + } + + /** + * Actions to perform when tag content is reached (Data between '< />' ) + */ + @Override + public void characters(char[] caracteres, int start, int length) throws SAXException { + if (isInDocumentationTag) { + documentationContent.append(new String(caracteres, start, length)); + stackRNG.lastElement().setValue(documentationContent.toString()); + } + if(isValue) { + String valueContent = new String(caracteres, start, length); + stackRNG.lastElement().setValue(valueContent); + this.isValue = false; + } + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/PropertiesUtils.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/PropertiesUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..f4cd9ca2895c5adff7691a12b554b6eff026c70b --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/PropertiesUtils.java @@ -0,0 +1,118 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.util; + +import java.io.File; +import java.io.FileNotFoundException; +import java.io.InputStream; +import java.net.URISyntaxException; +import java.net.URL; + +public final class PropertiesUtils { + + private static final String FILE_NOT_FOUND_IN_RESOURCES = "File not found in Resources: "; + + private PropertiesUtils() { + // Empty + } + + /** + * Get the File representation from the local path to the Resources directory + * + * @param resourcesFile properties file from resources directory + * @return the associated File + * @throws FileNotFoundException if the resource file not found + */ + public static File getResourceFile(String resourcesFile) throws FileNotFoundException { + if (resourcesFile == null) { + throw new FileNotFoundException(FILE_NOT_FOUND_IN_RESOURCES + resourcesFile); + } + URL url; + try { + url = fr.gouv.vitamui.pastis.util.PropertiesUtils.class.getClassLoader().getResource(resourcesFile); + } catch (final SecurityException e) { + throw new FileNotFoundException(FILE_NOT_FOUND_IN_RESOURCES + resourcesFile); + } + if (url == null) { + url = Thread.currentThread().getContextClassLoader().getResource(resourcesFile); + } + if (url == null) { + throw new FileNotFoundException(FILE_NOT_FOUND_IN_RESOURCES + resourcesFile); + } + File file; + try { + file = new File(url.toURI()); + } catch (final URISyntaxException e) { + file = new File(url.getFile().replaceAll("%20", " ")); + } + if (file.exists()) { + return file; + } + throw new FileNotFoundException(FILE_NOT_FOUND_IN_RESOURCES + resourcesFile); + } + + /** + * Get the InputStream representation from the Resources directory + * + * @param resourcesFile properties file from resources directory + * @return the associated File + * @throws FileNotFoundException if the resource file not found + */ + public static InputStream getResourceAsStream(String resourcesFile) throws FileNotFoundException { + if (resourcesFile == null) { + throw new FileNotFoundException(FILE_NOT_FOUND_IN_RESOURCES); + } + InputStream stream = null; + try { + stream = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourcesFile); + } catch (final SecurityException e) { + + } + if (stream == null) { + try { + stream = PropertiesUtils.class.getClassLoader().getResourceAsStream(resourcesFile); + } catch (final SecurityException e) { + + } + } + if (stream == null) { + throw new FileNotFoundException(FILE_NOT_FOUND_IN_RESOURCES + resourcesFile); + } + return stream; + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/RNGConstants.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/RNGConstants.java new file mode 100644 index 0000000000000000000000000000000000000000..872f51fe5c491459d1328e6262792264f3623a94 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/RNGConstants.java @@ -0,0 +1,396 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +/* + * Copyright CINES Centre Informatique National de l'Enseignement Supérieur, 2017 + * Tout droit d'utilisation strictement soumis à l'approbation du CINES + */ +package fr.gouv.vitamui.pastis.util; + +import java.util.HashMap; +import java.util.Map; + +/** + * @author rachid Sala <rachid@cines.fr> + */ +public class RNGConstants { + + public static enum DataType + { + string("string"), + dateTime("dateTime"), + date("date"), + ID("ID"), + id("id"), + anyURI("anyURI"), + token("token"), + tokenType("tokenType"), + base64Binary("base64Binary"), + positiveInteger("positiveInteger"), + booleanType("boolean"), + decimal("decimal"), + intType("int"), + language("language"), + NCName("NCName"), + undefined("undefined"); + + private String label; + + private DataType(final String value) { + setLabel(value); + } + public String getLabel() { + return label; + } + public void setLabel(final String label) { + this.label = label; + } + } + + public static enum MetadaDataType + { + element ("element"), + attribute("attribute"), + data("data"), + except("except"), + nsName("nsName"), + value("value"), + text("text"), + ID("ID"); + private String label; + + private MetadaDataType(final String value) { + setLabel(value); + } + public String getLabel() { + return label; + } + public void setLabel(final String label) { + this.label = label; + } + } + + public static final Map<String , String> CardinalityMap = new HashMap<String , String>() { + public static final long serialVersionUID = 1L; + { + put("optional", "0-1"); + put("zeroOrMore", "0-N"); + put("obligatoire", "1"); + put("oneOrMore", "1-N"); + }}; + + public static enum Cardinality + { + optional("0-1"), + zeroOrMore("0-N"), + obligatoire("1"), + oneOrMore("1-N"); + private String label; + + private Cardinality(final String value) { + setLabel(value); + } + public String getLabel() { + return label; + } + public void setLabel(final String label) { + this.label = label; + } + } + + public static final Map<String , String> GroupOrChoiceMap = new HashMap<String , String>() { + public static final long serialVersionUID = 1L; + { + put("group","group"); + put("choice","choice"); + }}; + + public static enum GroupOrChoice + { + group("group"), + choice("choice"); + private String label; + + private GroupOrChoice(final String value) { + setLabel(value); + } + public String getLabel() { + return label; + } + public void setLabel(final String label) { + this.label = label; + } + } + + + public static boolean isElement (String type) { + for(MetadaDataType typeElement : RNGConstants.MetadaDataType.values()){ + if (typeElement.toString().equals(type)) { + return true; + } + } + return false; + } + + public static boolean isCardinality (String type) { + for(Cardinality typeElement : RNGConstants.Cardinality.values()){ + if (typeElement.toString().equals(type)) { + return true; + } + } + return false; + } + + public static boolean hasGroupOrChoice(String type) { + for(GroupOrChoice typeElement : RNGConstants.GroupOrChoice.values()){ + if (typeElement.toString().equals(type)) { + return true; + } + } + return false; + } + + public static boolean isDataType (String type) { + for(DataType typeElement : RNGConstants.DataType.values()){ + if (typeElement.toString().equals(type)) { + return true; + } + } + return false; + } + + public static boolean isValueOrData (String type) { + + if (null != type && (RNGConstants.MetadaDataType.data.toString().equals(type) + || RNGConstants.MetadaDataType.nsName.toString().equals(type) + || RNGConstants.MetadaDataType.value.toString().equals(type))){ + return true; + } + return false; + } + + public static final Map<String , DataType> TypesMap = new HashMap<String , DataType>() { + public static final long serialVersionUID = 1L; + { + put("CodeListVersions", DataType.token); + put("Comment", DataType.string); + put("Date", DataType.token); + put("MessageIdentifier", DataType.token); + put("ArchivalAgreement", DataType.token); + put("ReplyCodeListVersion", DataType.token); + put("MessageDigestAlgorithmCodeListVersion", DataType.token); + put("MimeTypeCodeListVersion", DataType.token); + put("EncodingCodeListVersion", DataType.token); + put("FileFormatCodeListVersion", DataType.token); + put("CompressionAlgorithmCodeListVersion", DataType.token); + put("DataObjectVersionCodeListVersion", DataType.token); + put("StorageRuleCodeListVersion", DataType.token); + put("AppraisalRuleCodeListVersion", DataType.token); + put("AccessRuleCodeListVersion", DataType.token); + put("DisseminationRuleCodeListVersion", DataType.token); + put("ReuseRuleCodeListVersion", DataType.token); + put("ClassificationRuleCodeListVersion", DataType.token); + put("AcquisitionInformationCodeListVersion", DataType.token); + put("AuthorizationReasonCodeListVersion", DataType.token); + put("RelationshipCodeListVersion", DataType.token); + put("OtherCodeListAbstract", DataType.token); + put("DataObjectSystemId", DataType.token); + put("DataObjectGroupSystemId", DataType.token); + put("Relationship", DataType.token); + put("DataObjectGroupReferenceId", DataType.token); + put("DataObjectGroupId", DataType.token); + put("DataObjectVersion", DataType.token); + put("Attachment", DataType.base64Binary); + put("Uri", DataType.anyURI); + put("MessageDigest", DataType.base64Binary); + put("Size", DataType.positiveInteger); + put("Compressed", DataType.booleanType); + put("FormatLitteral", DataType.string); + put("MimeType", DataType.token); + put("FormatId", DataType.token); + put("Encoding", DataType.token); + put("Filename", DataType.string); + put("CreatingApplicationName", DataType.string); + put("CreatingApplicationVersion", DataType.string); + put("DateCreatedByApplication", DataType.token); + put("CreatingOs", DataType.string); + put("CreatingOsVersion", DataType.string); + put("LastModified", DataType.token); + put("PhysicalId", DataType.token); + put("Width", DataType.decimal); + put("Height", DataType.decimal); + put("Depth", DataType.decimal); + put("Shape", DataType.string); + put("Diameter", DataType.decimal); + put("Length", DataType.decimal); + put("Thickness", DataType.decimal); + put("Weight", DataType.decimal); + put("NumberOfPage", DataType.intType); + put("EventIdentifier", DataType.token); + put("EventTypeCode", DataType.token); + put("EventType", DataType.token); + put("EventDateTime", DataType.token); + put("EventDetail", DataType.string); + put("Outcome", DataType.token); + put("OutcomeDetail", DataType.token); + put("OutcomeDetailMessage", DataType.token); + put("EventDetailData", DataType.token); + put("DataObjectReferenceId", DataType.token); + put("ArchiveUnitRefId", DataType.token); + put("ArchiveUnitProfile", DataType.token); + put("Rule", DataType.token); + put("StartDate", DataType.token); + put("PreventInheritance", DataType.booleanType); + put("RefNonRuleId", DataType.token); + put("FinalAction", DataType.token); + put("ClassificationAudience", DataType.token); + put("ClassificationLevel", DataType.token); + put("ClassificationOwner", DataType.token); + put("ClassificationReassessingDate", DataType.token); + put("NeedReassessingAuthorization", DataType.booleanType); + put("NeedAuthorization", DataType.booleanType); + put("DescriptionLevel", DataType.token); + put("Title", DataType.string); + put("FilePlanPosition", DataType.token); + put("SystemId", DataType.token); + put("OriginatingSystemId", DataType.token); + put("ArchivalAgencyArchiveUnitIdentifier", DataType.token); + put("OriginatingAgencyArchiveUnitIdentifier", DataType.token); + put("TransferringAgencyArchiveUnitIdentifier", DataType.token); + put("Description", DataType.string); + put("CustodialHistoryItem", DataType.string); + put("Type", DataType.string); + put("DocumentType", DataType.string); + put("language", DataType.language); + put("DescriptionLanguage", DataType.language); + put("Status", DataType.token); + put("Version", DataType.string); + put("Tag", DataType.token); + put("KeywordContent", DataType.string); + put("KeywordReference", DataType.token); + put("KeywordType", DataType.token); + put("Spatial", DataType.string); + put("Temporal", DataType.string); + put("Juridictional", DataType.string); + put("Identifier", DataType.string); + put("FirstName", DataType.string); + put("BirthName", DataType.string); + put("FullName", DataType.string); + put("GivenName", DataType.string); + put("Gender", DataType.string); + put("BirthDate", DataType.string); + put("Geogname", DataType.string); + put("Address", DataType.string); + put("PostalCode", DataType.string); + put("City", DataType.string); + put("Region", DataType.string); + put("Country", DataType.string); + put("DeathDate", DataType.token); + put("Nationality", DataType.string); + put("Corpname", DataType.string); + put("Function", DataType.string); + put("Activity", DataType.string); + put("Position", DataType.string); + put("Role", DataType.string); + put("Mandate", DataType.string); + put("Source", DataType.string); + put("ArchiveUnitRefId", DataType.NCName); + put("DataObjectReferenceId", DataType.token); + put("RepositoryArchiveUnitPID", DataType.token); + put("RepositoryObjectPID", DataType.token); + put("ExternalReference", DataType.token); + put("CreatedDate", DataType.token); + put("TransactedDate", DataType.token); + put("AcquiredDate", DataType.token); + put("SentDate", DataType.token); + put("ReceivedDate", DataType.token); + put("RegisteredDate", DataType.token); + put("EndDate", DataType.token); + put("Masterdata", DataType.token); + put("SigningTime", DataType.token); + put("ValidationTime", DataType.token); + put("SignedObjectId", DataType.token); + put("SignedObjectDigest", DataType.base64Binary); + put("GpsVersionID", DataType.string); + put("GpsAltitude", DataType.string); + put("GpsAltitudeRef", DataType.string); + put("GpsLatitude", DataType.string); + put("GpsLatitudeRef", DataType.string); + put("GpsLongitude", DataType.string); + put("GpsLongitudeRef", DataType.string); + put("GpsDateStamp", DataType.string); + put("ArchivalProfile", DataType.token); + put("ServiceLevel", DataType.token); + put("AcquisitionInformation", DataType.token); + put("LegalStatus", DataType.token); + put("OriginatingAgencyIdentifier", DataType.token); + put("SubmissionAgencyIdentifier", DataType.token); + put("RelatedTransferReference", DataType.token); + put("TransferRequestReplyIdentifier", DataType.token); + put("xml:id", DataType.ID); + put("ID", DataType.ID); + put("id", DataType.ID); + put("algorithm", DataType.token); + put("lang", DataType.language); + put("xml:lang", DataType.language); + put("href", DataType.anyURI); + put("listID", DataType.token); + put("listAgencyID", DataType.token); + put("listAgencyName", DataType.string); + put("listName", DataType.string); + put("listVersionID", DataType.token); + put("Name", DataType.string); + put("languageID", DataType.language); + put("listURI", DataType.anyURI); + put("listSchemeURI", DataType.anyURI); + put("schemeID", DataType.token); + put("schemeName", DataType.string); + put("schemeAgencyID", DataType.token); + put("schemeAgencyName", DataType.string); + put("schemeVersionID", DataType.token); + put("schemeDataURI", DataType.anyURI); + put("schemeURI", DataType.anyURI); + put("target", DataType.NCName); + put("type", DataType.token); + put("filename", DataType.string); + put("anyURI", DataType.anyURI); + put("unCompressedSize", DataType.positiveInteger); + put("unit", DataType.string); + put("when", DataType.token); + }}; + +} \ No newline at end of file diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/RNGProfileValidator.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/RNGProfileValidator.java new file mode 100644 index 0000000000000000000000000000000000000000..3f593e22984c27e543ef7d988fd0fb9cd9db3161 --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/RNGProfileValidator.java @@ -0,0 +1,98 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.util; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.xml.sax.SAXException; + +import javax.xml.XMLConstants; +import javax.xml.stream.XMLEventReader; +import javax.xml.stream.XMLInputFactory; +import javax.xml.stream.XMLStreamException; +import javax.xml.stream.events.XMLEvent; +import javax.xml.validation.SchemaFactory; +import java.io.File; +import java.io.FileInputStream; +import java.io.FileNotFoundException; +import java.util.Objects; + +public class RNGProfileValidator { + + private static Logger LOGGER = LoggerFactory.getLogger(RNGProfileValidator.class); + + public static final String RNG_FACTORY = "com.thaiopensource.relaxng.jaxp.XMLSyntaxSchemaFactory"; + public static final String RNG_PROPERTY_KEY = "javax.xml.validation.SchemaFactory:" + XMLConstants.RELAXNG_NS_URI; + + public boolean validateRNG(File file, String error) throws Exception { + try { + System.setProperty(RNG_PROPERTY_KEY, RNG_FACTORY); + SchemaFactory.newInstance(XMLConstants.RELAXNG_NS_URI).newSchema(file); + } catch (SAXException e) { + LOGGER.error("Malformed profile rng file", e); + error = "Malformed profile rng file : " + e.getMessage(); + return false; + } + + return checkTag(file, "rng", "grammar", error); + } + + private boolean checkTag(File file, String prefix, String element, String error) + throws FileNotFoundException, XMLStreamException { + + final XMLInputFactory xmlInputFactory = XMLInputFactoryUtils.newInstance(); + final XMLEventReader eventReader = xmlInputFactory.createXMLEventReader(new FileInputStream(file)); + while (eventReader.hasNext()) { + XMLEvent event = eventReader.nextEvent(); + if (event.isStartDocument()) { + continue; + } + + if (event.isStartElement()) { + String elementName = event.asStartElement().getName().getLocalPart(); + String elementPrefix = event.asStartElement().getName().getPrefix(); + + if (Objects.equals(element, elementName) || Objects.equals(prefix, elementPrefix)) { + error += "Profile file xsd have not the xsd:schema tag name."; + return true; + } + } + } + return false; + } +} diff --git a/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/XMLInputFactoryUtils.java b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/XMLInputFactoryUtils.java new file mode 100644 index 0000000000000000000000000000000000000000..dcc807736a84627f5d4074a08d6a749f01e5a74d --- /dev/null +++ b/ui/ui-pastis/src/main/java/fr/gouv/vitamui/pastis/util/XMLInputFactoryUtils.java @@ -0,0 +1,51 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis.util; + +import javax.xml.stream.XMLInputFactory; + +public class XMLInputFactoryUtils { + + public static XMLInputFactory newInstance() { + XMLInputFactory xmlInputFactory = XMLInputFactory.newInstance(); + xmlInputFactory.setProperty(XMLInputFactory.SUPPORT_DTD, Boolean.FALSE); + xmlInputFactory.setProperty(XMLInputFactory.IS_SUPPORTING_EXTERNAL_ENTITIES, Boolean.FALSE); + xmlInputFactory.setProperty(XMLInputFactory.IS_REPLACING_ENTITY_REFERENCES, Boolean.FALSE); + return xmlInputFactory; + } +} diff --git a/ui/ui-pastis/src/main/resources/application.properties b/ui/ui-pastis/src/main/resources/application.properties new file mode 100644 index 0000000000000000000000000000000000000000..f86027d904ac5e020081209aa9efc728121324a6 --- /dev/null +++ b/ui/ui-pastis/src/main/resources/application.properties @@ -0,0 +1,16 @@ +#Spring +spring.servlet.multipart.max-file-size=10MB +spring.servlet.multipart.max-request-size=11MB +spring.servlet.multipart.enabled=true + + +server.port=8051 + +# Pastis Rest APi +rng.base.file=rng/Profil_seda_pastis_mvp.rng +json.base.file=rng/ProfileJson.json +war.dev.filename=rest +war.prod.filename=rest + +#CORS +cors.allowed-origins = http://10.100.129.51,10.100.129.51,http://vps795748.ovh.net,http://localhost:4200,http://145.239.92.134,http://10.100.129.33,http://pastis.cines.fr,pastis.cines.fr diff --git a/ui/ui-pastis/src/main/resources/build.properties b/ui/ui-pastis/src/main/resources/build.properties new file mode 100644 index 0000000000000000000000000000000000000000..c743c85b40eac0002825b77f13404a452497c766 --- /dev/null +++ b/ui/ui-pastis/src/main/resources/build.properties @@ -0,0 +1,3 @@ +node.version=12.15.3 +npm.version=6.4.1 +rng.path=${user.home}/rng \ No newline at end of file diff --git a/ui/ui-pastis/src/main/resources/log4j.properties b/ui/ui-pastis/src/main/resources/log4j.properties new file mode 100644 index 0000000000000000000000000000000000000000..278483bf70f17293f3ec508fb63f872764df498c --- /dev/null +++ b/ui/ui-pastis/src/main/resources/log4j.properties @@ -0,0 +1,28 @@ +#log4j.rootLogger=DEBUG, STDOUT, file +#################### PASTIS LOG4J daily rolling log files configuration #################### +#-------------------------------------------------------------------------------------------- +# Schedule | DatePattern | Example of Log File’s Name | +#-------------------------------------------------------------------------------------------- +# Minutely | '.'yyyy-MM-dd-HH-mm | pastis.log.2017-11-09-21-54 | +# Hourly | '.'yyyy-MM-dd-HH | pastis.log.2017-11-09-22 | +# Half-daily| '.'yyyy-MM-dd-a | pastis.log.2017-11-09-AM, pastis.log.2017-11-09-PM | +# Daily | '.'yyyy-MM-dd | pastis.log.2017-11-09 | +# Weekly | '.'yyyy-ww | pastis.log.2017-45, pastis.log.2017-46 | +# Monthly | '.'yyyy-MM | pastis.log.2017-10, pastis.log.2017-11 | +############################################################################################# + +# Root logger option +log4j.rootLogger=INFO, RollingAppender, stdout +# Direct log messages to file +log4j.appender.RollingAppender=org.apache.log4j.DailyRollingFileAppender +log4j.appender.RollingAppender.File=logs/pastis.log +log4j.appender.RollingAppender.DatePattern='.'yyyy-MM-dd +log4j.appender.RollingAppender.layout=org.apache.log4j.PatternLayout +log4j.appender.RollingAppender.layout.ConversionPattern=[%p] %d %c %M - %m%n + +#log4j.rootLogger=INFO, stdout +# Direct log messages to stdout +log4j.appender.stdout=org.apache.log4j.ConsoleAppender +log4j.appender.stdout.Target=System.out +log4j.appender.stdout.layout=org.apache.log4j.PatternLayout +log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} [%p] %c{1} - %m%n \ No newline at end of file diff --git a/ui/ui-pastis/src/main/resources/log4j2.xml b/ui/ui-pastis/src/main/resources/log4j2.xml new file mode 100644 index 0000000000000000000000000000000000000000..0b374cb2449b2a97b6b185fcddfda9b640ebd100 --- /dev/null +++ b/ui/ui-pastis/src/main/resources/log4j2.xml @@ -0,0 +1,41 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE xml> + +<Configuration status="info" monitorInterval="10"> + <Appenders> + <Console name="Console" target="SYSTEM_OUT"> + <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %X{DepositIdentifier} - %X{TransferingAgencyIdentifier} - %msg%n" /> + <Filters> + <ThresholdFilter level="WARN" onMatch="ACCEPT" /> + <ThresholdFilter level="ERROR" onMatch="ACCEPT" /> + </Filters> + </Console> + </Appenders> + + <Loggers> + <Logger name="com" level="info" additivity="false"> + <AppenderRef ref="Console" /> + </Logger> + <Logger name="java" level="info" additivity="false"> + <AppenderRef ref="Console" /> + </Logger> + <Logger name="javax" level="info" additivity="false"> + <AppenderRef ref="Console" /> + </Logger> + <Logger name="org" level="info" additivity="false"> + <AppenderRef ref="Console" /> + </Logger> + <Logger name="net" level="info" additivity="false"> + <AppenderRef ref="Console" /> + </Logger> + <Logger name="org.irods.jargon.core" level="info" additivity="false"> + <AppenderRef ref="Console" /> + </Logger> + <Logger name="fr.cines" level="info" additivity="false"> + <AppenderRef ref="Console" /> + </Logger> + <Root level="info"> + <AppenderRef ref="Console" /> + </Root> + </Loggers> +</Configuration> \ No newline at end of file diff --git a/ui/ui-pastis/src/main/resources/rng/Profil_CINES_complet_2-1_v3.rng b/ui/ui-pastis/src/main/resources/rng/Profil_CINES_complet_2-1_v3.rng new file mode 100644 index 0000000000000000000000000000000000000000..494c6b9ae90b4ce5c9fcddec6f55acab585f28bd --- /dev/null +++ b/ui/ui-pastis/src/main/resources/rng/Profil_CINES_complet_2-1_v3.rng @@ -0,0 +1,870 @@ +<?xml version='1.0' encoding='utf-8' standalone='no'?> +<rng:grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" +ns="fr:gouv:culture:archivesdefrance:seda:v2.1" xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" +xmlns:xsd="http://www.w3.org/2001/XMLSchema" +xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" +xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1" +xmlns:rng="http://relaxng.org/ns/structure/1.0" +xmlns:xs="http://www.w3.org/2001/XMLSchema" +xmlns:xlink="http://www.w3.org/1999/xlink"> + <!-- Profil RNG avec 1 objet numérique déclaré (en O-N), et 1 AU racine (en O-n) qui déclare un AU fille (en O-N)--> + <rng:start> + <rng:element name="ArchiveTransfer"> + <rng:optional> + <rng:attribute name="xml:id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:element name="Comment"> + <xsd:annotation> + <xsd:documentation>Commentaire sur le versement</xsd:documentation> + </xsd:annotation> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:element name="Date"> + <rng:data type="dateTime"/> + </rng:element> + <rng:element name="MessageIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ArchivalAgreement"> + <xsd:annotation> + <xsd:documentation>Déclaration du contrat d'entrée</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="CodeListVersions"> + <rng:data type="token"/> + </rng:element> + <rng:element name="DataObjectPackage"> + <rng:attribute name="xml:id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="DataObjectGroup"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:zeroOrMore> + <rng:element name="BinaryDataObject"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="DataObjectGroupId"> + <xsd:annotation> + <xsd:documentation>Sert à lier un fichier à l'ArchiveUnit auquel il correspond. + Exemple: ID7</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:element name="DataObjectVersion"> + <rng:data type="token"/> + <xsd:annotation> + <xsd:documentation>BinaryMaster par défaut</xsd:documentation> + </xsd:annotation> + </rng:element> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + <rng:element name="MessageDigest"> + <rng:data type="base64Binary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + <rng:element name="Size"> + <rng:data type="positiveInteger"/> + </rng:element> + <rng:element name="FormatIdentification"> + <rng:element name="FormatLitteral"> + <rng:data type="string"/> + </rng:element> + <rng:optional> + <rng:element name="MimeType"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="FormatId"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Encoding"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="FileInfo"> + <rng:element name="Filename"> + <xsd:annotation> + <xsd:documentation>Nom du fichier. Exemple: + 22100005200011_20091118_144251_1.pdf</xsd:documentation> + </xsd:annotation> + <rng:data type="string"/> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="Metadata"> + <rng:optional> + <rng:element name="Video"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Audio"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="DescriptiveMetadata"> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="ArchiveUnitProfile"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Management"> + <rng:optional> + <rng:element name="UpdateOperation"> + <rng:element name="ArchiveUnitIdentifierKey"> + <rng:element name="MetadataName"> + <rng:data type="token"/> + </rng:element> + <rng:element name="MetadataValue"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + <rng:oneOrMore> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="FilePlanPosition"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="OriginatingAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="TransferringAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Description"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="CustodialHistory"> + <rng:oneOrMore> + <rng:element name="CustodialHistoryItem"> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Type"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:oneOrMore> + <rng:element name="Language"> + <xsd:annotation> + <xsd:documentation>Langue du contenu du sous-ensemble de l'archive + exprimée au format ISO 639-3</xsd:documentation> + </xsd:annotation> + <rng:data type="language"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="DescriptionLanguage"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="Keyword"> + <rng:element name="KeywordContent"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="OriginatingAgency"> + <xsd:annotation> + <xsd:documentation>Service producteur</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="SubmissionAgency"> + <xsd:annotation> + <xsd:documentation>Service versant</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RelatedObjectReference"> + <rng:zeroOrMore> + <rng:element name="IsVersionOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="Replaces"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="IsPartOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="References"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="StartDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus ancien dans + l'ArchiveUnit</xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + <rng:element name="EndDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus récent dans + l'ArchiveUnit.</xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="ArchiveUnitProfile"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Management"> + <rng:optional> + <rng:element name="UpdateOperation"> + <rng:element name="ArchiveUnitIdentifierKey"> + <rng:element name="MetadataName"> + <rng:data type="token"/> + </rng:element> + <rng:element name="MetadataValue"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + <rng:oneOrMore> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="FilePlanPosition"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="OriginatingAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="TransferringAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Description"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="CustodialHistory"> + <rng:oneOrMore> + <rng:element name="CustodialHistoryItem"> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Type"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:oneOrMore> + <rng:element name="Language"> + <xsd:annotation> + <xsd:documentation>Langue du contenu du sous-ensemble de l'archive + exprimée au format ISO 639-3</xsd:documentation> + </xsd:annotation> + <rng:data type="language"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="DescriptionLanguage"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="Keyword"> + <rng:element name="KeywordContent"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="OriginatingAgency"> + <xsd:annotation> + <xsd:documentation>Service producteur</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="SubmissionAgency"> + <xsd:annotation> + <xsd:documentation>Service versant</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RelatedObjectReference"> + <rng:zeroOrMore> + <rng:element name="IsVersionOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="Replaces"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="IsPartOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="References"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="StartDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus ancien dans + l'ArchiveUnit</xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + <rng:element name="EndDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus récent dans + l'ArchiveUnit.</xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="ManagementMetadata"> + <rng:element name="ArchivalProfile"> + <rng:data type="token"/> + </rng:element> + <rng:element name="OriginatingAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="SubmissionAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + <rng:element name="ArchivalAgency"> + <rng:element name="Identifier"> + <rng:value>19341594000017</rng:value> + <rng:attribute name="schemeName"> + <rng:value>SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value>INSEE</rng:value> + </rng:attribute> + </rng:element> + </rng:element> + <rng:element name="TransferringAgency"> + <xsd:annotation> + <xsd:documentation> Doit permettre d'identifier l'opérateur technique réalisant le + versement de manière unique et non équivoque</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="token"/> + <rng:attribute name="schemeName"> + <rng:value>SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value>INSEE</rng:value> + </rng:attribute> + </rng:element> + </rng:element> + </rng:element> + </rng:start> +</rng:grammar> diff --git a/ui/ui-pastis/src/main/resources/rng/Profil_CINES_complet_2.1_final.rng b/ui/ui-pastis/src/main/resources/rng/Profil_CINES_complet_2.1_final.rng new file mode 100644 index 0000000000000000000000000000000000000000..388fe650ea301fd413dc92410bdc0203efd89cd4 --- /dev/null +++ b/ui/ui-pastis/src/main/resources/rng/Profil_CINES_complet_2.1_final.rng @@ -0,0 +1,831 @@ +<?xml version='1.0' encoding='utf-8' standalone='no'?> +<rng:grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:rng="http://relaxng.org/ns/structure/1.0" + xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" + ns="fr:gouv:culture:archivesdefrance:seda:v2.1" seda:warnings=""> + <rng:start> + <rng:element name="ArchiveTransfer"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:element name="Comment"> + <xsd:annotation> + <xsd:documentation>Commentaire sur le versement</xsd:documentation> + </xsd:annotation> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:element name="Date"> + <rng:data type="dateTime"/> + </rng:element> + <rng:element name="MessageIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ArchivalAgreement"> + <xsd:annotation> + <xsd:documentation>Déclaration du contrat d'entrée</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="CodeListVersions"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + </rng:element> + <rng:element name="DataObjectPackage"> + <rng:element name="DataObjectGroup"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="BinaryDataObject"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="DataObjectGroupId"> + <xsd:annotation> + <xsd:documentation>Sert à lier un fichier à l'ArchiveUnit auquel il correspond. + Exemple: ID7</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectVersion"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + <rng:element name="MessageDigest"> + <rng:data type="base64Binary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + <rng:element name="Size"> + <rng:data type="positiveInteger"/> + </rng:element> + <rng:element name="FormatIdentification"> + <rng:element name="FormatLitteral"> + <rng:data type="string"/> + </rng:element> + <rng:optional> + <rng:element name="MimeType"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="FormatId"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Encoding"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="FileInfo"> + <rng:element name="Filename"> + <xsd:annotation> + <xsd:documentation>Nom du fichier. Exemple: + 22100005200011_20091118_144251_1.pdf</xsd:documentation> + </xsd:annotation> + <rng:data type="string"/> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="Metadata"> + <rng:optional> + <rng:element name="Video"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Audio"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="DescriptiveMetadata"> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="ArchiveUnitProfile"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:group> + <rng:element name="Management"> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:group> + <rng:element name="Rule"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:group> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:group> + <rng:element name="Rule"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:group> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:group> + <rng:element name="Rule"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:group> + </rng:element> + </rng:optional> + </rng:element> + </rng:group> + <rng:group> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + <rng:oneOrMore> + <rng:element name="Title"> + <rng:optional> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + </rng:optional> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="FilePlanPosition"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="OriginatingAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="TransferringAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Description"> + <rng:optional> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + </rng:optional> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="CustodialHistory"> + <rng:zeroOrMore> + <rng:element name="CustodialHistoryItem"> + <rng:data type="string"/> + </rng:element> + </rng:zeroOrMore> + </rng:element> + </rng:optional> + <rng:element name="Type"> + <rng:data type="string"/> + </rng:element> + <rng:oneOrMore> + <rng:element name="Language"> + <xsd:annotation> + <xsd:documentation>Langue du contenu du sous-ensemble de l'archive + exprimée au format ISO 639-3</xsd:documentation> + </xsd:annotation> + <rng:data type="language"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="DescriptionLanguage"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="Keyword"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="KeywordContent"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="OriginatingAgency"> + <xsd:annotation> + <xsd:documentation>Service producteur</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:element name="SubmissionAgency"> + <xsd:annotation> + <xsd:documentation>Service versant</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="RelatedObjectReference"> + <rng:zeroOrMore> + <rng:element name="IsVersionOf"> + <rng:choice> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:choice> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="Replaces"> + <rng:choice> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:choice> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="IsPartOf"> + <rng:choice> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:choice> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="References"> + <rng:choice> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:choice> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="StartDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus ancien dans + l'ArchiveUnit</xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + <rng:element name="EndDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus récent dans + l'ArchiveUnit.</xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:group> + <rng:element name="Management"> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:group> + <rng:element name="Rule"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:group> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:group> + <rng:element name="Rule"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:group> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:group> + <rng:element name="Rule"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:group> + </rng:element> + </rng:optional> + </rng:element> + </rng:group> + </rng:optional> + <rng:group> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + <rng:optional> + <rng:element name="Title"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="FilePlanPosition"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="OriginatingAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="TransferringAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Description"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Type"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Language"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DescriptionLanguage"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="OriginatingAgency"> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="SubmissionAgency"> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RelatedObjectReference"> + <rng:optional> + <rng:element name="IsVersionOf"> + <rng:choice> + <rng:element name="ArchiveUnitRefId" a:defaultValue="id76759"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:choice> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Replaces"> + <rng:choice> + <rng:element name="ArchiveUnitRefId" a:defaultValue="id76759"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:choice> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="IsPartOf"> + <rng:choice> + <rng:element name="ArchiveUnitRefId" a:defaultValue="id76759"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:choice> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="References"> + <rng:choice> + <rng:element name="ArchiveUnitRefId" a:defaultValue="id76759"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectReferenceId" + a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:choice> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="EndDate"> + <rng:data type="date"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:group> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + </rng:group> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="ManagementMetadata"> + <rng:element name="ArchivalProfile"> + <rng:data type="token"/> + </rng:element> + <rng:element name="OriginatingAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="SubmissionAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:group> + <rng:element name="Rule"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:group> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:group> + <rng:element name="Rule"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:group> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:group> + <rng:element name="Rule"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:group> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + <rng:element name="ArchivalAgency"> + <rng:element name="Identifier"> + <rng:value>19341594000017</rng:value> + <rng:attribute name="schemeName"> + <rng:value>SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value>INSEE</rng:value> + </rng:attribute> + </rng:element> + </rng:element> + <rng:element name="TransferringAgency"> + <xsd:annotation> + <xsd:documentation> Doit permettre d'identifier l'opérateur technique réalisant le + versement de manière unique et non équivoque</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="token"/> + <rng:attribute name="schemeName"> + <rng:value>SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value>INSEE</rng:value> + </rng:attribute> + </rng:element> + </rng:element> + </rng:element> + </rng:start> +</rng:grammar> diff --git a/ui/ui-pastis/src/main/resources/rng/Profil_CINES_complet_2.1_v2.rng b/ui/ui-pastis/src/main/resources/rng/Profil_CINES_complet_2.1_v2.rng new file mode 100644 index 0000000000000000000000000000000000000000..d3bd1e8f957b1e8ab2d85f4680121738d7690f57 --- /dev/null +++ b/ui/ui-pastis/src/main/resources/rng/Profil_CINES_complet_2.1_v2.rng @@ -0,0 +1,851 @@ +<?xml version='1.0' encoding='utf-8' standalone='no'?> +<rng:grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:rng="http://relaxng.org/ns/structure/1.0" + xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" + ns="fr:gouv:culture:archivesdefrance:seda:v2.1" seda:warnings=""> + <rng:start> + <rng:element name="ArchiveTransfer"> + <rng:optional> + <rng:element name="Comment"> + <xsd:annotation> + <xsd:documentation>Commentaire sur le versement</xsd:documentation> + </xsd:annotation> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:element name="Date"> + <rng:data type="dateTime"/> + </rng:element> + <rng:element name="MessageIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ArchivalAgreement"> + <xsd:annotation> + <xsd:documentation>Déclaration du contrat d'entrée</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="CodeListVersions"> + <rng:data type="token"/> + </rng:element> + <rng:element name="DataObjectPackage"> + <rng:element name="DataObjectGroup"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:zeroOrMore> + <rng:element name="BinaryDataObject"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="DataObjectGroupId"> + <xsd:annotation> + <xsd:documentation>Sert à lier un fichier à l'ArchiveUnit auquel il correspond. + Exemple: ID7</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:element name="DataObjectVersion"> + <rng:data type="token"/> + <xsd:annotation> + <xsd:documentation>BinaryMaster par défaut</xsd:documentation> + </xsd:annotation> + </rng:element> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + <rng:element name="MessageDigest"> + <rng:data type="base64Binary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + <rng:element name="Size"> + <rng:data type="positiveInteger"/> + </rng:element> + <rng:element name="FormatIdentification"> + <rng:element name="FormatLitteral"> + <rng:data type="string"/> + </rng:element> + <rng:optional> + <rng:element name="MimeType"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="FormatId"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Encoding"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="FileInfo"> + <rng:element name="Filename"> + <xsd:annotation> + <xsd:documentation>Nom du fichier. Exemple: + 22100005200011_20091118_144251_1.pdf</xsd:documentation> + </xsd:annotation> + <rng:data type="string"/> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="Metadata"> + <rng:optional> + <rng:element name="Video"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Audio"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="DescriptiveMetadata"> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="ArchiveUnitProfile"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:element name="Management"> + <rng:optional> + <rng:element name="UpdateOperation"> + <rng:element name="ArchiveUnitIdentifierKey"> + <rng:element name="MetadataName"> + <rng:data type="token"/> + </rng:element> + <rng:element name="MetadataValue"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + <rng:oneOrMore> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="FilePlanPosition"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="OriginatingAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="TransferringAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Description"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="CustodialHistory"> + <rng:oneOrMore> + <rng:element name="CustodialHistoryItem"> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Type"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:oneOrMore> + <rng:element name="Language"> + <xsd:annotation> + <xsd:documentation>Langue du contenu du sous-ensemble de l'archive + exprimée au format ISO 639-3</xsd:documentation> + </xsd:annotation> + <rng:data type="language"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="DescriptionLanguage"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="Keyword"> + <rng:element name="KeywordContent"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="OriginatingAgency"> + <xsd:annotation> + <xsd:documentation>Service producteur</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:element name="SubmissionAgency"> + <xsd:annotation> + <xsd:documentation>Service versant</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="RelatedObjectReference"> + <rng:zeroOrMore> + <rng:element name="IsVersionOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="Replaces"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="IsPartOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="References"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="StartDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus ancien dans + l'ArchiveUnit</xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + <rng:element name="EndDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus récent dans + l'ArchiveUnit.</xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="ArchiveUnitProfile"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:element name="Management"> + <rng:optional> + <rng:element name="UpdateOperation"> + <rng:element name="ArchiveUnitIdentifierKey"> + <rng:element name="MetadataName"> + <rng:data type="token"/> + </rng:element> + <rng:element name="MetadataValue"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + <rng:oneOrMore> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="FilePlanPosition"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="OriginatingAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="TransferringAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Description"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="CustodialHistory"> + <rng:oneOrMore> + <rng:element name="CustodialHistoryItem"> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Type"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:oneOrMore> + <rng:element name="Language"> + <xsd:annotation> + <xsd:documentation>Langue du contenu du sous-ensemble de l'archive + exprimée au format ISO 639-3</xsd:documentation> + </xsd:annotation> + <rng:data type="language"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="DescriptionLanguage"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="Keyword"> + <rng:element name="KeywordContent"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="OriginatingAgency"> + <xsd:annotation> + <xsd:documentation>Service producteur</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:element name="SubmissionAgency"> + <xsd:annotation> + <xsd:documentation>Service versant</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="RelatedObjectReference"> + <rng:zeroOrMore> + <rng:element name="IsVersionOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="Replaces"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="IsPartOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="References"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="StartDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus ancien dans + l'ArchiveUnit</xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + <rng:element name="EndDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus récent dans + l'ArchiveUnit.</xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="ManagementMetadata"> + <rng:element name="ArchivalProfile"> + <rng:data type="token"/> + </rng:element> + <rng:element name="OriginatingAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="SubmissionAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + <rng:element name="ArchivalAgency"> + <rng:element name="Identifier"> + <rng:value>19341594000017</rng:value> + <rng:attribute name="schemeName"> + <rng:value>SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value>INSEE</rng:value> + </rng:attribute> + </rng:element> + </rng:element> + <rng:element name="TransferringAgency"> + <xsd:annotation> + <xsd:documentation> Doit permettre d'identifier l'opérateur technique réalisant le + versement de manière unique et non équivoque</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="token"/> + <rng:attribute name="schemeName"> + <rng:value>SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value>INSEE</rng:value> + </rng:attribute> + </rng:element> + </rng:element> + </rng:element> + </rng:start> +</rng:grammar> diff --git a/ui/ui-pastis/src/main/resources/rng/Profil_seda_pastis_mvp.rng b/ui/ui-pastis/src/main/resources/rng/Profil_seda_pastis_mvp.rng new file mode 100644 index 0000000000000000000000000000000000000000..ee72e0ec8091d2e5ba0f2c162af081d9bc624a9c --- /dev/null +++ b/ui/ui-pastis/src/main/resources/rng/Profil_seda_pastis_mvp.rng @@ -0,0 +1,107 @@ +<?xml version='1.0' encoding='utf-8' standalone='no'?> +<rng:grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:rng="http://relaxng.org/ns/structure/1.0" + xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1" xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" + datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" + ns="fr:gouv:culture:archivesdefrance:seda:v2.1" seda:warnings=""> + <rng:start> + <rng:element name="ArchiveTransfer"> + <rng:optional> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="Date"> + <rng:data type="dateTime"/> + </rng:element> + <rng:element name="MessageIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="CodeListVersions"> + <rng:data type="token"/> + </rng:element> + <rng:element name="DataObjectPackage"> + <rng:optional> + <rng:attribute name="xml:id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:element name="DataObjectGroup"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:zeroOrMore> + <rng:element name="BinaryDataObject"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="DataObjectVersion"> + <rng:data type="token"/> + <xsd:annotation> + <xsd:documentation>BinaryMaster par défaut</xsd:documentation> + </xsd:annotation> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + </rng:optional> + <rng:element name="MessageDigest"> + <rng:data type="base64Binary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="DescriptiveMetadata"> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:optional> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Title"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="ManagementMetadata"> + <rng:optional> + <rng:element name="OriginatingAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="SubmissionAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + <rng:element name="ArchivalAgency"> + <rng:element name="Identifier"> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="TransferringAgency"> + <rng:element name="Identifier"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:start> +</rng:grammar> diff --git a/ui/ui-pastis/src/main/resources/rng/ProfileJson.json b/ui/ui-pastis/src/main/resources/rng/ProfileJson.json new file mode 100644 index 0000000000000000000000000000000000000000..575aa5f094c0b2e3e67e755f4b20b2577c9027f9 --- /dev/null +++ b/ui/ui-pastis/src/main/resources/rng/ProfileJson.json @@ -0,0 +1,3125 @@ +{ + "name": "ArchiveTransfer", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 0, + "id": 7368, + "parentId": null, + "choices": [], + "children": [ + { + "name": "xml:id", + "type": "attribute", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 1, + "id": 7369, + "parentId": 7368, + "choices": [], + "children": [] + }, + { + "name": "Comment", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": "Commentaire sur le versement", + "level": 1, + "id": 7370, + "parentId": 7368, + "choices": [], + "children": [] + }, + { + "name": "Date", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "dateTime", + "value": null, + "documentation": null, + "level": 1, + "id": 7371, + "parentId": 7368, + "choices": [], + "children": [] + }, + { + "name": "MessageIdentifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 1, + "id": 7372, + "parentId": 7368, + "choices": [], + "children": [] + }, + { + "name": "ArchivalAgreement", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "Déclaration du contrat d'entrée", + "level": 1, + "id": 7373, + "parentId": 7368, + "choices": [], + "children": [] + }, + { + "name": "CodeListVersions", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 1, + "id": 7374, + "parentId": 7368, + "choices": [], + "children": [] + }, + { + "name": "DataObjectPackage", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 1, + "id": 7375, + "parentId": 7368, + "choices": [], + "children": [ + { + "name": "xml:id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 2, + "id": 7376, + "parentId": 7375, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroup", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 2, + "id": 7377, + "parentId": 7375, + "choices": [], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 3, + "id": 7378, + "parentId": 7377, + "choices": [], + "children": [] + }, + { + "name": "BinaryDataObject", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 3, + "id": 7379, + "parentId": 7377, + "choices": [], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 4, + "id": 7380, + "parentId": 7379, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroupId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "Sert à lier un fichier à l'ArchiveUnit auquel il correspond.\n Exemple: ID7", + "level": 4, + "id": 7381, + "parentId": 7379, + "choices": [], + "children": [] + }, + { + "name": "DataObjectVersion", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": "BinaryMaster par défaut", + "level": 4, + "id": 7382, + "parentId": 7379, + "choices": [], + "children": [] + }, + { + "name": "Uri", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "anyURI", + "value": null, + "documentation": null, + "level": 4, + "id": 7383, + "parentId": 7379, + "choices": [], + "children": [] + }, + { + "name": "MessageDigest", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "base64Binary", + "value": null, + "documentation": null, + "level": 4, + "id": 7384, + "parentId": 7379, + "choices": [], + "children": [ + { + "name": "algorithm", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7385, + "parentId": 7384, + "choices": [], + "children": [] + } + ] + }, + { + "name": "Size", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "positiveInteger", + "value": null, + "documentation": null, + "level": 4, + "id": 7386, + "parentId": 7379, + "choices": [], + "children": [] + }, + { + "name": "FormatIdentification", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 4, + "id": 7387, + "parentId": 7379, + "choices": [], + "children": [ + { + "name": "FormatLitteral", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 5, + "id": 7388, + "parentId": 7387, + "choices": [], + "children": [] + }, + { + "name": "MimeType", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7389, + "parentId": 7387, + "choices": [], + "children": [] + }, + { + "name": "FormatId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7390, + "parentId": 7387, + "choices": [], + "children": [] + }, + { + "name": "Encoding", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7391, + "parentId": 7387, + "choices": [], + "children": [] + } + ] + }, + { + "name": "FileInfo", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 4, + "id": 7392, + "parentId": 7379, + "choices": [], + "children": [ + { + "name": "Filename", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": "Nom du fichier. Exemple:\n 22100005200011_20091118_144251_1.pdf", + "level": 5, + "id": 7393, + "parentId": 7392, + "choices": [], + "children": [] + } + ] + }, + { + "name": "Metadata", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 4, + "id": 7394, + "parentId": 7379, + "choices": [], + "children": [ + { + "name": "Video", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7395, + "parentId": 7394, + "choices": [], + "children": [] + }, + { + "name": "Audio", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7396, + "parentId": 7394, + "choices": [], + "children": [] + } + ] + } + ] + } + ] + }, + { + "name": "DescriptiveMetadata", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 2, + "id": 7397, + "parentId": 7375, + "choices": [], + "children": [ + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 3, + "id": 7398, + "parentId": 7397, + "choices": [], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 4, + "id": 7399, + "parentId": 7398, + "choices": [], + "children": [] + }, + { + "name": "ArchiveUnitProfile", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 4, + "id": 7400, + "parentId": 7398, + "choices": [], + "children": [] + }, + { + "name": "Management", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 4, + "id": 7401, + "parentId": 7398, + "choices": [], + "children": [ + { + "name": "UpdateOperation", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7402, + "parentId": 7401, + "choices": [], + "children": [ + { + "name": "ArchiveUnitIdentifierKey", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7403, + "parentId": 7402, + "choices": [], + "children": [ + { + "name": "MetadataName", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7404, + "parentId": 7403, + "choices": [], + "children": [] + }, + { + "name": "MetadataValue", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7405, + "parentId": 7403, + "choices": [], + "children": [] + } + ] + } + ] + }, + { + "name": "AppraisalRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7406, + "parentId": 7401, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 7407, + "parentId": 7406, + "choices": [], + "children": [] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 6, + "id": 7408, + "parentId": 7406, + "choices": [], + "children": [] + }, + { + "name": "FinalAction", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 7409, + "parentId": 7406, + "choices": [], + "children": [] + } + ] + }, + { + "name": "AccessRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7410, + "parentId": 7401, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 7411, + "parentId": 7410, + "choices": [], + "children": [] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 6, + "id": 7412, + "parentId": 7410, + "choices": [], + "children": [] + } + ] + }, + { + "name": "DisseminationRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7413, + "parentId": 7401, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 7414, + "parentId": 7413, + "choices": [], + "children": [] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 6, + "id": 7415, + "parentId": 7413, + "choices": [], + "children": [] + } + ] + } + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 4, + "id": 7416, + "parentId": 7398, + "choices": [], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7417, + "parentId": 7416, + "choices": [], + "children": [] + }, + { + "name": "Title", + "type": "element", + "cardinality": "1-N", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 5, + "id": 7418, + "parentId": 7416, + "choices": [], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "language", + "value": null, + "documentation": null, + "level": 6, + "id": 7419, + "parentId": 7418, + "choices": [], + "children": [] + } + ] + }, + { + "name": "FilePlanPosition", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7420, + "parentId": 7416, + "choices": [], + "children": [] + }, + { + "name": "OriginatingAgencyArchiveUnitIdentifier", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7421, + "parentId": 7416, + "choices": [], + "children": [] + }, + { + "name": "TransferringAgencyArchiveUnitIdentifier", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7422, + "parentId": 7416, + "choices": [], + "children": [] + }, + { + "name": "Description", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 5, + "id": 7423, + "parentId": 7416, + "choices": [], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "language", + "value": null, + "documentation": null, + "level": 6, + "id": 7424, + "parentId": 7423, + "choices": [], + "children": [] + } + ] + }, + { + "name": "CustodialHistory", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7425, + "parentId": 7416, + "choices": [], + "children": [ + { + "name": "CustodialHistoryItem", + "type": "element", + "cardinality": "1-N", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 6, + "id": 7426, + "parentId": 7425, + "choices": [], + "children": [] + } + ] + }, + { + "name": "Type", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 5, + "id": 7427, + "parentId": 7416, + "choices": [], + "children": [] + }, + { + "name": "Language", + "type": "element", + "cardinality": "1-N", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "language", + "value": null, + "documentation": "Langue du contenu du sous-ensemble de l'archive\n exprimée au format ISO 639-3", + "level": 5, + "id": 7428, + "parentId": 7416, + "choices": [], + "children": [] + }, + { + "name": "DescriptionLanguage", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "language", + "value": null, + "documentation": null, + "level": 5, + "id": 7429, + "parentId": 7416, + "choices": [], + "children": [] + }, + { + "name": "Tag", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7430, + "parentId": 7416, + "choices": [], + "children": [] + }, + { + "name": "Keyword", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7431, + "parentId": 7416, + "choices": [], + "children": [ + { + "name": "KeywordContent", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 6, + "id": 7432, + "parentId": 7431, + "choices": [], + "children": [] + } + ] + }, + { + "name": "OriginatingAgency", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Service producteur", + "level": 5, + "id": 7433, + "parentId": 7416, + "choices": [], + "children": [ + { + "name": "Identifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 6, + "id": 7434, + "parentId": 7433, + "choices": [], + "children": [] + } + ] + }, + { + "name": "SubmissionAgency", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Service versant", + "level": 5, + "id": 7435, + "parentId": 7416, + "choices": [], + "children": [ + { + "name": "Identifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 6, + "id": 7436, + "parentId": 7435, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RelatedObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7437, + "parentId": 7416, + "choices": [], + "children": [ + { + "name": "IsVersionOf", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7438, + "parentId": 7437, + "choices": [], + "children": [ + { + "name": "ArchiveUnitRefId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 7, + "id": 7439, + "parentId": 7438, + "choices": [], + "children": [] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 7440, + "parentId": 7438, + "choices": [], + "children": [ + { + "name": "DataObjectReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7441, + "parentId": 7440, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7442, + "parentId": 7440, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RepositoryArchiveUnitPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7443, + "parentId": 7438, + "choices": [], + "children": [] + }, + { + "name": "RepositoryObjectPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7444, + "parentId": 7438, + "choices": [], + "children": [] + }, + { + "name": "ExternalReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7445, + "parentId": 7438, + "choices": [], + "children": [] + } + ] + }, + { + "name": "Replaces", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7446, + "parentId": 7437, + "choices": [], + "children": [ + { + "name": "ArchiveUnitRefId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 7, + "id": 7447, + "parentId": 7446, + "choices": [], + "children": [] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 7448, + "parentId": 7446, + "choices": [], + "children": [ + { + "name": "DataObjectReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7449, + "parentId": 7448, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7450, + "parentId": 7448, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RepositoryArchiveUnitPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7451, + "parentId": 7446, + "choices": [], + "children": [] + }, + { + "name": "RepositoryObjectPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7452, + "parentId": 7446, + "choices": [], + "children": [] + }, + { + "name": "ExternalReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7453, + "parentId": 7446, + "choices": [], + "children": [] + } + ] + }, + { + "name": "IsPartOf", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7454, + "parentId": 7437, + "choices": [], + "children": [ + { + "name": "ArchiveUnitRefId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 7, + "id": 7455, + "parentId": 7454, + "choices": [], + "children": [] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 7456, + "parentId": 7454, + "choices": [], + "children": [ + { + "name": "DataObjectReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7457, + "parentId": 7456, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7458, + "parentId": 7456, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RepositoryArchiveUnitPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7459, + "parentId": 7454, + "choices": [], + "children": [] + }, + { + "name": "RepositoryObjectPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7460, + "parentId": 7454, + "choices": [], + "children": [] + }, + { + "name": "ExternalReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7461, + "parentId": 7454, + "choices": [], + "children": [] + } + ] + }, + { + "name": "References", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7462, + "parentId": 7437, + "choices": [], + "children": [ + { + "name": "ArchiveUnitRefId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 7, + "id": 7463, + "parentId": 7462, + "choices": [], + "children": [] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 7464, + "parentId": 7462, + "choices": [], + "children": [ + { + "name": "DataObjectReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7465, + "parentId": 7464, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7466, + "parentId": 7464, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RepositoryArchiveUnitPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7467, + "parentId": 7462, + "choices": [], + "children": [] + }, + { + "name": "RepositoryObjectPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7468, + "parentId": 7462, + "choices": [], + "children": [] + }, + { + "name": "ExternalReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7469, + "parentId": 7462, + "choices": [], + "children": [] + } + ] + } + ] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": "Date du document le plus ancien dans\n l'ArchiveUnit", + "level": 5, + "id": 7470, + "parentId": 7416, + "choices": [], + "children": [] + }, + { + "name": "EndDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": "Date du document le plus récent dans\n l'ArchiveUnit.", + "level": 5, + "id": 7471, + "parentId": 7416, + "choices": [], + "children": [] + } + ] + }, + { + "name": "ArchiveUnit", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 4, + "id": 7472, + "parentId": 7398, + "choices": [], + "children": [ + { + "name": "id", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "ID", + "value": null, + "documentation": null, + "level": 5, + "id": 7473, + "parentId": 7472, + "choices": [], + "children": [] + }, + { + "name": "ArchiveUnitProfile", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 5, + "id": 7474, + "parentId": 7472, + "choices": [], + "children": [] + }, + { + "name": "Management", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7475, + "parentId": 7472, + "choices": [], + "children": [ + { + "name": "UpdateOperation", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7476, + "parentId": 7475, + "choices": [], + "children": [ + { + "name": "ArchiveUnitIdentifierKey", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 7477, + "parentId": 7476, + "choices": [], + "children": [ + { + "name": "MetadataName", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7478, + "parentId": 7477, + "choices": [], + "children": [] + }, + { + "name": "MetadataValue", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7479, + "parentId": 7477, + "choices": [], + "children": [] + } + ] + } + ] + }, + { + "name": "AppraisalRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7480, + "parentId": 7475, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7481, + "parentId": 7480, + "choices": [], + "children": [] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 7, + "id": 7482, + "parentId": 7480, + "choices": [], + "children": [] + }, + { + "name": "FinalAction", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7483, + "parentId": 7480, + "choices": [], + "children": [] + } + ] + }, + { + "name": "AccessRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7484, + "parentId": 7475, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7485, + "parentId": 7484, + "choices": [], + "children": [] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 7, + "id": 7486, + "parentId": 7484, + "choices": [], + "children": [] + } + ] + }, + { + "name": "DisseminationRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7487, + "parentId": 7475, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 7, + "id": 7488, + "parentId": 7487, + "choices": [], + "children": [] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 7, + "id": 7489, + "parentId": 7487, + "choices": [], + "children": [] + } + ] + } + ] + }, + { + "name": "Content", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7490, + "parentId": 7472, + "choices": [], + "children": [ + { + "name": "DescriptionLevel", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 7491, + "parentId": 7490, + "choices": [], + "children": [] + }, + { + "name": "Title", + "type": "element", + "cardinality": "1-N", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 6, + "id": 7492, + "parentId": 7490, + "choices": [], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "language", + "value": null, + "documentation": null, + "level": 7, + "id": 7493, + "parentId": 7492, + "choices": [], + "children": [] + } + ] + }, + { + "name": "FilePlanPosition", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 7494, + "parentId": 7490, + "choices": [], + "children": [] + }, + { + "name": "OriginatingAgencyArchiveUnitIdentifier", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 7495, + "parentId": 7490, + "choices": [], + "children": [] + }, + { + "name": "TransferringAgencyArchiveUnitIdentifier", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 7496, + "parentId": 7490, + "choices": [], + "children": [] + }, + { + "name": "Description", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 6, + "id": 7497, + "parentId": 7490, + "choices": [], + "children": [ + { + "name": "xml:lang", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "language", + "value": null, + "documentation": null, + "level": 7, + "id": 7498, + "parentId": 7497, + "choices": [], + "children": [] + } + ] + }, + { + "name": "CustodialHistory", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7499, + "parentId": 7490, + "choices": [], + "children": [ + { + "name": "CustodialHistoryItem", + "type": "element", + "cardinality": "1-N", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 7, + "id": 7500, + "parentId": 7499, + "choices": [], + "children": [] + } + ] + }, + { + "name": "Type", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 6, + "id": 7501, + "parentId": 7490, + "choices": [], + "children": [] + }, + { + "name": "Language", + "type": "element", + "cardinality": "1-N", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "language", + "value": null, + "documentation": "Langue du contenu du sous-ensemble de l'archive\n exprimée au format ISO 639-3", + "level": 6, + "id": 7502, + "parentId": 7490, + "choices": [], + "children": [] + }, + { + "name": "DescriptionLanguage", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "language", + "value": null, + "documentation": null, + "level": 6, + "id": 7503, + "parentId": 7490, + "choices": [], + "children": [] + }, + { + "name": "Tag", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 6, + "id": 7504, + "parentId": 7490, + "choices": [], + "children": [] + }, + { + "name": "Keyword", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7505, + "parentId": 7490, + "choices": [], + "children": [ + { + "name": "KeywordContent", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 7, + "id": 7506, + "parentId": 7505, + "choices": [], + "children": [] + } + ] + }, + { + "name": "OriginatingAgency", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Service producteur", + "level": 6, + "id": 7507, + "parentId": 7490, + "choices": [], + "children": [ + { + "name": "Identifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 7, + "id": 7508, + "parentId": 7507, + "choices": [], + "children": [] + } + ] + }, + { + "name": "SubmissionAgency", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": "Service versant", + "level": 6, + "id": 7509, + "parentId": 7490, + "choices": [], + "children": [ + { + "name": "Identifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "string", + "value": null, + "documentation": null, + "level": 7, + "id": 7510, + "parentId": 7509, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RelatedObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 6, + "id": 7511, + "parentId": 7490, + "choices": [], + "children": [ + { + "name": "IsVersionOf", + "type": "element", + "cardinality": "0-N", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 7512, + "parentId": 7511, + "choices": [], + "children": [ + { + "name": "ArchiveUnitRefId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7513, + "parentId": 7512, + "choices": [], + "children": [] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 8, + "id": 7514, + "parentId": 7512, + "choices": [], + "children": [ + { + "name": "DataObjectReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 9, + "id": 7515, + "parentId": 7514, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 9, + "id": 7516, + "parentId": 7514, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RepositoryArchiveUnitPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7517, + "parentId": 7512, + "choices": [], + "children": [] + }, + { + "name": "RepositoryObjectPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7518, + "parentId": 7512, + "choices": [], + "children": [] + }, + { + "name": "ExternalReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7519, + "parentId": 7512, + "choices": [], + "children": [] + } + ] + }, + { + "name": "Replaces", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 7520, + "parentId": 7511, + "choices": [], + "children": [ + { + "name": "ArchiveUnitRefId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7521, + "parentId": 7520, + "choices": [], + "children": [] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 8, + "id": 7522, + "parentId": 7520, + "choices": [], + "children": [ + { + "name": "DataObjectReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 9, + "id": 7523, + "parentId": 7522, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 9, + "id": 7524, + "parentId": 7522, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RepositoryArchiveUnitPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7525, + "parentId": 7520, + "choices": [], + "children": [] + }, + { + "name": "RepositoryObjectPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7526, + "parentId": 7520, + "choices": [], + "children": [] + }, + { + "name": "ExternalReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7527, + "parentId": 7520, + "choices": [], + "children": [] + } + ] + }, + { + "name": "IsPartOf", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 7528, + "parentId": 7511, + "choices": [], + "children": [ + { + "name": "ArchiveUnitRefId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7529, + "parentId": 7528, + "choices": [], + "children": [] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 8, + "id": 7530, + "parentId": 7528, + "choices": [], + "children": [ + { + "name": "DataObjectReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 9, + "id": 7531, + "parentId": 7530, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 9, + "id": 7532, + "parentId": 7530, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RepositoryArchiveUnitPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7533, + "parentId": 7528, + "choices": [], + "children": [] + }, + { + "name": "RepositoryObjectPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7534, + "parentId": 7528, + "choices": [], + "children": [] + }, + { + "name": "ExternalReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7535, + "parentId": 7528, + "choices": [], + "children": [] + } + ] + }, + { + "name": "References", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 7, + "id": 7536, + "parentId": 7511, + "choices": [], + "children": [ + { + "name": "ArchiveUnitRefId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 8, + "id": 7537, + "parentId": 7536, + "choices": [], + "children": [] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 8, + "id": 7538, + "parentId": 7536, + "choices": [], + "children": [ + { + "name": "DataObjectReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 9, + "id": 7539, + "parentId": 7538, + "choices": [], + "children": [] + }, + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 9, + "id": 7540, + "parentId": 7538, + "choices": [], + "children": [] + } + ] + }, + { + "name": "RepositoryArchiveUnitPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7541, + "parentId": 7536, + "choices": [], + "children": [] + }, + { + "name": "RepositoryObjectPID", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7542, + "parentId": 7536, + "choices": [], + "children": [] + }, + { + "name": "ExternalReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 8, + "id": 7543, + "parentId": 7536, + "choices": [], + "children": [] + } + ] + } + ] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": "Date du document le plus ancien dans\n l'ArchiveUnit", + "level": 6, + "id": 7544, + "parentId": 7490, + "choices": [], + "children": [] + }, + { + "name": "EndDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": "Date du document le plus récent dans\n l'ArchiveUnit.", + "level": 6, + "id": 7545, + "parentId": 7490, + "choices": [], + "children": [] + } + ] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 5, + "id": 7546, + "parentId": 7472, + "choices": [], + "children": [ + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 6, + "id": 7547, + "parentId": 7546, + "choices": [], + "children": [] + } + ] + } + ] + }, + { + "name": "DataObjectReference", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 4, + "id": 7548, + "parentId": 7398, + "choices": [], + "children": [ + { + "name": "DataObjectGroupReferenceId", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "NCName", + "value": null, + "documentation": null, + "level": 5, + "id": 7549, + "parentId": 7548, + "choices": [], + "children": [] + } + ] + } + ] + } + ] + }, + { + "name": "ManagementMetadata", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 2, + "id": 7550, + "parentId": 7375, + "choices": [], + "children": [ + { + "name": "ArchivalProfile", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 3, + "id": 7551, + "parentId": 7550, + "choices": [], + "children": [] + }, + { + "name": "OriginatingAgencyIdentifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 3, + "id": 7552, + "parentId": 7550, + "choices": [], + "children": [] + }, + { + "name": "SubmissionAgencyIdentifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 3, + "id": 7553, + "parentId": 7550, + "choices": [], + "children": [] + }, + { + "name": "AppraisalRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 3, + "id": 7554, + "parentId": 7550, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 4, + "id": 7555, + "parentId": 7554, + "choices": [], + "children": [] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 4, + "id": 7556, + "parentId": 7554, + "choices": [], + "children": [] + }, + { + "name": "FinalAction", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 4, + "id": 7557, + "parentId": 7554, + "choices": [], + "children": [] + } + ] + }, + { + "name": "AccessRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 3, + "id": 7558, + "parentId": 7550, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 4, + "id": 7559, + "parentId": 7558, + "choices": [], + "children": [] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 4, + "id": 7560, + "parentId": 7558, + "choices": [], + "children": [] + } + ] + }, + { + "name": "DisseminationRule", + "type": "element", + "cardinality": "0-1", + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 3, + "id": 7561, + "parentId": 7550, + "choices": [], + "children": [ + { + "name": "Rule", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 4, + "id": 7562, + "parentId": 7561, + "choices": [], + "children": [] + }, + { + "name": "StartDate", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "date", + "value": null, + "documentation": null, + "level": 4, + "id": 7563, + "parentId": 7561, + "choices": [], + "children": [] + } + ] + } + ] + } + ] + }, + { + "name": "ArchivalAgency", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": null, + "level": 1, + "id": 7564, + "parentId": 7368, + "choices": [], + "children": [ + { + "name": "Identifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": null, + "value": "19341594000017", + "documentation": null, + "level": 2, + "id": 7565, + "parentId": 7564, + "choices": [], + "children": [ + { + "name": "schemeName", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": null, + "value": "SIRET", + "documentation": null, + "level": 3, + "id": 7566, + "parentId": 7565, + "choices": [], + "children": [] + }, + { + "name": "schemeAgencyName", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": null, + "value": "INSEE", + "documentation": null, + "level": 3, + "id": 7567, + "parentId": 7565, + "choices": [], + "children": [] + } + ] + } + ] + }, + { + "name": "TransferringAgency", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": null, + "dataType": null, + "value": null, + "documentation": " Doit permettre d'identifier l'opérateur technique réalisant le\n versement de manière unique et non équivoque", + "level": 1, + "id": 7568, + "parentId": 7368, + "choices": [], + "children": [ + { + "name": "Identifier", + "type": "element", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "data", + "dataType": "token", + "value": null, + "documentation": null, + "level": 2, + "id": 7569, + "parentId": 7568, + "choices": [], + "children": [ + { + "name": "schemeName", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": null, + "value": "SIRET", + "documentation": null, + "level": 3, + "id": 7570, + "parentId": 7569, + "choices": [], + "children": [] + }, + { + "name": "schemeAgencyName", + "type": "attribute", + "cardinality": null, + "groupOrChoice": null, + "valueOrData": "value", + "dataType": null, + "value": "INSEE", + "documentation": null, + "level": 3, + "id": 7571, + "parentId": 7569, + "choices": [], + "children": [] + } + ] + } + ] + } + ] +} \ No newline at end of file diff --git a/ui/ui-pastis/src/main/resources/xsd/full.xsd b/ui/ui-pastis/src/main/resources/xsd/full.xsd new file mode 100644 index 0000000000000000000000000000000000000000..f78a0e05ae3de9a623548ce9677715628f158c4e --- /dev/null +++ b/ui/ui-pastis/src/main/resources/xsd/full.xsd @@ -0,0 +1,188 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" +elementFormDefault="qualified" +targetNamespace="http://relaxng.org/ns/structure/1.0" +xmlns:structure="http://relaxng.org/ns/structure/1.0"> + <!-- Grammar --> + <xs:element name="grammar"> + <xs:complexType> + <xs:sequence> + <xs:element ref="structure:start"/> + <xs:element maxOccurs="unbounded" ref="structure:define"/> + </xs:sequence> + <xs:attribute name="datatypeLibrary" use="required" type="xs:anyURI"/> + <xs:attribute name="ns" use="required" type="xs:anyURI"/> + </xs:complexType> + </xs:element> + + <!-- Defines the start element --> + <xs:element name="start"> + <xs:complexType> + <xs:sequence> + <xs:element ref="structure:element"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + + <!-- Defines the define element --> + <xs:element name="define"> + <xs:complexType> + <xs:sequence> + <xs:choice minOccurs="0"> + <xs:element ref="structure:choice"/> + <xs:element ref="structure:cardinality"/> + </xs:choice> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="structure:optional"/> + <xs:choice minOccurs="0"> + <xs:element ref="structure:element"/> + <xs:element ref="structure:zeroOrMore"/> + </xs:choice> + </xs:sequence> + <xs:attribute name="name" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + + <!-- Defines an utilitary ref element to refer to other elements --> + <xs:element name="ref"> + <xs:complexType> + <xs:attribute name="name" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + <xs:element name="choice"> + <xs:complexType> + <xs:choice> + <xs:choice maxOccurs="unbounded"> + <xs:element ref="structure:attribute"/> + <xs:element ref="structure:element"/> + <xs:element ref="structure:ref"/> + <xs:element ref="structure:text"/> + </xs:choice> + <xs:element maxOccurs="unbounded" ref="structure:value"/> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="value" type="xs:NCName"/> + + <!-- Cardinality --> + <xs:element name="cardinality"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="structure:ref"/> + <xs:choice minOccurs="0"> + <xs:element ref="structure:optional"/> + <xs:element ref="structure:zeroOrMore"/> + <xs:element ref="structure:group"/> + <xs:element ref="structure:oneOrMore"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- Group --> + <xs:element name="group"> + <xs:complexType> + <xs:sequence> + <xs:element ref="structure:zeroOrMore"/> + <xs:element ref="structure:optional"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- OneOrMore --> + <xs:element name="oneOrMore"> + <xs:complexType> + <xs:sequence> + <xs:element ref="structure:ref"/> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="optional"> + <xs:complexType> + <xs:choice> + <xs:element ref="structure:attribute"/> + <xs:element ref="structure:element"/> + <xs:element ref="structure:ref"/> + </xs:choice> + </xs:complexType> + </xs:element> + + + <!-- Element defintion --> + <xs:element name="element"> + <xs:complexType> + <xs:sequence minOccurs="0"> + <xs:element minOccurs="0" ref="structure:anyName"/> + <xs:element minOccurs="0" ref="structure:attribute"/> + <xs:element minOccurs="0" ref="structure:choice"/> + <xs:element minOccurs="0" ref="structure:cardinality"/> + <xs:choice minOccurs="0"> + <xs:element ref="structure:data"/> + <xs:element ref="structure:text"/> + </xs:choice> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="structure:element"/> + </xs:sequence> + <xs:attribute name="name" type="xs:NCName"/> + </xs:complexType> + + <!-- ZeroOrMore --> + </xs:element> + <xs:element name="zeroOrMore"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="structure:attribute"/> + <xs:element minOccurs="0" ref="structure:element"/> + <xs:element minOccurs="0" ref="structure:choice"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- Attribute --> + <xs:element name="attribute"> + <xs:complexType> + <xs:choice minOccurs="0"> + <xs:element ref="structure:anyName"/> + <xs:element ref="structure:choice"/> + <xs:element ref="structure:data"/> + </xs:choice> + <xs:attribute name="name" type="xs:NCName"/> + </xs:complexType> + + </xs:element> + <!-- Text --> + <xs:element name="text"> + <xs:complexType/> + </xs:element> + + <!-- AnyName --> + <xs:element name="anyName"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="structure:except"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- Except --> + <xs:element name="except"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="structure:nsName"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- nsName --> + <xs:element name="nsName"> + <xs:complexType> + <xs:attribute name="ns"/> + </xs:complexType> + </xs:element> + + <!-- Data --> + <xs:element name="data"> + <xs:complexType> + <xs:attribute name="type" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> +</xs:schema> diff --git a/ui/ui-pastis/src/main/resources/xsd/full_last.xsd b/ui/ui-pastis/src/main/resources/xsd/full_last.xsd new file mode 100644 index 0000000000000000000000000000000000000000..b882bc237cfdd71aaa58577befab1016ea5fb72c --- /dev/null +++ b/ui/ui-pastis/src/main/resources/xsd/full_last.xsd @@ -0,0 +1,187 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" + targetNamespace="http://relaxng.org/ns/structure/1.0" + xmlns:structure="http://relaxng.org/ns/structure/1.0" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + + <!-- Grammar --> + <xs:element name="grammar"> + <xs:complexType> + <xs:sequence> + <xs:element ref="structure:start"/> + <xs:element maxOccurs="unbounded" ref="structure:define"/> + </xs:sequence> + <xs:attribute name="datatypeLibrary" use="required" type="xs:anyURI"/> + <xs:attribute name="ns" use="required" type="xs:anyURI"/> + </xs:complexType> + </xs:element> + + <xs:element name="define"> + <xs:complexType> + <xs:sequence> + <xs:choice minOccurs="0"> + <xs:element ref="structure:choice"/> + <xs:element ref="structure:interleave"/> + </xs:choice> + <xs:element minOccurs="0" maxOccurs="unbounded" name="optional" type="structure:optional"/> + <xs:choice minOccurs="0"> + <xs:element name="children" type="structure:element"/> + <xs:element name="zeroOrMore" type="structure:zeroOrMore"/> + </xs:choice> + </xs:sequence> + <xs:attribute name="name" use="required" type="xs:NCName"/> + </xs:complexType> + </xs:element> + + + <xs:element name="interleave"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="structure:ref"/> + <xs:choice minOccurs="0"> + <xs:element name="optional" type="structure:optional"/> + <xs:element name="zeroOrMore" type="structure:zeroOrMore"/> + <xs:element name="oneOrMore" type="structure:oneOrMore"/> + <xs:element ref="structure:group"/> + </xs:choice> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- Defines the start element --> + <xs:element name="start"> + <xs:complexType> + <xs:sequence> + <xs:element name="element" minOccurs="1" type="structure:element"/> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- Element defintion --> + <xs:complexType name="element"> + <xs:sequence> + <xs:element minOccurs="0" ref="structure:anyName" /> + <xs:element minOccurs="0" name="attribute" type="structure:attribute" /> + <xs:element minOccurs="0" ref="structure:choice" /> + <xs:element minOccurs="0" name="oneOrMore" type="structure:oneOrMore" /> + <xs:element minOccurs="0" name="zeroOrMore" type="structure:zeroOrMore" /> + <xs:element minOccurs="0" name="optional" type="structure:optional" /> + <xs:element minOccurs="0" maxOccurs="unbounded" name="element" type="structure:element" /> + <xs:choice minOccurs="0"> + <xs:element ref="structure:data" /> + <xs:element ref="structure:text" /> + </xs:choice> + </xs:sequence> + <xs:attribute name="name" type="xs:NCName" /> + </xs:complexType> + + <!-- Defines the define element --> + + + <!-- Defines an utilitary ref element to refer to other elements --> + <xs:element name="ref"> + <xs:complexType> + <xs:attribute name="name" use="required" + type="xs:NCName" /> + </xs:complexType> + </xs:element> + + <!-- Choice --> + <xs:element name="choice"> + <xs:complexType> + <xs:choice> + <xs:choice maxOccurs="unbounded"> + <xs:element name="attribute" type="structure:attribute" /> + <xs:element name="element" type="structure:element" /> + <xs:element ref="structure:ref" /> + <xs:element ref="structure:text" /> + </xs:choice> + <xs:element maxOccurs="unbounded" ref="structure:value" /> + </xs:choice> + </xs:complexType> + </xs:element> + <xs:element name="value" type="xs:NCName" /> + + + <!-- Group --> + <xs:element name="group"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="structure:element" /> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <!-- One or More --> + <xs:complexType name="oneOrMore"> + <xs:complexContent> + <xs:extension base="structure:element" /> + </xs:complexContent> + </xs:complexType> + + <!-- Zero or More --> + <xs:complexType name="zeroOrMore"> + <xs:complexContent> + <xs:extension base="structure:element" /> + </xs:complexContent> + </xs:complexType> + + <!-- Optional --> + <xs:complexType name="optional"> + <xs:complexContent> + <xs:extension base="structure:element" /> + </xs:complexContent> + </xs:complexType> + + + <!-- Attribute --> + <xs:complexType name="attribute"> + <xs:complexContent> + <xs:extension base="structure:element"> + <!-- <xs:choice minOccurs="0"> <xs:element ref="structure:anyName" /> <xs:element + ref="structure:choice" /> <xs:element ref="structure:data" /> </xs:choice> --> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + + <!-- Text --> + <xs:element name="text"> + <xs:complexType /> + </xs:element> + + <!-- AnyName --> + <xs:element name="anyName"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="structure:except" /> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- Except --> + <xs:element name="except"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="structure:nsName" /> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- nsName --> + <xs:element name="nsName"> + <xs:complexType> + <xs:attribute name="ns" /> + </xs:complexType> + </xs:element> + + <!-- Data --> + <xs:element name="data"> + <xs:complexType> + <xs:attribute name="type" use="required" + type="xs:NCName" /> + </xs:complexType> + </xs:element> + +</xs:schema> diff --git a/ui/ui-pastis/src/main/resources/xsd/full_test.xsd b/ui/ui-pastis/src/main/resources/xsd/full_test.xsd new file mode 100644 index 0000000000000000000000000000000000000000..7875f88c5f0e576de8a77c1ed959ba9c80a58718 --- /dev/null +++ b/ui/ui-pastis/src/main/resources/xsd/full_test.xsd @@ -0,0 +1,214 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + elementFormDefault="qualified" + targetNamespace="http://relaxng.org/ns/structure/1.0" + xmlns:structure="http://relaxng.org/ns/structure/1.0" + xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + + <!-- Grammar --> + <xs:element name="grammar"> + <xs:complexType> + <xs:sequence> + <xs:element ref="structure:start" /> + <xs:element maxOccurs="unbounded" ref="structure:define" /> + </xs:sequence> + <xs:attribute name="datatypeLibrary" use="required" + type="xs:anyURI" /> + <xs:attribute name="ns" use="required" type="xs:anyURI" /> + </xs:complexType> + </xs:element> + + <xs:element name="define"> + <xs:complexType> + <xs:sequence> + <xs:choice minOccurs="0"> + <!--<xs:element name="choice" ref="structure:choice"/> --> + <xs:element ref="structure:interleave" /> + </xs:choice> + <xs:element minOccurs="0" maxOccurs="unbounded" + name="optional" type="structure:optional" /> + <xs:choice minOccurs="0"> + <xs:element name="children" type="structure:element" /> + <xs:element ref="structure:zeroOrMore" /> + </xs:choice> + </xs:sequence> + <xs:attribute name="name" use="required" + type="xs:NCName" /> + </xs:complexType> + </xs:element> + + + <xs:element name="interleave"> + <xs:complexType> + <xs:sequence> + <xs:element maxOccurs="unbounded" ref="structure:ref" /> + <xs:choice minOccurs="0"> + <xs:element name="optional" type="structure:optional" /> + <xs:element ref="structure:zeroOrMore" /> + <xs:element name="oneOrMore" type="structure:oneOrMore" /> + <xs:element ref="structure:group" /> + </xs:choice> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- Defines the start element --> + <xs:element name="start"> + <xs:complexType> + <xs:sequence> + <xs:element name="element" minOccurs="1" + type="structure:element" /> + </xs:sequence> + </xs:complexType> + </xs:element> + + <!-- Element defintion --> + <xs:complexType name="element"> + <xs:sequence> + <xs:element minOccurs="0" name="anyName" + type="structure:anyName" /> + <xs:element minOccurs="0" name="nsName" + type="structure:nsName" /> + <xs:element minOccurs="0" name="except" + type="structure:except" /> + <xs:element minOccurs="0" name="attribute" + type="structure:attribute" /> + <xs:element minOccurs="0" ref="structure:choice" /> + <xs:element minOccurs="0" name="data" + type="structure:data" /> + <xs:element minOccurs="0" name="oneOrMore" + type="structure:oneOrMore" /> + <xs:element minOccurs="0" ref="structure:zeroOrMore" /> + <xs:element minOccurs="0" name="optional" + type="structure:optional" /> + <xs:element ref="structure:text" /> + <xs:element minOccurs="0" maxOccurs="unbounded" + name="element" type="structure:element" /> + </xs:sequence> + <xs:attribute name="name" type="xs:NCName" /> + </xs:complexType> + + <!-- Defines the define element --> + + + <!-- Defines an utilitary ref element to refer to other elements --> + <xs:element name="ref"> + <xs:complexType> + <xs:attribute name="name" use="required" + type="xs:NCName" /> + </xs:complexType> + </xs:element> + + <!-- Choice --> + <xs:element name="choice"> + <xs:complexType> + <xs:choice> + <xs:choice maxOccurs="unbounded"> + <xs:element name="attribute" type="structure:attribute" /> + <xs:element name="element" type="structure:element" /> + <xs:element ref="structure:ref" /> + <xs:element ref="structure:text" /> + </xs:choice> + <xs:element maxOccurs="unbounded" ref="structure:value" /> + </xs:choice> + </xs:complexType> + </xs:element> + + <xs:element name="value" type="xs:NCName" /> + + + <!-- Group --> + <xs:element name="group"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="structure:element" /> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <!-- One or More --> + <xs:complexType name="oneOrMore"> + <xs:complexContent> + <xs:extension base="structure:element" /> + </xs:complexContent> + </xs:complexType> + + <!-- Zero or More --> + <xs:element name="zeroOrMore"> + <xs:complexType> + <xs:complexContent> + <xs:extension base="structure:element" /> + </xs:complexContent> + </xs:complexType> + </xs:element> + + <!-- Optional --> + <xs:complexType name="optional"> + <xs:complexContent> + <xs:extension base="structure:element" /> + </xs:complexContent> + </xs:complexType> + + + <!-- Attribute --> + <xs:complexType name="attribute"> + <xs:complexContent> + <xs:extension base="structure:element"> + <xs:choice minOccurs="0"> + <xs:element name="anyName" type="structure:anyName" /> + <xs:element name="data" type="structure:data" /> + </xs:choice> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + + <!-- Text --> + <xs:element name="text"> + <xs:complexType /> + </xs:element> + + <!-- AnyName --> + <xs:complexType name="anyName"> + <xs:complexContent> + <xs:extension base="structure:element"> + <xs:sequence> + <xs:element minOccurs="0" name="except" + type="structure:except" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- Except --> + <xs:complexType name="except"> + <xs:complexContent> + <xs:extension base="structure:element"> + <xs:sequence> + <xs:element minOccurs="0" name="nsName" + type="structure:nsName" /> + </xs:sequence> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + <!-- nsName --> + <xs:complexType name="nsName"> + <xs:complexContent> + <xs:extension base="structure:element"> + <xs:attribute name="ns" /> + </xs:extension> + </xs:complexContent> + </xs:complexType> + + + <!-- Data --> + <xs:complexType name="data"> + <xs:complexContent> + <xs:extension base="structure:element"> + <xs:attribute name="type" use="required" type="xs:NCName" /> + </xs:extension> + </xs:complexContent> + </xs:complexType> + +</xs:schema> diff --git a/ui/ui-pastis/src/main/resources/xsd/relaxng2.xsd b/ui/ui-pastis/src/main/resources/xsd/relaxng2.xsd new file mode 100644 index 0000000000000000000000000000000000000000..aa2a4ff725aa2a279be9ed9e46a69a856163f828 --- /dev/null +++ b/ui/ui-pastis/src/main/resources/xsd/relaxng2.xsd @@ -0,0 +1,356 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!-- RELAX NG XML syntax specified in compact syntax. --> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="http://relaxng.org/ns/structure/1.0" xmlns:rng="http://relaxng.org/ns/structure/1.0"> + <xs:element name="pattern" abstract="true"/> + <xs:element name="element" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="rng:nameClass"/> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + </xs:sequence> + <xs:attribute name="name" type="xs:QName"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="attribute" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" ref="rng:nameClass"/> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + </xs:sequence> + <xs:attribute name="name" type="xs:QName"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="interleave" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="optional" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="zeroOrMore" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="oneOrMore" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="list" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="mixed" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="ref" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:group ref="rng:common"/> + <xs:attributeGroup ref="rng:nameNCName"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="parentRef" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:group ref="rng:common"/> + <xs:attributeGroup ref="rng:nameNCName"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="empty" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:group ref="rng:common"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="notAllowed" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:group ref="rng:common"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="text" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:group ref="rng:common"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="data" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:sequence> + <xs:element minOccurs="0" maxOccurs="unbounded" ref="rng:param"/> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:group ref="rng:exceptPattern"/> + </xs:choice> + </xs:sequence> + <xs:attributeGroup ref="rng:type"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="value" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attributeGroup ref="rng:commonAttributes"/> + <xs:attribute name="type" type="xs:NCName"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="externalRef" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:group ref="rng:common"/> + <xs:attributeGroup ref="rng:href"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="grammar" substitutionGroup="rng:pattern"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:group ref="rng:grammarContent"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="param"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attributeGroup ref="rng:commonAttributes"/> + <xs:attributeGroup ref="rng:nameNCName"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:group name="exceptPattern"> + <xs:sequence> + <xs:element name="except"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:group> + <xs:group name="grammarContent"> + <xs:choice> + <xs:element ref="rng:definition"/> + <xs:element name="div"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:group ref="rng:grammarContent"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element ref="rng:include"/> + </xs:choice> + </xs:group> + <xs:element name="include"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:group ref="rng:includeContent"/> + </xs:choice> + <xs:attributeGroup ref="rng:href"/> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:group name="includeContent"> + <xs:choice> + <xs:element ref="rng:definition"/> + <xs:element name="div"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:group ref="rng:includeContent"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + </xs:choice> + </xs:group> + <xs:element name="definition" abstract="true"/> + <xs:element name="start" substitutionGroup="rng:definition"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + <xs:attribute name="combine"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="choice"/> + <xs:enumeration value="interleave"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="define" substitutionGroup="rng:definition"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:pattern"/> + </xs:choice> + <xs:attributeGroup ref="rng:nameNCName"/> + <xs:attribute name="combine"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="choice"/> + <xs:enumeration value="interleave"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:attributeGroup name="combine"> + <xs:attribute name="combine" use="required"> + <xs:simpleType> + <xs:restriction base="xs:token"> + <xs:enumeration value="choice"/> + <xs:enumeration value="interleave"/> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + </xs:attributeGroup> + <xs:element name="nameClass" abstract="true"/> + <xs:element name="name" substitutionGroup="rng:nameClass"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:QName"> + <xs:attributeGroup ref="rng:commonAttributes"/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + <xs:element name="anyName" substitutionGroup="rng:nameClass"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:group ref="rng:exceptNameClass"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="nsName" substitutionGroup="rng:nameClass"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:group ref="rng:exceptNameClass"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:element name="choice" substitutionGroup="rng:nameClass"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:nameClass"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + <xs:group name="exceptNameClass"> + <xs:sequence> + <xs:element name="except"> + <xs:complexType> + <xs:choice minOccurs="0" maxOccurs="unbounded"> + <xs:group ref="rng:common"/> + <xs:element ref="rng:nameClass"/> + </xs:choice> + <xs:attributeGroup ref="rng:common"/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:group> + <xs:attributeGroup name="nameQName"> + <xs:attribute name="name" use="required" type="xs:QName"/> + </xs:attributeGroup> + <xs:attributeGroup name="nameNCName"> + <xs:attribute name="name" use="required" type="xs:NCName"/> + </xs:attributeGroup> + <xs:attributeGroup name="href"> + <xs:attribute name="href" use="required" type="xs:anyURI"/> + </xs:attributeGroup> + <xs:attributeGroup name="type"> + <xs:attribute name="type" use="required" type="xs:NCName"/> + </xs:attributeGroup> + <xs:group name="common"> + <xs:sequence> + <xs:group minOccurs="0" maxOccurs="unbounded" ref="rng:foreignElement"/> + </xs:sequence> + </xs:group> + <xs:attributeGroup name="common"> + <xs:attributeGroup ref="rng:commonAttributes"/> + </xs:attributeGroup> + <xs:attributeGroup name="commonAttributes"> + <xs:attribute name="ns" type="xs:string"/> + <xs:attribute name="datatypeLibrary" type="xs:anyURI"/> + <xs:attributeGroup ref="rng:foreignAttribute"/> + </xs:attributeGroup> + <xs:group name="foreignElement"> + <xs:choice> + <xs:any namespace="##other" processContents="skip"/> + <xs:any namespace="##local" processContents="skip"/> + </xs:choice> + </xs:group> + <xs:attributeGroup name="foreignAttribute"> + <xs:anyAttribute namespace="##other" processContents="skip"/> + </xs:attributeGroup> + <xs:group name="anyElement"> + <xs:sequence> + <xs:any processContents="skip"/> + </xs:sequence> + </xs:group> + <xs:attributeGroup name="anyAttribute"> + <xs:anyAttribute processContents="skip"/> + </xs:attributeGroup> +</xs:schema> diff --git a/ui/ui-pastis/src/main/resources/xsd/rng_cines.xsd b/ui/ui-pastis/src/main/resources/xsd/rng_cines.xsd new file mode 100644 index 0000000000000000000000000000000000000000..a19df85dae2b89b11bf4ecf8501eeb3575113bb6 --- /dev/null +++ b/ui/ui-pastis/src/main/resources/xsd/rng_cines.xsd @@ -0,0 +1,456 @@ +<?xml version="1.0" encoding="UTF-8"?> +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" targetNamespace="fr:gouv:culture:archivesdefrance:seda:v2.1" xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1"> + <xsd:element name="ArchiveTransfer"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:Comment"/> + <xsd:element ref="seda:Date"/> + <xsd:element ref="seda:MessageIdentifier"/> + <xsd:element ref="seda:ArchivalAgreement"/> + <xsd:element ref="seda:CodeListVersions"/> + <xsd:element ref="seda:DataObjectPackage"/> + <xsd:element ref="seda:ArchivalAgency"/> + <xsd:element ref="seda:TransferringAgency"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + <xsd:anyAttribute namespace="##other" processContents="skip"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="Comment" type="xsd:string"/> + <xsd:element name="Date" type="xsd:dateTime"/> + <xsd:element name="MessageIdentifier"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="schemeDataURI" type="xsd:anyURI"/> + <xsd:attribute name="schemeID" type="xsd:token"/> + <xsd:attribute name="schemeAgencyName" type="xsd:string"/> + <xsd:attribute name="schemeAgencyID" type="xsd:token"/> + <xsd:attribute name="schemeName" type="xsd:string"/> + <xsd:attribute name="schemeVersionID" type="xsd:token"/> + <xsd:attribute name="schemeURI" type="xsd:anyURI"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="ArchivalAgreement"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="schemeDataURI" type="xsd:anyURI"/> + <xsd:attribute name="schemeID" type="xsd:token"/> + <xsd:attribute name="schemeAgencyName" type="xsd:string"/> + <xsd:attribute name="schemeAgencyID" type="xsd:token"/> + <xsd:attribute name="schemeName" type="xsd:string"/> + <xsd:attribute name="schemeVersionID" type="xsd:token"/> + <xsd:attribute name="schemeURI" type="xsd:anyURI"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="CodeListVersions"> + <xsd:complexType> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="DataObjectPackage"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:DataObjectGroup"/> + <xsd:element ref="seda:DescriptiveMetadata"/> + <xsd:element ref="seda:ManagementMetadata"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="DataObjectGroup"> + <xsd:complexType> + <xsd:sequence> + <xsd:element minOccurs="0" maxOccurs="unbounded" ref="seda:BinaryDataObject"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="BinaryDataObject"> + <xsd:complexType> + <xsd:sequence> + <xsd:element minOccurs="0" ref="seda:DataObjectGroupId"/> + <xsd:element minOccurs="0" ref="seda:DataObjectVersion"/> + <xsd:element minOccurs="0" ref="seda:Uri"/> + <xsd:element ref="seda:MessageDigest"/> + <xsd:element ref="seda:Size"/> + <xsd:element ref="seda:FormatIdentification"/> + <xsd:element ref="seda:FileInfo"/> + <xsd:element minOccurs="0" ref="seda:Metadata"/> + </xsd:sequence> + <xsd:attribute name="id" use="required" type="xsd:ID"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="DataObjectGroupId" type="xsd:token"/> + <xsd:element name="DataObjectVersion" type="xsd:token"/> + <xsd:element name="Uri" type="xsd:anyURI"/> + <xsd:element name="MessageDigest"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:restriction base="xsd:anyType"> + <xsd:simpleType> + <xsd:union memberTypes="xsd:base64Binary xsd:hexBinary"/> + </xsd:simpleType> + <xsd:attribute name="algorithm" use="required" type="xsd:token"/> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Size" type="xsd:positiveInteger"/> + <xsd:element name="FormatIdentification"> + <xsd:complexType> + <xsd:sequence> + <xsd:element minOccurs="0" ref="seda:FormatLitteral"/> + <xsd:element minOccurs="0" ref="seda:FormatId"/> + <xsd:element minOccurs="0" ref="seda:Encoding"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="FormatLitteral" type="xsd:string"/> + <xsd:element name="FormatId" type="xsd:token"/> + <xsd:element name="Encoding" type="xsd:token"/> + <xsd:element name="FileInfo"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:Filename"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="Filename" type="xsd:string"/> + <xsd:element name="Metadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element minOccurs="0" ref="seda:Video"/> + <xsd:element minOccurs="0" ref="seda:Audio"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="Video"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value=""/> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + <xsd:element name="Audio"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value=""/> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + <xsd:element name="DescriptiveMetadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element minOccurs="0" maxOccurs="unbounded" ref="seda:ArchiveUnit"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="ArchiveUnit"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:Management"/> + <xsd:sequence> + <xsd:element ref="seda:Content"/> + <xsd:element minOccurs="0" ref="seda:DataObjectReference"/> + </xsd:sequence> + </xsd:sequence> + <xsd:attribute name="id" use="required" type="xsd:ID"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="Management"> + <xsd:complexType> + <xsd:sequence> + <xsd:element minOccurs="0" ref="seda:UpdateOperation"/> + <xsd:element minOccurs="0" ref="seda:AppraisalRule"/> + <xsd:element minOccurs="0" ref="seda:AccessRule"/> + <xsd:element minOccurs="0" ref="seda:DisseminationRule"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="UpdateOperation"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:ArchiveUnitIdentifierKey"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="ArchiveUnitIdentifierKey"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:MetadataName"/> + <xsd:element ref="seda:MetadataValue"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="MetadataName" type="xsd:token"/> + <xsd:element name="MetadataValue" type="xsd:token"/> + <xsd:element name="AppraisalRule"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:Rule"/> + <xsd:element name="StartDate" type="xsd:date"/> + <xsd:element ref="seda:FinalAction"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="Rule"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="FinalAction" type="xsd:token"/> + <xsd:element name="AccessRule"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:Rule"/> + <xsd:element name="StartDate" type="xsd:date"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="DisseminationRule"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:Rule"/> + <xsd:element name="StartDate" type="xsd:date"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="Content"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:DescriptionLevel"/> + <xsd:element maxOccurs="unbounded" ref="seda:Title"/> + <xsd:element minOccurs="0" ref="seda:FilePlanPosition"/> + <xsd:element minOccurs="0" ref="seda:OriginatingAgencyArchiveUnitIdentifier"/> + <xsd:element minOccurs="0" ref="seda:TransferringAgencyArchiveUnitIdentifier"/> + <xsd:element minOccurs="0" ref="seda:Description"/> + <xsd:element minOccurs="0" ref="seda:CustodialHistory"/> + <xsd:element ref="seda:Type"/> + <xsd:element maxOccurs="unbounded" ref="seda:Language"/> + <xsd:element minOccurs="0" ref="seda:DescriptionLanguage"/> + <xsd:element minOccurs="0" maxOccurs="unbounded" ref="seda:Tag"/> + <xsd:element minOccurs="0" maxOccurs="unbounded" ref="seda:Keyword"/> + <xsd:element minOccurs="0" ref="seda:OriginatingAgency"/> + <xsd:element minOccurs="0" ref="seda:SubmissionAgency"/> + <xsd:element name="StartDate"> + <xsd:simpleType> + <xsd:union memberTypes="xsd:date xsd:dateTime"/> + </xsd:simpleType> + </xsd:element> + <xsd:element ref="seda:EndDate"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="DescriptionLevel" type="xsd:token"/> + <xsd:element name="Title"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="lang" type="xsd:language"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="FilePlanPosition" type="xsd:token"/> + <xsd:element name="OriginatingAgencyArchiveUnitIdentifier" type="xsd:token"/> + <xsd:element name="TransferringAgencyArchiveUnitIdentifier" type="xsd:token"/> + <xsd:element name="Description"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="lang" type="xsd:language"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="CustodialHistory"> + <xsd:complexType> + <xsd:sequence> + <xsd:element maxOccurs="unbounded" ref="seda:CustodialHistoryItem"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="CustodialHistoryItem" type="xsd:string"/> + <xsd:element name="Type" type="xsd:string"/> + <xsd:element name="Language" type="xsd:language"/> + <xsd:element name="DescriptionLanguage" type="xsd:language"/> + <xsd:element name="Tag" type="xsd:token"/> + <xsd:element name="Keyword"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:KeywordContent"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="KeywordContent" type="xsd:string"/> + <xsd:element name="OriginatingAgency"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Identifier" type="xsd:string"/> + <xsd:element name="OrganizationDescriptiveMetadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Name" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="SubmissionAgency"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Identifier"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"> + <xsd:attribute name="schemeName"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="SIRET"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:attribute> + <xsd:attribute name="schemeAgencyName"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="INSEE"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:attribute> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="OrganizationDescriptiveMetadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Name" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="EndDate"> + <xsd:simpleType> + <xsd:union memberTypes="xsd:date xsd:dateTime"/> + </xsd:simpleType> + </xsd:element> + <xsd:element name="DataObjectReference"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:DataObjectReferenceId"/> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID"/> + </xsd:complexType> + </xsd:element> + <xsd:element name="DataObjectReferenceId" type="xsd:NCName"/> + <xsd:element name="ManagementMetadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element ref="seda:ArchivalProfile"/> + <xsd:element minOccurs="0" ref="seda:AppraisalRule"/> + <xsd:element minOccurs="0" ref="seda:AccessRule"/> + <xsd:element minOccurs="0" ref="seda:DisseminationRule"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="ArchivalProfile" type="xsd:token"/> + <xsd:element name="ArchivalAgency"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Identifier"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:restriction base="xsd:anyType"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="19341594000017"/> + </xsd:restriction> + </xsd:simpleType> + <xsd:attribute name="schemeName" use="required"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="SIRET"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:attribute> + <xsd:attribute name="schemeAgencyName" use="required"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="INSEE"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:attribute> + </xsd:restriction> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="OrganizationDescriptiveMetadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Name"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="Centre Informatique National de l'Enseignement Supérieur"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:element name="TransferringAgency"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Identifier"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="schemeName" use="required"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="SIRET"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:attribute> + <xsd:attribute name="schemeAgencyName" use="required"> + <xsd:simpleType> + <xsd:restriction base="xsd:token"> + <xsd:enumeration value="INSEE"/> + </xsd:restriction> + </xsd:simpleType> + </xsd:attribute> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="OrganizationDescriptiveMetadata"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Name" type="xsd:string"/> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + <xsd:group name="OpenType"> + <xsd:sequence> + <xsd:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/> + </xsd:sequence> + </xsd:group> +</xsd:schema> diff --git a/ui/ui-pastis/src/main/resources/xsd/vitam.xsd b/ui/ui-pastis/src/main/resources/xsd/vitam.xsd new file mode 100644 index 0000000000000000000000000000000000000000..6ebf26c63b9a07bfa512d8ae7a650200e1966227 --- /dev/null +++ b/ui/ui-pastis/src/main/resources/xsd/vitam.xsd @@ -0,0 +1,1516 @@ +<?xml version="1.0" encoding="UTF-8"?> + + +<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" + attributeFormDefault="unqualified" version="1.0"> + + <!-- mon profil de matrice V2 --> + <xsd:element name="Identifier" type="xsd:string"/> + + <!-- definition de ArchiveTransfer et de ses enfants directs : + Comment, Date, MessageIdentifier, ArchivalAgreement, CodeListVersions, DataObjectPackage, ArchivalAgency, TransferringAgency --> + <xsd:element name="ArchiveTransfer"> + <xsd:complexType> + <xsd:sequence> + <!-- ArchiveTransfer / Comment --> + <xsd:element name="Comment" minOccurs="1" fixed="Matrice cadastrale numérique"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / Date --> + <xsd:element name="Date" minOccurs="1" ><!-- valeur date obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / MessageIdentifier --> + <xsd:element name="MessageIdentifier" minOccurs="1"><!-- valeur obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="schemeDataURI" type="xsd:anyURI" use="optional"/> + <xsd:attribute name="schemeID" type="xsd:token" use="optional"/> + <xsd:attribute name="schemeAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="schemeAgencyID" type="xsd:token" use="optional"/> + <xsd:attribute name="schemeName" type="xsd:string" use="optional"/> + <xsd:attribute name="schemeVersionID" type="xsd:token" + use="optional"/> + <xsd:attribute name="schemeURI" type="xsd:anyURI" use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / ArchivalAgreement --> + <xsd:element name="ArchivalAgreement" fixed="ArchivalAgreement0" minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions --> + <xsd:element name="CodeListVersions" minOccurs="1"> + <xsd:complexType> + <xsd:sequence> + <!-- ArchiveTransfer / CodeListVersions / ReplyCodeListVersion --> + <xsd:element name="ReplyCodeListVersion" fixed="ReplyCodeListVersion0" minOccurs="1"><!-- valeur textuelle fixe obligatoire - A RAJOUTER : RENDRE UNIQUE --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / MessageDigestAlgorithmCodeListVersion --> + <xsd:element name="MessageDigestAlgorithmCodeListVersion" fixed="MessageDigestAlgorithmCodeListVersion0" minOccurs="1"><!-- valeur textuelle fixe obligatoire - A RAJOUTER : RENDRE UNIQUE --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / MimeTypeCodeListVersion --> + <xsd:element name="MimeTypeCodeListVersion" + fixed="MimeTypeCodeListVersion0" minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / EncodingCodeListVersion --> + <xsd:element name="EncodingCodeListVersion" + fixed="EncodingCodeListVersion0" minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / FileFormatCodeListVersion --> + <xsd:element name="FileFormatCodeListVersion" + fixed="FileFormatCodeListVersion0" minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / CompressionAlgorithmCodeListVersion --> + <xsd:element name="CompressionAlgorithmCodeListVersion" + fixed="CompressionAlgorithmCodeListVersion0" minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / DataObjectVersionCodeListVersion --> + <xsd:element name="DataObjectVersionCodeListVersion" + fixed="DataObjectVersionCodeListVersion0" minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / StorageRuleCodeListVersion --> + <xsd:element name="StorageRuleCodeListVersion" + fixed="StorageRuleCodeListVersion0" minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / AppraisalRuleCodeListVersion --> + <xsd:element name="AppraisalRuleCodeListVersion" + fixed="AppraisalRuleCodeListVersion0" minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / AccessRuleCodeListVersion --> + <xsd:element name="AccessRuleCodeListVersion" + fixed="AccessRuleCodeListVersion0" minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / DisseminationRuleCodeListVersion --> + <xsd:element name="DisseminationRuleCodeListVersion" + fixed="DisseminationRuleCodeListVersion0" minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / ReuseRuleCodeListVersion --> + <xsd:element name="ReuseRuleCodeListVersion" + fixed="ReuseRuleCodeListVersion0" minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / ClassificationRuleCodeListVersion --> + <xsd:element name="ClassificationRuleCodeListVersion" + fixed="ClassificationRuleCodeListVersion0" minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / AuthorizationReasonCodeListVersion --> + <xsd:element name="AuthorizationReasonCodeListVersion" + fixed="AuthorizationReasonCodeListVersion0" minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveTransfer / CodeListVersions / RelationshipCodeListVersion --> + <xsd:element name="RelationshipCodeListVersion" + fixed="RelationshipCodeListVersion0" minOccurs="1"><!-- valeur textuelle fixe obligatoire --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="listName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listAgencyID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listSchemeURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listID" type="xsd:token" + use="optional"/> + <xsd:attribute name="listAgencyName" type="xsd:string" + use="optional"/> + <xsd:attribute name="listURI" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="listVersionID" type="xsd:token" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID" use="optional"/> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveTransfer / DataObjectPackage --> + <xsd:element name="DataObjectPackage"> + <xsd:complexType> + <xsd:sequence> + <!-- ArchiveTransfer / DataObjectPackage / BinaryDataObject 1 --> + <xsd:element name="BinaryDataObject"> + <xsd:complexType> + <xsd:sequence> + + <!-- DataObjectGroupReferenceId --> + <xsd:element name="DataObjectGroupReferenceId" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/><!-- erreur possible dans la declaration de cet element --> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- DataObjectGroupId --> + <xsd:element name="DataObjectGroupId" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- DataObjectVersion --> + <xsd:element name="DataObjectVersion" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <xsd:choice> + + <!-- Uri --> + <xsd:element name="Uri" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:anyURI"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- Attachement --> + <xsd:element name="Attachement" minOccurs="0"> + <xsd:complexType><xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="uri" type="xsd:anyURI" + use="optional"/> + <xsd:attribute name="filename" type="xsd:string" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + + </xsd:element> + + </xsd:choice> + + <!-- message digest --> + <xsd:element name="MessageDigest" minOccurs="1"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:base64Binary"> + <xsd:attribute name="algorithm" type="xsd:token" + use="required"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- size --> + <xsd:element name="Size" minOccurs="1"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:positiveInteger"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- Compressed --> + <xsd:element minOccurs="0" name="Compressed" fixed="xsd:boolean"> <!-- a revoir, car je ne suis pas sure qu'il faut le declarer ainsi--> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="algorithm" type="xsd:token" + use="optional"/> + <xsd:attribute name="uncompressedSize" type="xsd:positiveInteger" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- format identification --> + <xsd:element name="FormatIdentification" minOccurs="1"> + <xsd:complexType> + <xsd:sequence> + <!-- format identification / format litteral --> + <xsd:element minOccurs="1" name="FormatLitteral" + fixed="Open Document Texte"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- format identification / mime type --> + <xsd:element name="MimeType"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- format identification / format id --> + <xsd:element minOccurs="1" name="FormatId" + fixed="fmt/135"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <!-- file info --> + <xsd:element name="FileInfo"> + <xsd:complexType> + <xsd:sequence> + <!-- FileInfo / file name --> + <xsd:element name="Filename" minOccurs="1" + fixed="BAT_a_jour.odt"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- FileInfo / creating application name --> + <xsd:element minOccurs="1" + name="CreatingApplicationName" fixed="Majic 3"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- FileInfo / CreatingApplicationVersion --> + <xsd:element minOccurs="0" + name="CreatingApplicationVersion"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- FileInfo / DateCreatedByApplication --> + <xsd:element minOccurs="0" + name="DateCreatedByApplication"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- FileInfo / creating os --> + <xsd:element minOccurs="0" + name="CreatingOs"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- FileInfo / CreatingOsVersion --> + <xsd:element minOccurs="0" + name="CreatingOsVersion"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- FileInfo / LastModified --> + <xsd:element minOccurs="0" name="LastModified"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <!-- Metadata --> + <xsd:element minOccurs="0" name="Metadata"> + <xsd:complexType> + <xsd:choice> + <xsd:element minOccurs="0" name="Audio"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element minOccurs="0" name="Document"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element minOccurs="0" name="Image"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element minOccurs="0" name="Text"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element minOccurs="0" name="Video"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:choice> + </xsd:complexType> + + </xsd:element> + + <!-- OtherMetadata --> + <xsd:element minOccurs="0" name="OtherMetadata"><!-- attributs a ajouter --> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- Relationship --> + <xsd:element minOccurs="0" name="Relationship"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute name="target" type="xsd:string" + use="optional"/> + <xsd:attribute name="type" type="xsd:string" + use="optional"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + </xsd:sequence> + + <xsd:attribute name="id" type="xsd:ID" use="required"/> + </xsd:complexType> + </xsd:element><!-- fin de binary --> + + <!-- ArchiveTransfer / DataObjectPackage / DescriptiveMetadata --> + + <xsd:element name="DescriptiveMetadata"> + <xsd:complexType> + <xsd:sequence> + <!-- ArchiveTransfer / DataObjectPackage / DescriptiveMetadata / ArchiveUnit --> + <xsd:element name="ArchiveUnit"> + <xsd:complexType> + <xsd:sequence> + <!-- 4 sous-elements : + ArchiveUnitRefId, ArchiveUnitProfile, Content, Management + --> + + <!-- ArchiveUnit / ArchiveUnitRefId --> + <!-- ArchiveUnit / ArchiveUnitProfile --> + <!-- ArchiveUnit / Management --> + + <!-- ArchiveUnit / Content --> + <xsd:element maxOccurs="unbounded" name="Content"> + <xsd:complexType> + <xsd:sequence> + + <!-- ArchiveUnit / Content / DescriptionLevel --> + <xsd:element name="DescriptionLevel" + fixed="RecordGrp"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / Title --> + <xsd:element name="Title" + fixed="Versement de la matrice cadastrale numérique"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / FilePlanPosition --> + <xsd:element minOccurs="0" name="FilePlanPosition"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / SystemId --> + <xsd:element minOccurs="0" name="SystemId"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / OriginatingSystemId --> + <xsd:element minOccurs="0" + name="OriginatingSystemId"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / ArchivalAgencyArchiveUnitIdentifier --> + <xsd:element minOccurs="0" + name="ArchivalAgencyArchiveUnitIdentifier"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / Description --> + <xsd:element name="Description" + fixed="Matrice cadastrale des communes du département."> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / CustodialHistory --> + <xsd:element minOccurs="0" name="CustodialHistory"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="CustodialHistoryItem" + fixed="Les données ont été récupérées par le SIAF à la DGFIP en 2010, retravaillées et documentées par le SIAF pour versement aux Archives départementales avec les applications de conversion et de visualisation." + > </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / Type --> + <xsd:element name="Type" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / DocumentType --> + <xsd:element name="DocumentType" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / Language --> + <xsd:element name="Language" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:language"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / DescriptionLanguage --> + <xsd:element name="DescriptionLanguage" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / Status --> + <xsd:element name="Status" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / Version --> + <xsd:element name="Version" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / Tag --> + <xsd:element name="Tag" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / Keyword --> + <xsd:element name="Keyword"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="KeywordContent" + fixed="matrice cadastrale"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="KeywordReference" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="KeywordType" fixed="subject"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:token"> + <xsd:attribute fixed="edition 2009" + name="listVersionID"/> + </xsd:extension> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID" + use="optional"/> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / Coverage et enfants --> + <xsd:element name="Coverage" minOccurs="0"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Spatial" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Temporal" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Juridictional" minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:attribute name="id" type="xsd:ID" + use="optional"/> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / OriginatingAgency --> + <xsd:element name="OriginatingAgency"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Identifier" + fixed="FRAN_NP_009734"> + <xsd:simpleType> + <xsd:restriction base="xsd:string"> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + <xsd:element + name="OrganizationDescriptiveMetadata" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / SubmissionAgency --> + <xsd:element name="SubmissionAgency" minOccurs="0"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Identifier" minOccurs="0"> + <xsd:simpleType> + <xsd:restriction base="xsd:string"> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + <xsd:element + name="OrganizationDescriptiveMetadata" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / AuthorizedAgent --> + <xsd:element minOccurs="0" name="AuthorizedAgent"> + <xsd:complexType> + + <xsd:sequence> + <xsd:choice> + <xsd:sequence> + <xsd:element + name="Corpname" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:sequence> + <xsd:element name="FirstName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="GivenName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Gender" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthDate" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:date"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthPlace" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="DeathDate" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:date"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="DeathPlace" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Nationality" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:choice> + <xsd:element ref="Identifier" minOccurs="0"></xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element><!-- fin d'authorized agent --> + + <!-- ArchiveUnit / Content / Writer --> + <xsd:element minOccurs="0" name="Writer"> + <xsd:complexType> + + <xsd:sequence> + <xsd:choice> + <xsd:sequence> + <xsd:element + name="Corpname" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:sequence> + <xsd:element name="FirstName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="GivenName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Gender" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthDate" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:date"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthPlace" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="DeathDate" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:date"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="DeathPlace" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Nationality" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:choice> + <xsd:element ref="Identifier" minOccurs="0"></xsd:element> + <!-- business et ses 4 sous-elements ??????? --> + </xsd:sequence> + </xsd:complexType> + </xsd:element><!-- fin de writer --> + + <!-- ArchiveUnit / Content / Adressee --> + <xsd:element minOccurs="0" name="Adressee"> + <xsd:complexType> + + <xsd:sequence> + <xsd:choice> + <xsd:sequence> + <xsd:element + name="Corpname" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:sequence> + <xsd:element name="FirstName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="GivenName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Gender" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthDate" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:date"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthPlace" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="DeathDate" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:date"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="DeathPlace" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Nationality" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:choice> + <xsd:element ref="Identifier" minOccurs="0"></xsd:element> + + </xsd:sequence> + </xsd:complexType> + </xsd:element><!-- fin de Adressee --> + + <!-- ArchiveUnit / Content / Recipient --> + <xsd:element minOccurs="0" name="Recipient"> + <xsd:complexType> + + <xsd:sequence> + <xsd:choice> + <xsd:sequence> + <xsd:element + name="Corpname" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + <xsd:sequence> + <xsd:element name="FirstName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="GivenName" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Gender" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthDate" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:date"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="BirthPlace" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="DeathDate" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:date"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="DeathPlace" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <xsd:element name="Nationality" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + </xsd:sequence> + </xsd:choice> + <xsd:element ref="Identifier" minOccurs="0"></xsd:element> + + </xsd:sequence> + </xsd:complexType> + </xsd:element><!-- fin de Recipient --> + + <!-- ArchiveUnit / Content / Source --> + <xsd:element + name="Source" + minOccurs="0"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:string"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveUnit / Content / RelatedObjectReference --> + <xsd:element minOccurs="0" name="RelatedObjectReference"/> + + <!-- ArchiveUnit / Content / CreatedDate --> + <xsd:element minOccurs="0" name="CreatedDate"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveUnit / Content / TransactedDate --> + <xsd:element minOccurs="0" name="TransactedDate"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveUnit / Content / AcquiredDate --> + <xsd:element minOccurs="0" name="AcquiredDate"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveUnit / Content / SentDate --> + <xsd:element minOccurs="0" name="SentDate"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveUnit / Content / ReceivedDate --> + <xsd:element minOccurs="0" name="ReceivedDate"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveUnit / Content / RegisteredDate --> + <xsd:element minOccurs="0" name="RegisteredDate"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveUnit / Content / StartDate --> + <xsd:element minOccurs="0" name="StartDate"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + <!-- ArchiveUnit / Content / EndDate --> + <xsd:element minOccurs="0" name="EndDate"> + <xsd:complexType> + <xsd:simpleContent> + <xsd:extension base="xsd:dateTime"/> + </xsd:simpleContent> + </xsd:complexType> + </xsd:element> + + + </xsd:sequence> + </xsd:complexType> + </xsd:element><!-- fin de content --> + + + + + </xsd:sequence> + </xsd:complexType> + </xsd:element><!-- fin de archive unit --> + </xsd:sequence> + </xsd:complexType> + </xsd:element><!-- fin de descriptive metadata --> + + + + + <!-- ArchiveTransfer / DataObjectPackage / ManagementMetadata --> + + + + </xsd:sequence> + + <xsd:attribute name="id" type="xsd:ID" use="required"/><!-- DataObjetPackage necessite un ID --> + </xsd:complexType> + + </xsd:element><!-- fin DataObjectPackage --> + + <!-- ArchiveTransfer / ArchivalAgency --> + <xsd:element name="ArchivalAgency"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Identifier" fixed="Identifier4"> + <xsd:simpleType> + <xsd:restriction base="xsd:string"> + <!-- enumeration avec valeur ? --> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + <!-- ArchiveTransfer / TransferringAgency --> + <xsd:element name="TransferringAgency"> + <xsd:complexType> + <xsd:sequence> + <xsd:element name="Identifier" fixed="Identifier5"> + <xsd:simpleType> + <xsd:restriction base="xsd:string"> + <!-- enumeration avec valeur ? --> + </xsd:restriction> + </xsd:simpleType> + </xsd:element> + </xsd:sequence> + </xsd:complexType> + </xsd:element> + + + </xsd:sequence> + </xsd:complexType> + + </xsd:element> + + + +</xsd:schema> diff --git a/ui/ui-pastis/src/main/resources/xsd_validation/catalog.xml b/ui/ui-pastis/src/main/resources/xsd_validation/catalog.xml new file mode 100644 index 0000000000000000000000000000000000000000..4cd9496366cca115445fbc840df97e1f5866997a --- /dev/null +++ b/ui/ui-pastis/src/main/resources/xsd_validation/catalog.xml @@ -0,0 +1,7 @@ +<?xml version="1.0"?> +<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"> + <!-- This will redirect the namespace URI to the local schema file, which + should be found in the same directory as the catalog.xml --> + <uri name="http://www.w3.org/XML/1998/namespace" uri="xml.xsd" /> + <uri name="http://www.w3.org/1999/xlink" uri="xlink.xsd" /> +</catalog> \ No newline at end of file diff --git a/ui/ui-pastis/src/main/resources/xsd_validation/xlink.xsd b/ui/ui-pastis/src/main/resources/xsd_validation/xlink.xsd new file mode 100644 index 0000000000000000000000000000000000000000..9e2c8c11b32cc8f60df136f92c123e9f05a4ba78 --- /dev/null +++ b/ui/ui-pastis/src/main/resources/xsd_validation/xlink.xsd @@ -0,0 +1,277 @@ +<?xml version='1.0' encoding='UTF-8'?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + targetNamespace="http://www.w3.org/1999/xlink" xmlns:xlink="http://www.w3.org/1999/xlink"> + + <xs:annotation> + <xs:documentation>This + schema document provides attribute declarations and + attribute group, complex type and simple type definitions which can be used in + the construction of user schemas to define the structure of + particular linking + constructs, e.g. +<![CDATA[ +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xl="http://www.w3.org/1999/xlink"> + + <xs:import namespace="http://www.w3.org/1999/xlink" + location="http://www.w3.org/1999/xlink.xsd"> + + <xs:element name="mySimple"> + <xs:complexType> + ... + <xs:attributeGroup ref="xl:simpleAttrs"/> + ... + </xs:complexType> + </xs:element> + ... +</xs:schema>]]></xs:documentation> + </xs:annotation> + + <xs:import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/xml.xsd" /> + + <xs:attribute name="type" type="xlink:typeType" /> + + <xs:simpleType name="typeType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="simple" /> + <xs:enumeration value="extended" /> + <xs:enumeration value="title" /> + <xs:enumeration value="resource" /> + <xs:enumeration value="locator" /> + <xs:enumeration value="arc" /> + </xs:restriction> + </xs:simpleType> + + <xs:attribute name="href" type="xlink:hrefType" /> + + <xs:simpleType name="hrefType"> + <xs:restriction base="xs:anyURI" /> + </xs:simpleType> + + <xs:attribute name="role" type="xlink:roleType" /> + + <xs:simpleType name="roleType"> + <xs:restriction base="xs:anyURI"> + <xs:minLength value="1" /> + </xs:restriction> + </xs:simpleType> + + <xs:attribute name="arcrole" type="xlink:arcroleType" /> + + <xs:simpleType name="arcroleType"> + <xs:restriction base="xs:anyURI"> + <xs:minLength value="1" /> + </xs:restriction> + </xs:simpleType> + + <xs:attribute name="title" type="xlink:titleAttrType" /> + + <xs:simpleType name="titleAttrType"> + <xs:restriction base="xs:string" /> + </xs:simpleType> + + <xs:attribute name="show" type="xlink:showType" /> + + <xs:simpleType name="showType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="new" /> + <xs:enumeration value="replace" /> + <xs:enumeration value="embed" /> + <xs:enumeration value="other" /> + <xs:enumeration value="none" /> + </xs:restriction> + </xs:simpleType> + + <xs:attribute name="actuate" type="xlink:actuateType" /> + + <xs:simpleType name="actuateType"> + <xs:restriction base="xs:token"> + <xs:enumeration value="onLoad" /> + <xs:enumeration value="onRequest" /> + <xs:enumeration value="other" /> + <xs:enumeration value="none" /> + </xs:restriction> + </xs:simpleType> + + <xs:attribute name="label" type="xlink:labelType" /> + + <xs:simpleType name="labelType"> + <xs:restriction base="xs:NCName" /> + </xs:simpleType> + + <xs:attribute name="from" type="xlink:fromType" /> + + <xs:simpleType name="fromType"> + <xs:restriction base="xs:NCName" /> + </xs:simpleType> + + <xs:attribute name="to" type="xlink:toType" /> + + <xs:simpleType name="toType"> + <xs:restriction base="xs:NCName" /> + </xs:simpleType> + + <xs:attributeGroup name="simpleAttrs"> + <xs:attribute ref="xlink:type" fixed="simple" /> + <xs:attribute ref="xlink:href" /> + <xs:attribute ref="xlink:role" /> + <xs:attribute ref="xlink:arcrole" /> + <xs:attribute ref="xlink:title" /> + <xs:attribute ref="xlink:show" /> + <xs:attribute ref="xlink:actuate" /> + </xs:attributeGroup> + + <xs:group name="simpleModel"> + <xs:sequence> + <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:group> + + <xs:complexType mixed="true" name="simple"> + <xs:annotation> + <xs:documentation> + Intended for use as the type of user-declared elements to make them + simple links. + </xs:documentation> + </xs:annotation> + <xs:group ref="xlink:simpleModel" /> + <xs:attributeGroup ref="xlink:simpleAttrs" /> + </xs:complexType> + + <xs:attributeGroup name="extendedAttrs"> + <xs:attribute ref="xlink:type" fixed="extended" use="required" /> + <xs:attribute ref="xlink:role" /> + <xs:attribute ref="xlink:title" /> + </xs:attributeGroup> + + <xs:group name="extendedModel"> + <xs:choice> + <xs:element ref="xlink:title" /> + <xs:element ref="xlink:resource" /> + <xs:element ref="xlink:locator" /> + <xs:element ref="xlink:arc" /> + </xs:choice> + </xs:group> + + <xs:complexType name="extended"> + <xs:annotation> + <xs:documentation> + Intended for use as the type of user-declared elements to make them + extended links. + Note that the elements referenced in the content model are all abstract. + The intention is that by simply declaring elements with these as + their + substitutionGroup, all the right things will happen. + </xs:documentation> + </xs:annotation> + <xs:group ref="xlink:extendedModel" minOccurs="0" maxOccurs="unbounded" /> + <xs:attributeGroup ref="xlink:extendedAttrs" /> + </xs:complexType> + + <xs:element name="title" type="xlink:titleEltType" abstract="true" /> + + <xs:attributeGroup name="titleAttrs"> + <xs:attribute ref="xlink:type" fixed="title" use="required" /> + <xs:attribute ref="xml:lang"> + <xs:annotation> + <xs:documentation> + xml:lang is not required, but provides much of the + motivation for title elements in addition to attributes, and so + is provided here for convenience. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:attributeGroup> + + <xs:group name="titleModel"> + <xs:sequence> + <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:group> + + <xs:complexType mixed="true" name="titleEltType"> + <xs:group ref="xlink:titleModel" /> + <xs:attributeGroup ref="xlink:titleAttrs" /> + </xs:complexType> + + <xs:element name="resource" type="xlink:resourceType" + abstract="true" /> + + <xs:attributeGroup name="resourceAttrs"> + <xs:attribute ref="xlink:type" fixed="resource" use="required" /> + <xs:attribute ref="xlink:role" /> + <xs:attribute ref="xlink:title" /> + <xs:attribute ref="xlink:label" /> + </xs:attributeGroup> + + <xs:group name="resourceModel"> + <xs:sequence> + <xs:any processContents="lax" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:group> + + <xs:complexType mixed="true" name="resourceType"> + <xs:group ref="xlink:resourceModel" /> + <xs:attributeGroup ref="xlink:resourceAttrs" /> + </xs:complexType> + + <xs:element name="locator" type="xlink:locatorType" + abstract="true" /> + + <xs:attributeGroup name="locatorAttrs"> + <xs:attribute ref="xlink:type" fixed="locator" use="required" /> + <xs:attribute ref="xlink:href" use="required" /> + <xs:attribute ref="xlink:role" /> + <xs:attribute ref="xlink:title" /> + <xs:attribute ref="xlink:label"> + <xs:annotation> + <xs:documentation> + label is not required, but locators have no particular + XLink function if they are not labeled. + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:attributeGroup> + + <xs:group name="locatorModel"> + <xs:sequence> + <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:group> + + <xs:complexType name="locatorType"> + <xs:group ref="xlink:locatorModel" /> + <xs:attributeGroup ref="xlink:locatorAttrs" /> + </xs:complexType> + + <xs:element name="arc" type="xlink:arcType" abstract="true" /> + + <xs:attributeGroup name="arcAttrs"> + <xs:attribute ref="xlink:type" fixed="arc" use="required" /> + <xs:attribute ref="xlink:arcrole" /> + <xs:attribute ref="xlink:title" /> + <xs:attribute ref="xlink:show" /> + <xs:attribute ref="xlink:actuate" /> + <xs:attribute ref="xlink:from" /> + <xs:attribute ref="xlink:to"> + <xs:annotation> + <xs:documentation> + from and to have default behavior when values are missing + </xs:documentation> + </xs:annotation> + </xs:attribute> + </xs:attributeGroup> + + <xs:group name="arcModel"> + <xs:sequence> + <xs:element ref="xlink:title" minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:group> + + <xs:complexType name="arcType"> + <xs:group ref="xlink:arcModel" /> + <xs:attributeGroup ref="xlink:arcAttrs" /> + </xs:complexType> + +</xs:schema> diff --git a/ui/ui-pastis/src/main/resources/xsd_validation/xml.xsd b/ui/ui-pastis/src/main/resources/xsd_validation/xml.xsd new file mode 100644 index 0000000000000000000000000000000000000000..e1dd122301481834f1cefc932a94d3266fdc7a22 --- /dev/null +++ b/ui/ui-pastis/src/main/resources/xsd_validation/xml.xsd @@ -0,0 +1,315 @@ +<?xml version='1.0'?> +<?xml-stylesheet href="../2008/09/xsd.xsl" type="text/xsl"?> +<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" + xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.w3.org/1999/xhtml" + xml:lang="en"> + + <xs:annotation> + <xs:documentation> + <div> + <h1>About the XML namespace</h1> + + <div class="bodytext"> + <p> + This schema document describes the XML namespace, in a form + suitable for import by other schema documents. + </p> + <p> + See + <a href="http://www.w3.org/XML/1998/namespace.html"> + http://www.w3.org/XML/1998/namespace.html</a> + and + <a href="http://www.w3.org/TR/REC-xml"> + http://www.w3.org/TR/REC-xml</a> + for information + about this namespace. + </p> + <p> + Note that local names in this namespace are intended to be + defined only by the World Wide Web Consortium or its subgroups. + The names currently defined in this namespace are listed below. + They should not be used with conflicting semantics by any Working + Group, specification, or document instance. + </p> + <p> + See further below in this document for more information about + <a href="#usage">how to refer to this schema document from your own + XSD schema documents</a> + and about + <a href="#nsversioning">the + namespace-versioning policy governing this schema document</a> + . + </p> + </div> + </div> + </xs:documentation> + </xs:annotation> + + <xs:attribute name="lang"> + <xs:annotation> + <xs:documentation> + <div> + + <h3>lang (as an attribute name)</h3> + <p> + denotes an attribute whose value + is a language code for the natural language of the content of + any element; its value is inherited. This name is reserved + by virtue of its definition in the XML specification.</p> + + </div> + <div> + <h4>Notes</h4> + <p> + Attempting to install the relevant ISO 2- and 3-letter + codes as the enumerated possible values is probably never + going to be a realistic possibility. + </p> + <p> + See BCP 47 at + <a href="http://www.rfc-editor.org/rfc/bcp/bcp47.txt"> + http://www.rfc-editor.org/rfc/bcp/bcp47.txt</a> + and the IANA language subtag registry at + <a href="http://www.iana.org/assignments/language-subtag-registry"> + http://www.iana.org/assignments/language-subtag-registry</a> + for further information. + </p> + <p> + The union allows for the 'un-declaration' of xml:lang with + the empty string. + </p> + </div> + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:union memberTypes="xs:language"> + <xs:simpleType> + <xs:restriction base="xs:string"> + <xs:enumeration value="" /> + </xs:restriction> + </xs:simpleType> + </xs:union> + </xs:simpleType> + </xs:attribute> + + <xs:attribute name="space"> + <xs:annotation> + <xs:documentation> + <div> + + <h3>space (as an attribute name)</h3> + <p> + denotes an attribute whose + value is a keyword indicating what whitespace processing + discipline is intended for the content of the element; its + value is inherited. This name is reserved by virtue of its + definition in the XML specification.</p> + + </div> + </xs:documentation> + </xs:annotation> + <xs:simpleType> + <xs:restriction base="xs:NCName"> + <xs:enumeration value="default" /> + <xs:enumeration value="preserve" /> + </xs:restriction> + </xs:simpleType> + </xs:attribute> + + <xs:attribute name="base" type="xs:anyURI"> + <xs:annotation> + <xs:documentation> + <div> + + <h3>base (as an attribute name)</h3> + <p> + denotes an attribute whose value + provides a URI to be used as the base for interpreting any + relative URIs in the scope of the element on which it + appears; its value is inherited. This name is reserved + by virtue of its definition in the XML Base specification.</p> + + <p> + See + <a href="http://www.w3.org/TR/xmlbase/">http://www.w3.org/TR/xmlbase/</a> + for information about this attribute. + </p> + </div> + </xs:documentation> + </xs:annotation> + </xs:attribute> + + <xs:attribute name="id" type="xs:ID"> + <xs:annotation> + <xs:documentation> + <div> + + <h3>id (as an attribute name)</h3> + <p> + denotes an attribute whose value + should be interpreted as if declared to be of type ID. + This name is reserved by virtue of its definition in the + xml:id specification.</p> + + <p> + See + <a href="http://www.w3.org/TR/xml-id/">http://www.w3.org/TR/xml-id/</a> + for information about this attribute. + </p> + </div> + </xs:documentation> + </xs:annotation> + </xs:attribute> + + <xs:attributeGroup name="specialAttrs"> + <xs:attribute ref="xml:base" /> + <xs:attribute ref="xml:lang" /> + <xs:attribute ref="xml:space" /> + <xs:attribute ref="xml:id" /> + </xs:attributeGroup> + + <xs:annotation> + <xs:documentation> + <div> + + <h3>Father (in any context at all)</h3> + + <div class="bodytext"> + <p> + denotes Jon Bosak, the chair of + the original XML Working Group. This name is reserved by + the following decision of the W3C XML Plenary and + XML Coordination groups: + </p> + <blockquote> + <p> + In appreciation for his vision, leadership and + dedication the W3C XML Plenary on this 10th day of + February, 2000, reserves for Jon Bosak in perpetuity + the XML name "xml:Father". + </p> + </blockquote> + </div> + </div> + </xs:documentation> + </xs:annotation> + + <xs:annotation> + <xs:documentation> + <div xml:id="usage" id="usage"> + <h2> + <a name="usage">About this schema document</a> + </h2> + + <div class="bodytext"> + <p> + This schema defines attributes and an attribute group suitable + for use by schemas wishing to allow + <code>xml:base</code> + , + <code>xml:lang</code> + , + <code>xml:space</code> + or + <code>xml:id</code> + attributes on elements they define. + </p> + <p> + To enable this, such a schema must import this schema for + the XML namespace, e.g. as follows: + </p> + <pre> + <schema . . .> + . . . + <import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/xml.xsd"/> + </pre> + <p> + or + </p> + <pre> + <import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2009/01/xml.xsd"/> + </pre> + <p> + Subsequently, qualified reference to any of the attributes or the + group defined below will have the desired effect, e.g. + </p> + <pre> + <type . . .> + . . . + <attributeGroup ref="xml:specialAttrs"/> + </pre> + <p> + will define a type which will schema-validate an instance element + with any of those attributes. + </p> + </div> + </div> + </xs:documentation> + </xs:annotation> + + <xs:annotation> + <xs:documentation> + <div id="nsversioning" xml:id="nsversioning"> + <h2> + <a name="nsversioning">Versioning policy for this schema document</a> + </h2> + <div class="bodytext"> + <p> + In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + <a href="http://www.w3.org/2009/01/xml.xsd"> + http://www.w3.org/2009/01/xml.xsd</a> + . + </p> + <p> + At the date of issue it can also be found at + <a href="http://www.w3.org/2001/xml.xsd"> + http://www.w3.org/2001/xml.xsd</a> + . + </p> + <p> + The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML + Schema itself, or with the XML namespace itself. In other words, + if the XML Schema or XML namespaces change, the version of this + document at + <a href="http://www.w3.org/2001/xml.xsd"> + http://www.w3.org/2001/xml.xsd + </a> + will change accordingly; the version at + <a href="http://www.w3.org/2009/01/xml.xsd"> + http://www.w3.org/2009/01/xml.xsd + </a> + will not change. + </p> + <p> + Previous dated (and unchanging) versions of this schema + document are at: + </p> + <ul> + <li> + <a href="http://www.w3.org/2009/01/xml.xsd"> + http://www.w3.org/2009/01/xml.xsd</a> + </li> + <li> + <a href="http://www.w3.org/2007/08/xml.xsd"> + http://www.w3.org/2007/08/xml.xsd</a> + </li> + <li> + <a href="http://www.w3.org/2004/10/xml.xsd"> + http://www.w3.org/2004/10/xml.xsd</a> + </li> + <li> + <a href="http://www.w3.org/2001/03/xml.xsd"> + http://www.w3.org/2001/03/xml.xsd</a> + </li> + </ul> + </div> + </div> + </xs:documentation> + </xs:annotation> + +</xs:schema> + diff --git a/ui/ui-pastis/src/main/webapp/WEB-INF/web.xml b/ui/ui-pastis/src/main/webapp/WEB-INF/web.xml new file mode 100644 index 0000000000000000000000000000000000000000..f63b29454b0ee0582b30290955b3db32833892fc --- /dev/null +++ b/ui/ui-pastis/src/main/webapp/WEB-INF/web.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" + xmlns="http://java.sun.com/xml/ns/javaee" + xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" + id="WebApp_ID" version="3.0"> + <display-name>PASTIS</display-name> + <welcome-file-list> + <welcome-file>index.html</welcome-file> + <welcome-file>index.htm</welcome-file> + <welcome-file>index.jsp</welcome-file> + <welcome-file>default.html</welcome-file> + <welcome-file>default.htm</welcome-file> + <welcome-file>default.jsp</welcome-file> + </welcome-file-list> +</web-app> \ No newline at end of file diff --git a/ui/ui-pastis/src/main/webapp/index.html b/ui/ui-pastis/src/main/webapp/index.html new file mode 100644 index 0000000000000000000000000000000000000000..31f7cd8003e5908292cfb1e392250cd1f2054983 --- /dev/null +++ b/ui/ui-pastis/src/main/webapp/index.html @@ -0,0 +1,13 @@ +<html lang="fr-FR"> +<head> +<meta charset="UTF-8"> +<meta http-equiv="X-UA-Compatible" content="IE=edge"> +<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"> +<title>CINES | PASTIS REST API</title> +<meta name="robots" content="noindex,follow"> + +</head> +<body> + +</body> +</html> \ No newline at end of file diff --git a/ui/ui-pastis/src/test/java/fr/gouv/vitamui/pastis/ManifestValidatorTest.java b/ui/ui-pastis/src/test/java/fr/gouv/vitamui/pastis/ManifestValidatorTest.java new file mode 100644 index 0000000000000000000000000000000000000000..2256397c5fb4855a4a372dd9040c5d0cf10a0ceb --- /dev/null +++ b/ui/ui-pastis/src/test/java/fr/gouv/vitamui/pastis/ManifestValidatorTest.java @@ -0,0 +1,117 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis; + +import com.fasterxml.jackson.databind.ObjectMapper; +import fr.gouv.vitamui.pastis.model.ElementProperties; +import fr.gouv.vitamui.pastis.model.jaxb.*; +import fr.gouv.vitamui.pastis.util.ManifestValidator; +import fr.gouv.vitamui.pastis.util.PastisCustomCharacterEscapeHandler; +import fr.gouv.vitamui.pastis.util.PropertiesUtils; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.junit.runner.RunWith; +import org.springframework.test.context.TestPropertySource; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; +import java.io.*; + +@RunWith(SpringRunner.class) +@TestPropertySource(locations = "/application.properties") +public class ManifestValidatorTest { + + private ManifestValidator manifestValidator; + @Before + public void init(){ + manifestValidator = new ManifestValidator(); + } + + @Rule + public TemporaryFolder tempFolder = new TemporaryFolder(); + + @Test + public void testManifestOK() + throws Exception { + Assert.assertTrue(manifestValidator.checkFileRNG(PropertiesUtils.getResourceAsStream("manifests/manifestOK.xml"), + PropertiesUtils.getResourceFile("manifests/rngProfile.rng"))); + } + + @Test + public void testManifestNOK() + throws Exception { + Assert.assertFalse(manifestValidator.checkFileRNG(PropertiesUtils.getResourceAsStream("manifests/manifestNOK.xml"), + PropertiesUtils.getResourceFile("manifests/rngProfile.rng"))); + } + + /** + * Generate an RNG file from JSON profile + * Test manifest agains this generated RNG file + * @throws IOException + * @throws JAXBException + */ + @Test + public void testManifestAgainstGeneratedRNG() throws IOException, JAXBException { + InputStream jsonInputStream = getClass().getClassLoader().getResourceAsStream("manifests/jsonProfile.json"); + ObjectMapper objectMapper = new ObjectMapper(); + ElementProperties jsonMap = objectMapper.readValue(jsonInputStream, ElementProperties.class); + jsonMap.initTree(jsonMap); + + BaliseXML.buildBaliseXMLTree(jsonMap,0, null); + BaliseXML eparentRng = BaliseXML.baliseXMLStatic; + JAXBContext contextObj = JAXBContext.newInstance(AttributeXML.class, ElementXML.class, DataXML.class, + ValueXML.class, OptionalXML.class, OneOrMoreXML.class, + ZeroOrMoreXML.class, AnnotationXML.class, DocumentationXML.class, + StartXML.class, GrammarXML.class, ChoiceXml.class); + Marshaller marshallerObj = contextObj.createMarshaller(); + marshallerObj.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + marshallerObj.setProperty("com.sun.xml.bind.marshaller.CharacterEscapeHandler", + new PastisCustomCharacterEscapeHandler()); + + File rngProfile = tempFolder.newFile("generatedProfile.rng"); + OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(rngProfile), "UTF-8"); + marshallerObj.marshal(eparentRng, writer); + writer.close(); + + Assert.assertTrue(manifestValidator.checkFileRNG(PropertiesUtils.getResourceAsStream("manifests/manifestOK.xml"), rngProfile)); } +} diff --git a/ui/ui-pastis/src/test/java/fr/gouv/vitamui/pastis/PastisTest.java b/ui/ui-pastis/src/test/java/fr/gouv/vitamui/pastis/PastisTest.java new file mode 100644 index 0000000000000000000000000000000000000000..f01ac38d1cf0f0f72513ab1f6def246ef12c9ab6 --- /dev/null +++ b/ui/ui-pastis/src/test/java/fr/gouv/vitamui/pastis/PastisTest.java @@ -0,0 +1,117 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis; + +import com.fasterxml.jackson.databind.ObjectMapper; +import fr.gouv.vitamui.pastis.model.ElementProperties; +import fr.gouv.vitamui.pastis.model.factory.*; +import fr.gouv.vitamui.pastis.model.jaxb.*; +import fr.gouv.vitamui.pastis.util.PastisCustomCharacterEscapeHandler; +import fr.gouv.vitamui.pastis.util.PastisGetXmlJsonTree; +import fr.gouv.vitamui.pastis.util.PastisMarshaller; +import fr.gouv.vitamui.pastis.util.PastisSAX2Handler; +import org.junit.Assert; +import org.junit.Test; +import org.junit.runner.RunWith; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.test.context.TestPropertySource; +import org.springframework.test.context.junit4.SpringRunner; +import org.xml.sax.SAXException; +import org.xml.sax.XMLReader; +import org.xml.sax.helpers.XMLReaderFactory; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.JAXBException; +import javax.xml.bind.Marshaller; +import java.io.*; +import java.net.URISyntaxException; + +@RunWith(SpringRunner.class) +@TestPropertySource(locations = "/application.properties") +public class PastisTest { + + private static final Logger LOGGER = LoggerFactory.getLogger(PastisTest.class); + + public PastisMarshaller pastisMarshaller = new PastisMarshaller(); + + @Value("${rng.base.file}") + private String rngFileName; + + @Value("${json.base.file}") + private String jsonFileName; + + @Test + public void testIfRngIsPresent() throws FileNotFoundException { + InputStream os = getClass().getClassLoader().getResourceAsStream(this.rngFileName); + } + + @Test + public void testIfRngCanBeGenerated() throws IOException, JAXBException { + // Map a json from file to ElementProperties object + InputStream jsonInputStream = getClass().getClassLoader().getResourceAsStream(jsonFileName); + ObjectMapper objectMapper = new ObjectMapper(); + ElementProperties mappedJson = objectMapper.readValue(jsonInputStream, ElementProperties.class); + mappedJson.initTree(mappedJson); + + String responseFromMarshaller = pastisMarshaller.getMarshalledObject(mappedJson); + Assert.assertFalse("RNG profile generated successfully", responseFromMarshaller.isEmpty()); + } + + @Test + public void testIfJSONCanBeGenerated() throws IOException, JAXBException, URISyntaxException,SAXException { + + PastisSAX2Handler handler = new PastisSAX2Handler(); + PastisGetXmlJsonTree getJson = new PastisGetXmlJsonTree(); + + XMLReader xmlReader = XMLReaderFactory.createXMLReader(); + xmlReader.setContentHandler(handler); + + ClassLoader loader = ClassLoader.getSystemClassLoader(); + + xmlReader.parse(loader.getResource(this.rngFileName).toURI().toString()); + String jsonTree = getJson.getJsonParsedTreeTest(handler.elementRNGRoot); + + Assert.assertNotNull("JSON profile generated successfully",jsonTree); + + } + + + +} diff --git a/ui/ui-pastis/src/test/java/fr/gouv/vitamui/pastis/RNGProfileValidatorTest.java b/ui/ui-pastis/src/test/java/fr/gouv/vitamui/pastis/RNGProfileValidatorTest.java new file mode 100644 index 0000000000000000000000000000000000000000..37051997f3988b54d6b05aa511ffe0ed53a3fb64 --- /dev/null +++ b/ui/ui-pastis/src/test/java/fr/gouv/vitamui/pastis/RNGProfileValidatorTest.java @@ -0,0 +1,129 @@ +/* +Copyright © CINES - Centre Informatique National pour l'Enseignement Supérieur (2020) + +[dad@cines.fr] + +This software is a computer program whose purpose is to provide +a web application to create, edit, import and export archive +profiles based on the french SEDA standard +(https://redirect.francearchives.fr/seda/). + + +This software is governed by the CeCILL-C license under French law and +abiding by the rules of distribution of free software. You can use, +modify and/ or redistribute the software under the terms of the CeCILL-C +license as circulated by CEA, CNRS and INRIA at the following URL +"http://www.cecill.info". + +As a counterpart to the access to the source code and rights to copy, +modify and redistribute granted by the license, users are provided only +with a limited warranty and the software's author, the holder of the +economic rights, and the successive licensors have only limited +liability. + +In this respect, the user's attention is drawn to the risks associated +with loading, using, modifying and/or developing or reproducing the +software by the user in light of its specific status of free software, +that may mean that it is complicated to manipulate, and that also +therefore means that it is reserved for developers and experienced +professionals having in-depth computer knowledge. Users are therefore +encouraged to load and test the software's suitability as regards their +requirements in conditions enabling the security of their systems and/or +data to be ensured and, more generally, to use and operate it in the +same conditions as regards security. + +The fact that you are presently reading this means that you have had +knowledge of the CeCILL-C license and that you accept its terms. +*/ +package fr.gouv.vitamui.pastis; + +import com.fasterxml.jackson.databind.ObjectMapper; +import fr.gouv.vitamui.pastis.model.ElementProperties; +import fr.gouv.vitamui.pastis.model.jaxb.*; +import fr.gouv.vitamui.pastis.util.PastisCustomCharacterEscapeHandler; +import fr.gouv.vitamui.pastis.util.PropertiesUtils; +import fr.gouv.vitamui.pastis.util.RNGProfileValidator; +import org.junit.Assert; +import org.junit.Before; +import org.junit.Rule; +import org.junit.Test; +import org.junit.rules.TemporaryFolder; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.test.context.TestPropertySource; +import org.springframework.test.context.junit4.SpringRunner; + +import javax.xml.bind.JAXBContext; +import javax.xml.bind.Marshaller; +import java.io.File; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.OutputStreamWriter; + +@RunWith(SpringRunner.class) +@TestPropertySource(locations = "/application.properties") +public class RNGProfileValidatorTest { + + private RNGProfileValidator rngProfileValidator; + + @Value("${json.base.file}") + private String jsonFileName; + + @Rule + public TemporaryFolder tempFolder = new TemporaryFolder(); + + @Before + public void init(){ + rngProfileValidator = new RNGProfileValidator(); + } + + @Test + /** + * Test s'assurant que la librairie de validation de fichier RNG est opérationnelle + */ + public void validateRNGProfileOK() throws Exception { + File fileProfileXsd = PropertiesUtils.getResourceFile("profiles/profile_ok.rng"); + + Assert.assertTrue(rngProfileValidator.validateRNG(fileProfileXsd,"")); + } + + @Test + /** + * Test s'assurant que la librairie de validation de fichier RNG est opérationnelle + */ + public void validateRNGProfileNOK() throws Exception { + File fileProfileXsd = PropertiesUtils.getResourceFile("profiles/profile_nok.rng"); + + Assert.assertFalse(rngProfileValidator.validateRNG(fileProfileXsd, "")); + } + + @Test + /** + * Génère un profil RNG depuis un fichier JSON et valide ce profil + */ + public void validateGeneratedRNGProfileFromJSON() throws Exception { + + InputStream jsonInputStream = getClass().getClassLoader().getResourceAsStream(jsonFileName); + ObjectMapper objectMapper = new ObjectMapper(); + ElementProperties jsonMap = objectMapper.readValue(jsonInputStream, ElementProperties.class); + jsonMap.initTree(jsonMap); + + BaliseXML.buildBaliseXMLTree(jsonMap,0, null); + BaliseXML eparentRng = BaliseXML.baliseXMLStatic; + JAXBContext contextObj = JAXBContext.newInstance(AttributeXML.class, ElementXML.class, DataXML.class, + ValueXML.class, OptionalXML.class, OneOrMoreXML.class, + ZeroOrMoreXML.class, AnnotationXML.class, DocumentationXML.class, + StartXML.class, GrammarXML.class, ChoiceXml.class); + Marshaller marshallerObj = contextObj.createMarshaller(); + marshallerObj.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); + marshallerObj.setProperty("com.sun.xml.bind.marshaller.CharacterEscapeHandler", + new PastisCustomCharacterEscapeHandler()); + + File rngProfile = tempFolder.newFile(); + OutputStreamWriter writer = new OutputStreamWriter(new FileOutputStream(rngProfile), "UTF-8"); + marshallerObj.marshal(eparentRng, writer); + writer.close(); + + Assert.assertTrue(rngProfileValidator.validateRNG(rngProfile,"")); + } +} diff --git a/ui/ui-pastis/src/test/resources/application.properties b/ui/ui-pastis/src/test/resources/application.properties new file mode 100644 index 0000000000000000000000000000000000000000..8ca1fb0ca10ef75585b2d827bbabb42eca44a41b --- /dev/null +++ b/ui/ui-pastis/src/test/resources/application.properties @@ -0,0 +1,4 @@ +#Pastis rest api +rng.base.file=rng/Profil_CINES_complet_2-1_v3.rng +json.base.file=rng/ProfileJson.json + diff --git a/ui/ui-pastis/src/test/resources/manifests/jsonProfile.json b/ui/ui-pastis/src/test/resources/manifests/jsonProfile.json new file mode 100644 index 0000000000000000000000000000000000000000..e4fea2eba85db843919a329ef1f4d878e75b3ade --- /dev/null +++ b/ui/ui-pastis/src/test/resources/manifests/jsonProfile.json @@ -0,0 +1,4541 @@ + + { + "name":"ArchiveTransfer", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":0, + "id":544, + "parentId":null, + "choices":[ + + ], + "children":[ + { + "name":"Date", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"dateTime", + "value":null, + "documentation":null, + "level":1, + "id":545, + "parentId":544, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"MessageIdentifier", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":1, + "id":546, + "parentId":544, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"ArchivalAgreement", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"IN-UPPA-0", + "documentation":null, + "level":1, + "id":547, + "parentId":544, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"CodeListVersions", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":1, + "id":548, + "parentId":544, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"DataObjectPackage", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":1, + "id":549, + "parentId":544, + "choices":[ + + ], + "children":[ + { + "name":"DataObjectGroup", + "type":"element", + "cardinality":"1-N", + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":2, + "id":550, + "parentId":549, + "choices":[ + + ], + "children":[ + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":3, + "id":551, + "parentId":550, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"BinaryDataObject", + "type":"element", + "cardinality":"0-N", + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":3, + "id":552, + "parentId":550, + "choices":[ + + ], + "children":[ + { + "name":"DataObjectVersion", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"BinaryMaster par défaut", + "level":4, + "id":553, + "parentId":552, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Uri", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"anyURI", + "value":null, + "documentation":null, + "level":4, + "id":554, + "parentId":552, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"MessageDigest", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"base64Binary", + "value":null, + "documentation":null, + "level":4, + "id":555, + "parentId":552, + "choices":[ + + ], + "children":[ + { + "name":"algorithm", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":5, + "id":556, + "parentId":555, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"Size", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":4, + "id":557, + "parentId":552, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"FormatIdentification", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":4, + "id":558, + "parentId":552, + "choices":[ + + ], + "children":[ + { + "name":"FormatLitteral", + "type":"element", + "cardinality":"0-1", + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":5, + "id":559, + "parentId":558, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"FormatId", + "type":"element", + "cardinality":"0-1", + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":5, + "id":560, + "parentId":558, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"FileInfo", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":4, + "id":561, + "parentId":552, + "choices":[ + + ], + "children":[ + { + "name":"Filename", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":5, + "id":562, + "parentId":561, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":4, + "id":563, + "parentId":552, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + }, + { + "name":"DescriptiveMetadata", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":2, + "id":564, + "parentId":549, + "choices":[ + + ], + "children":[ + { + "name":"ArchiveUnit", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":"Séance du conseil d'administration", + "level":3, + "id":565, + "parentId":564, + "choices":[ + + ], + "children":[ + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":4, + "id":566, + "parentId":565, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Content", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":4, + "id":567, + "parentId":565, + "choices":[ + + ], + "children":[ + { + "name":"DescriptionLevel", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"File", + "documentation":null, + "level":5, + "id":568, + "parentId":567, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Title", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"string", + "value":null, + "documentation":null, + "level":5, + "id":569, + "parentId":567, + "choices":[ + + ], + "children":[ + { + "name":"xml:lang", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"language", + "value":"fra", + "documentation":null, + "level":6, + "id":570, + "parentId":569, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"OriginatingSystemId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"ID-SI-prod", + "level":5, + "id":571, + "parentId":567, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Description", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Ces documents sont archivés dans le but d'une conservation des décisions du conseil d'administration.", + "documentation":null, + "level":5, + "id":572, + "parentId":567, + "choices":[ + + ], + "children":[ + { + "name":"xml:lang", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"language", + "value":null, + "documentation":null, + "level":6, + "id":573, + "parentId":572, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"CustodialHistory", + "type":"element", + "cardinality":"0-1", + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":5, + "id":574, + "parentId":567, + "choices":[ + + ], + "children":[ + { + "name":"CustodialHistoryItem", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Ces archives sont transférées à l'initiative de la Direction des affaires juridiques directement vers le SAE externalisé pour conservation et après validation de l'archiviste de l'UPPA", + "documentation":null, + "level":6, + "id":575, + "parentId":574, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"Language", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"fra", + "documentation":null, + "level":5, + "id":576, + "parentId":567, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Tag", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Organe délibérant", + "documentation":null, + "level":5, + "id":577, + "parentId":567, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Tag", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Conseil d'administration", + "documentation":null, + "level":5, + "id":578, + "parentId":567, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"CreatedDate", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"Date de tenue du CA", + "level":5, + "id":579, + "parentId":567, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"StartDate", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"Date de tenue du CA", + "level":5, + "id":580, + "parentId":567, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"EndDate", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"Date de tenue du CA", + "level":5, + "id":581, + "parentId":567, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"ArchiveUnit", + "type":"element", + "cardinality":"0-N", + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":"Procurations", + "level":4, + "id":582, + "parentId":565, + "choices":[ + + ], + "children":[ + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":5, + "id":583, + "parentId":582, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Content", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":5, + "id":584, + "parentId":582, + "choices":[ + + ], + "children":[ + { + "name":"DescriptionLevel", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Item", + "documentation":null, + "level":6, + "id":585, + "parentId":584, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Title", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"string", + "value":null, + "documentation":null, + "level":6, + "id":586, + "parentId":584, + "choices":[ + + ], + "children":[ + { + "name":"xml:lang", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"language", + "value":"fra", + "documentation":null, + "level":7, + "id":587, + "parentId":586, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"OriginatingSystemId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"ID-SI-prod", + "level":6, + "id":588, + "parentId":584, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Tag", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Procuration", + "documentation":null, + "level":6, + "id":589, + "parentId":584, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"DataObjectReference", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":5, + "id":590, + "parentId":582, + "choices":[ + + ], + "children":[ + { + "name":"DataObjectGroupReferenceId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":6, + "id":591, + "parentId":590, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + }, + { + "name":"ArchiveUnit", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":"Convocation-OJ", + "level":4, + "id":592, + "parentId":565, + "choices":[ + + ], + "children":[ + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":5, + "id":593, + "parentId":592, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Content", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":5, + "id":594, + "parentId":592, + "choices":[ + + ], + "children":[ + { + "name":"DescriptionLevel", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Item", + "documentation":null, + "level":6, + "id":595, + "parentId":594, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Title", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"string", + "value":"Convocation-OJ", + "documentation":null, + "level":6, + "id":596, + "parentId":594, + "choices":[ + + ], + "children":[ + { + "name":"xml:lang", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"language", + "value":"fra", + "documentation":null, + "level":7, + "id":597, + "parentId":596, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"OriginatingSystemId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"ID-SI-prod", + "level":6, + "id":598, + "parentId":594, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Signature", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":6, + "id":599, + "parentId":594, + "choices":[ + + ], + "children":[ + { + "name":"Signer", + "type":"element", + "cardinality":"1-N", + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":7, + "id":600, + "parentId":599, + "choices":[ + + ], + "children":[ + { + "name":"FullName", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"string", + "value":null, + "documentation":null, + "level":8, + "id":601, + "parentId":600, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"SigningTime", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"dateTime", + "value":null, + "documentation":null, + "level":8, + "id":602, + "parentId":600, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Function", + "type":"element", + "cardinality":"0-1", + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"string", + "value":null, + "documentation":null, + "level":8, + "id":603, + "parentId":600, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"Validator", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":7, + "id":604, + "parentId":599, + "choices":[ + + ], + "children":[ + { + "name":"FullName", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"string", + "value":null, + "documentation":null, + "level":8, + "id":605, + "parentId":604, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"ValidationTime", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"dateTime", + "value":null, + "documentation":null, + "level":8, + "id":606, + "parentId":604, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Function", + "type":"element", + "cardinality":"0-1", + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"string", + "value":null, + "documentation":null, + "level":8, + "id":607, + "parentId":604, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"ReferencedObject", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":7, + "id":608, + "parentId":599, + "choices":[ + + ], + "children":[ + { + "name":"SignedObjectId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":8, + "id":609, + "parentId":608, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"SignedObjectDigest", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":8, + "id":610, + "parentId":608, + "choices":[ + + ], + "children":[ + { + "name":"algorithm", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":9, + "id":611, + "parentId":610, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name":"DataObjectReference", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":5, + "id":612, + "parentId":592, + "choices":[ + + ], + "children":[ + { + "name":"DataObjectGroupReferenceId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":6, + "id":613, + "parentId":612, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + }, + { + "name":"ArchiveUnit", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":"Feuille d'émargement-élus", + "level":4, + "id":614, + "parentId":565, + "choices":[ + + ], + "children":[ + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":5, + "id":615, + "parentId":614, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Content", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":5, + "id":616, + "parentId":614, + "choices":[ + + ], + "children":[ + { + "name":"DescriptionLevel", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Item", + "documentation":null, + "level":6, + "id":617, + "parentId":616, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Title", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"string", + "value":"Feuille d'émargement-élus", + "documentation":null, + "level":6, + "id":618, + "parentId":616, + "choices":[ + + ], + "children":[ + { + "name":"xml:lang", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"language", + "value":"fra", + "documentation":null, + "level":7, + "id":619, + "parentId":618, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"OriginatingSystemId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"ID-SI-prod", + "level":6, + "id":620, + "parentId":616, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"DataObjectReference", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":5, + "id":621, + "parentId":614, + "choices":[ + + ], + "children":[ + { + "name":"DataObjectGroupReferenceId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":6, + "id":622, + "parentId":621, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + }, + { + "name":"ArchiveUnit", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":"Feuille d'émargement-membres consultatifs", + "level":4, + "id":623, + "parentId":565, + "choices":[ + + ], + "children":[ + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":5, + "id":624, + "parentId":623, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Content", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":5, + "id":625, + "parentId":623, + "choices":[ + + ], + "children":[ + { + "name":"DescriptionLevel", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Item", + "documentation":null, + "level":6, + "id":626, + "parentId":625, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Title", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"string", + "value":"Feuille d'émargement-membres consultatifs", + "documentation":null, + "level":6, + "id":627, + "parentId":625, + "choices":[ + + ], + "children":[ + { + "name":"xml:lang", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"language", + "value":"fra", + "documentation":null, + "level":7, + "id":628, + "parentId":627, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"OriginatingSystemId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"ID-SI-prod", + "level":6, + "id":629, + "parentId":625, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"DataObjectReference", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":5, + "id":630, + "parentId":623, + "choices":[ + + ], + "children":[ + { + "name":"DataObjectGroupReferenceId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":6, + "id":631, + "parentId":630, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + }, + { + "name":"ArchiveUnit", + "type":"element", + "cardinality":"0-1", + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":"Enregistrement audio", + "level":4, + "id":632, + "parentId":565, + "choices":[ + + ], + "children":[ + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":5, + "id":633, + "parentId":632, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Management", + "type":"element", + "cardinality":"0-1", + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":5, + "id":634, + "parentId":632, + "choices":[ + + ], + "children":[ + { + "name":"AppraisalRule", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":6, + "id":635, + "parentId":634, + "choices":[ + + ], + "children":[ + { + "name":"Rule", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"APP-00015", + "documentation":"DUA 15 ans", + "level":7, + "id":636, + "parentId":635, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"StartDate", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":7, + "id":637, + "parentId":635, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"FinalAction", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Destroy", + "documentation":null, + "level":7, + "id":638, + "parentId":635, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"AccessRule", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":6, + "id":639, + "parentId":634, + "choices":[ + + ], + "children":[ + { + "name":"Rule", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"ACC-00020", + "documentation":null, + "level":7, + "id":640, + "parentId":639, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"StartDate", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":7, + "id":641, + "parentId":639, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + }, + { + "name":"Content", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":5, + "id":642, + "parentId":632, + "choices":[ + + ], + "children":[ + { + "name":"DescriptionLevel", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Item", + "documentation":null, + "level":6, + "id":643, + "parentId":642, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Title", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"string", + "value":"Enregistrement audio", + "documentation":null, + "level":6, + "id":644, + "parentId":642, + "choices":[ + + ], + "children":[ + { + "name":"xml:lang", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"language", + "value":"fra", + "documentation":null, + "level":7, + "id":645, + "parentId":644, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"OriginatingSystemId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"ID-SI-prod", + "level":6, + "id":646, + "parentId":642, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"DataObjectReference", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":5, + "id":647, + "parentId":632, + "choices":[ + + ], + "children":[ + { + "name":"DataObjectGroupReferenceId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":6, + "id":648, + "parentId":647, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + }, + { + "name":"ArchiveUnit", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":"Relevé de conclusions", + "level":4, + "id":649, + "parentId":565, + "choices":[ + + ], + "children":[ + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":5, + "id":650, + "parentId":649, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Content", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":5, + "id":651, + "parentId":649, + "choices":[ + + ], + "children":[ + { + "name":"DescriptionLevel", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Item", + "documentation":null, + "level":6, + "id":652, + "parentId":651, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Title", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"string", + "value":"Relevé de conclusions", + "documentation":null, + "level":6, + "id":653, + "parentId":651, + "choices":[ + + ], + "children":[ + { + "name":"xml:lang", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"language", + "value":"fra", + "documentation":null, + "level":7, + "id":654, + "parentId":653, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"OriginatingSystemId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"ID-SI-prod", + "level":6, + "id":655, + "parentId":651, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"DataObjectReference", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":5, + "id":656, + "parentId":649, + "choices":[ + + ], + "children":[ + { + "name":"DataObjectGroupReferenceId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":6, + "id":657, + "parentId":656, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + }, + { + "name":"ArchiveUnit", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":"Accusé de réception du rectorat", + "level":4, + "id":658, + "parentId":565, + "choices":[ + + ], + "children":[ + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":5, + "id":659, + "parentId":658, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Content", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":5, + "id":660, + "parentId":658, + "choices":[ + + ], + "children":[ + { + "name":"DescriptionLevel", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Item", + "documentation":null, + "level":6, + "id":661, + "parentId":660, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Title", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"string", + "value":"Accusé de réception du rectorat", + "documentation":null, + "level":6, + "id":662, + "parentId":660, + "choices":[ + + ], + "children":[ + { + "name":"xml:lang", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"language", + "value":"fra", + "documentation":null, + "level":7, + "id":663, + "parentId":662, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"OriginatingSystemId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"ID-SI-prod", + "level":6, + "id":664, + "parentId":660, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"DataObjectReference", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":5, + "id":665, + "parentId":658, + "choices":[ + + ], + "children":[ + { + "name":"DataObjectGroupReferenceId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":6, + "id":666, + "parentId":665, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + }, + { + "name":"ArchiveUnit", + "type":"element", + "cardinality":"1-N", + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":"Point OJ", + "level":4, + "id":667, + "parentId":565, + "choices":[ + + ], + "children":[ + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":5, + "id":668, + "parentId":667, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Content", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":5, + "id":669, + "parentId":667, + "choices":[ + + ], + "children":[ + { + "name":"DescriptionLevel", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"File", + "documentation":null, + "level":6, + "id":670, + "parentId":669, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Title", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"Intitulé du point à l'OJ", + "level":6, + "id":671, + "parentId":669, + "choices":[ + + ], + "children":[ + { + "name":"xml:lang", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"language", + "value":"fra", + "documentation":null, + "level":7, + "id":672, + "parentId":671, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"Tag", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Point OJ", + "documentation":null, + "level":6, + "id":673, + "parentId":669, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Tag", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"Point n°", + "level":6, + "id":674, + "parentId":669, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Tag", + "type":"element", + "cardinality":"0-N", + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"Mot-clés ordre du jour", + "level":6, + "id":675, + "parentId":669, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"ArchiveUnit", + "type":"element", + "cardinality":"0-N", + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":"PV CA antérieur", + "level":5, + "id":676, + "parentId":667, + "choices":[ + + ], + "children":[ + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":6, + "id":677, + "parentId":676, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Content", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":6, + "id":678, + "parentId":676, + "choices":[ + + ], + "children":[ + { + "name":"DescriptionLevel", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Item", + "documentation":null, + "level":7, + "id":679, + "parentId":678, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Title", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":7, + "id":680, + "parentId":678, + "choices":[ + + ], + "children":[ + { + "name":"xml:lang", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"language", + "value":"fra", + "documentation":null, + "level":8, + "id":681, + "parentId":680, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"OriginatingSystemId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"ID-SI-prod", + "level":7, + "id":682, + "parentId":678, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Status", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"\"Voté\" ou \"Non voté\"", + "level":7, + "id":683, + "parentId":678, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Tag", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"PV", + "documentation":null, + "level":7, + "id":684, + "parentId":678, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"DataObjectReference", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":6, + "id":685, + "parentId":676, + "choices":[ + + ], + "children":[ + { + "name":"DataObjectGroupReferenceId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":7, + "id":686, + "parentId":685, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + }, + { + "name":"ArchiveUnit", + "type":"element", + "cardinality":"0-N", + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":"Extrait", + "level":5, + "id":687, + "parentId":667, + "choices":[ + + ], + "children":[ + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":6, + "id":688, + "parentId":687, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Content", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":6, + "id":689, + "parentId":687, + "choices":[ + + ], + "children":[ + { + "name":"DescriptionLevel", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"File", + "documentation":null, + "level":7, + "id":690, + "parentId":689, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Title", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":7, + "id":691, + "parentId":689, + "choices":[ + + ], + "children":[ + { + "name":"xml:lang", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"language", + "value":"fra", + "documentation":null, + "level":8, + "id":692, + "parentId":691, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"Tag", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Extrait de délibération", + "documentation":null, + "level":7, + "id":693, + "parentId":689, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"ArchiveUnit", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":"Extrait", + "level":6, + "id":694, + "parentId":687, + "choices":[ + + ], + "children":[ + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":7, + "id":695, + "parentId":694, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Content", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":7, + "id":696, + "parentId":694, + "choices":[ + + ], + "children":[ + { + "name":"DescriptionLevel", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Item", + "documentation":null, + "level":8, + "id":697, + "parentId":696, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Title", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":8, + "id":698, + "parentId":696, + "choices":[ + + ], + "children":[ + { + "name":"xml:lang", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"language", + "value":"fra", + "documentation":null, + "level":9, + "id":699, + "parentId":698, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"OriginatingSystemId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"ID-SI-prod", + "level":8, + "id":700, + "parentId":696, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Signature", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":8, + "id":701, + "parentId":696, + "choices":[ + + ], + "children":[ + { + "name":"Signer", + "type":"element", + "cardinality":"1-N", + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":9, + "id":702, + "parentId":701, + "choices":[ + + ], + "children":[ + { + "name":"FullName", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"string", + "value":null, + "documentation":null, + "level":10, + "id":703, + "parentId":702, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"SigningTime", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"dateTime", + "value":null, + "documentation":null, + "level":10, + "id":704, + "parentId":702, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Function", + "type":"element", + "cardinality":"0-1", + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"string", + "value":null, + "documentation":null, + "level":10, + "id":705, + "parentId":702, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"Validator", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":9, + "id":706, + "parentId":701, + "choices":[ + + ], + "children":[ + { + "name":"FullName", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"string", + "value":null, + "documentation":null, + "level":10, + "id":707, + "parentId":706, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"ValidationTime", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"dateTime", + "value":null, + "documentation":null, + "level":10, + "id":708, + "parentId":706, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Function", + "type":"element", + "cardinality":"0-1", + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"string", + "value":null, + "documentation":null, + "level":10, + "id":709, + "parentId":706, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"ReferencedObject", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":9, + "id":710, + "parentId":701, + "choices":[ + + ], + "children":[ + { + "name":"SignedObjectId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":10, + "id":711, + "parentId":710, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"SignedObjectDigest", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":10, + "id":712, + "parentId":710, + "choices":[ + + ], + "children":[ + { + "name":"algorithm", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":11, + "id":713, + "parentId":712, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name":"DataObjectReference", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":7, + "id":714, + "parentId":694, + "choices":[ + + ], + "children":[ + { + "name":"DataObjectGroupReferenceId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":8, + "id":715, + "parentId":714, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + }, + { + "name":"ArchiveUnit", + "type":"element", + "cardinality":"0-N", + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":"Pièces annexes", + "level":6, + "id":716, + "parentId":687, + "choices":[ + + ], + "children":[ + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":7, + "id":717, + "parentId":716, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Content", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":7, + "id":718, + "parentId":716, + "choices":[ + + ], + "children":[ + { + "name":"DescriptionLevel", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Item", + "documentation":null, + "level":8, + "id":719, + "parentId":718, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Title", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":8, + "id":720, + "parentId":718, + "choices":[ + + ], + "children":[ + { + "name":"xml:lang", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"language", + "value":"fra", + "documentation":null, + "level":9, + "id":721, + "parentId":720, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"OriginatingSystemId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"ID-SI-prod", + "level":8, + "id":722, + "parentId":718, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Tag", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Pièce annexe", + "documentation":null, + "level":8, + "id":723, + "parentId":718, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"DataObjectReference", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":7, + "id":724, + "parentId":716, + "choices":[ + + ], + "children":[ + { + "name":"DataObjectGroupReferenceId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":8, + "id":725, + "parentId":724, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + } + ] + }, + { + "name":"ArchiveUnit", + "type":"element", + "cardinality":"0-N", + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":"Pièces annexes", + "level":5, + "id":726, + "parentId":667, + "choices":[ + + ], + "children":[ + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":6, + "id":727, + "parentId":726, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Content", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":6, + "id":728, + "parentId":726, + "choices":[ + + ], + "children":[ + { + "name":"DescriptionLevel", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Item", + "documentation":null, + "level":7, + "id":729, + "parentId":728, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Title", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":7, + "id":730, + "parentId":728, + "choices":[ + + ], + "children":[ + { + "name":"xml:lang", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"language", + "value":"fra", + "documentation":null, + "level":8, + "id":731, + "parentId":730, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"OriginatingSystemId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"ID-SI-prod", + "level":7, + "id":732, + "parentId":728, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Tag", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Pièce annexe", + "documentation":null, + "level":7, + "id":733, + "parentId":728, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"DataObjectReference", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":6, + "id":734, + "parentId":726, + "choices":[ + + ], + "children":[ + { + "name":"DataObjectGroupReferenceId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":7, + "id":735, + "parentId":734, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + }, + { + "name":"ArchiveUnit", + "type":"element", + "cardinality":"0-N", + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":"Convention ou Accord international", + "level":5, + "id":736, + "parentId":667, + "choices":[ + + ], + "children":[ + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":6, + "id":737, + "parentId":736, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Management", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":6, + "id":738, + "parentId":736, + "choices":[ + + ], + "children":[ + { + "name":"AppraisalRule", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":7, + "id":739, + "parentId":738, + "choices":[ + + ], + "children":[ + { + "name":"Rule", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"APP-00015", + "documentation":null, + "level":8, + "id":740, + "parentId":739, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"StartDate", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":8, + "id":741, + "parentId":739, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"FinalAction", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Destroy", + "documentation":null, + "level":8, + "id":742, + "parentId":739, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + }, + { + "name":"Content", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":6, + "id":743, + "parentId":736, + "choices":[ + + ], + "children":[ + { + "name":"DescriptionLevel", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"File", + "documentation":null, + "level":7, + "id":744, + "parentId":743, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Title", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":7, + "id":745, + "parentId":743, + "choices":[ + + ], + "children":[ + { + "name":"xml:lang", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"language", + "value":"fra", + "documentation":null, + "level":8, + "id":746, + "parentId":745, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"Tag", + "type":"element", + "cardinality":"0-1", + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"ACI", + "documentation":null, + "level":7, + "id":747, + "parentId":743, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Tag", + "type":"element", + "cardinality":"0-1", + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Convention", + "documentation":null, + "level":7, + "id":748, + "parentId":743, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Tag", + "type":"element", + "cardinality":"0-1", + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":7, + "id":749, + "parentId":743, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"ArchiveUnit", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":"Convention ou ACI", + "level":6, + "id":750, + "parentId":736, + "choices":[ + + ], + "children":[ + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":7, + "id":751, + "parentId":750, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Content", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":7, + "id":752, + "parentId":750, + "choices":[ + + ], + "children":[ + { + "name":"DescriptionLevel", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Item", + "documentation":null, + "level":8, + "id":753, + "parentId":752, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Title", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":8, + "id":754, + "parentId":752, + "choices":[ + + ], + "children":[ + { + "name":"xml:lang", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"language", + "value":"fra", + "documentation":null, + "level":9, + "id":755, + "parentId":754, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"OriginatingSystemId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"ID-SI-prod", + "level":8, + "id":756, + "parentId":752, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"DataObjectReference", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":7, + "id":757, + "parentId":750, + "choices":[ + + ], + "children":[ + { + "name":"DataObjectGroupReferenceId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":8, + "id":758, + "parentId":757, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + }, + { + "name":"ArchiveUnit", + "type":"element", + "cardinality":"0-N", + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":"Pièces annexes", + "level":6, + "id":759, + "parentId":736, + "choices":[ + + ], + "children":[ + { + "name":"id", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"ID", + "value":null, + "documentation":null, + "level":7, + "id":760, + "parentId":759, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Content", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":7, + "id":761, + "parentId":759, + "choices":[ + + ], + "children":[ + { + "name":"DescriptionLevel", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Item", + "documentation":null, + "level":8, + "id":762, + "parentId":761, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Title", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":8, + "id":763, + "parentId":761, + "choices":[ + + ], + "children":[ + { + "name":"xml:lang", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"language", + "value":"fra", + "documentation":null, + "level":9, + "id":764, + "parentId":763, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"OriginatingSystemId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":"ID-SI-prod", + "level":8, + "id":765, + "parentId":761, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"Tag", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Pièce annexe", + "documentation":null, + "level":8, + "id":766, + "parentId":761, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"DataObjectReference", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":7, + "id":767, + "parentId":759, + "choices":[ + + ], + "children":[ + { + "name":"DataObjectGroupReferenceId", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":8, + "id":768, + "parentId":767, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + } + ] + } + ] + } + ] + } + ] + }, + { + "name":"ManagementMetadata", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":2, + "id":769, + "parentId":549, + "choices":[ + + ], + "children":[ + { + "name":"ArchivalProfile", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"token", + "value":null, + "documentation":null, + "level":3, + "id":770, + "parentId":769, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"OriginatingAgencyIdentifier", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"19640251500270", + "documentation":null, + "level":3, + "id":771, + "parentId":769, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"SubmissionAgencyIdentifier", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"19640251500270", + "documentation":null, + "level":3, + "id":772, + "parentId":769, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"AppraisalRule", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":3, + "id":773, + "parentId":769, + "choices":[ + + ], + "children":[ + { + "name":"Rule", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"APP-00015", + "documentation":"DUA 15 ans", + "level":4, + "id":774, + "parentId":773, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"StartDate", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"date", + "value":null, + "documentation":null, + "level":4, + "id":775, + "parentId":773, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"FinalAction", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"Keep", + "documentation":null, + "level":4, + "id":776, + "parentId":773, + "choices":[ + + ], + "children":[ + + ] + } + ] + }, + { + "name":"AccessRule", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":3, + "id":777, + "parentId":769, + "choices":[ + + ], + "children":[ + { + "name":"Rule", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"ACC-00001", + "documentation":"Librement communicable", + "level":4, + "id":778, + "parentId":777, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"StartDate", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"data", + "dataType":"date", + "value":null, + "documentation":null, + "level":4, + "id":779, + "parentId":777, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + } + ] + }, + { + "name":"ArchivalAgency", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":1, + "id":780, + "parentId":544, + "choices":[ + + ], + "children":[ + { + "name":"Identifier", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"19341594000017", + "documentation":null, + "level":2, + "id":781, + "parentId":780, + "choices":[ + + ], + "children":[ + { + "name":"schemeName", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"SIRET", + "documentation":null, + "level":3, + "id":782, + "parentId":781, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"schemeAgencyName", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"INSEE", + "documentation":null, + "level":3, + "id":783, + "parentId":781, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + }, + { + "name":"TransferringAgency", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":null, + "dataType":null, + "value":null, + "documentation":null, + "level":1, + "id":784, + "parentId":544, + "choices":[ + + ], + "children":[ + { + "name":"Identifier", + "type":"element", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"19640251500270", + "documentation":null, + "level":2, + "id":785, + "parentId":784, + "choices":[ + + ], + "children":[ + { + "name":"schemeName", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"SIRET", + "documentation":null, + "level":3, + "id":786, + "parentId":785, + "choices":[ + + ], + "children":[ + + ] + }, + { + "name":"schemeAgencyName", + "type":"attribute", + "cardinality":null, + "groupOrChoice":null, + "valueOrData":"value", + "dataType":"token", + "value":"INSEE", + "documentation":null, + "level":3, + "id":787, + "parentId":785, + "choices":[ + + ], + "children":[ + + ] + } + ] + } + ] + } + ] + } diff --git a/ui/ui-pastis/src/test/resources/manifests/manifestNOK.xml b/ui/ui-pastis/src/test/resources/manifests/manifestNOK.xml new file mode 100644 index 0000000000000000000000000000000000000000..ee4dec05a6739f7cc86e96ca2ca2aa28e64f68c5 --- /dev/null +++ b/ui/ui-pastis/src/test/resources/manifests/manifestNOK.xml @@ -0,0 +1,1050 @@ +<?xml version='1.0' encoding='UTF-8'?><ArchiveTransfer xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:pr="info:lc/xmlns/premis-v2" xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <Date>2020-06-16T16:04:33.425</Date> + <MessageIdentifier>SIP SEDA UPPA de test</MessageIdentifier> + <ArchivalAgreement>IN-UPPA-0</ArchivalAgreement> + <CodeListVersions></CodeListVersions> + <DataObjectPackage> + <DataObjectGroup id="ID100"> + <BinaryDataObject id="ID101"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID101.pdf</Uri> + <MessageDigest algorithm="SHA-512">e188a8b598dea9064eae4dfe8d3f98ca002feb259ea21ff8b80c7f49d37a2433eb754f0c0d901f29b05b94463fe0553a8d946be90adcebd7008a550157f56f50</MessageDigest> + <Size>210110</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Relevé de conclusions.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID11"> + <BinaryDataObject id="ID12"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID12.pdf</Uri> + <MessageDigest algorithm="SHA-512">7d316982a4cb7416a2ed3d48735f9a0593b33b6f95d04d6f12682e0a5d12085effb2df035862dd70d03b1840edbb8e4bddeeedc68013fdf3068db0489563eed1</MessageDigest> + <Size>205838</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Accusé de réception du rectorat.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID14"> + <BinaryDataObject id="ID15"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID15.pdf</Uri> + <MessageDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Convocation-OJ.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID17"> + <BinaryDataObject id="ID18"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID18.mp3</Uri> + <MessageDigest algorithm="SHA-512">71ff1326d14b7581584e92f7f8b2e195201a214af67fec16854e17f4301a12dbbbc6dc1984bd9bf0dd65736a3b32e59b4d795c331fe766468394f3061950da0e</MessageDigest> + <Size>418442</Size> + <FormatIdentification> + <FormatLitteral>MPEG 1/2 Audio Layer 3</FormatLitteral> + <FormatId>fmt/134</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Enregistrement audio.mp3</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID20"> + <BinaryDataObject id="ID21"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID21.pdf</Uri> + <MessageDigest algorithm="SHA-512">41fcbf12eaec21ba65eeec5214e4376da9890a90e275e6b9dac7d8a9606892cd74ed026d0351ad4e8a2b7d32ce28ea1fd6c1066128e8ac4d86a9709378ffcf08</MessageDigest> + <Size>209935</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Feuille d'émargt- consultatifs.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID23"> + <BinaryDataObject id="ID24"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID24.pdf</Uri> + <MessageDigest algorithm="SHA-512">0718b77db6ac2b1d21729d6d3317aab0c7f70e4f8af3acfbabe1696032b5d89c70ced454369a5156c7094bfd74f83986fa1a0a27fd0538e4d9546a7e8df76442</MessageDigest> + <Size>206456</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Feuille d'émargt-élus.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID26"> + <BinaryDataObject id="ID27"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID27.pdf</Uri> + <MessageDigest algorithm="SHA-512">6cffd624d2d9dba4b66eb8c50d43c5791b8cccdd92675255ba507602323e1cee22d6e467140b2af42ff7d3499413e54547a8b6ad0498d7b2e8e67bda15fc3037</MessageDigest> + <Size>205683</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>PV CA antérieur01-10-2019.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID29"> + <BinaryDataObject id="ID30"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID30.pdf</Uri> + <MessageDigest algorithm="SHA-512">c5e1508e873734406f706a60cf5aec612c50845324655d650b4c16a3de1a2299b2a689028e0967a946369c02076cb82518368abfad628ee1d1217e4cad0fdc7b</MessageDigest> + <Size>203506</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>PV CA antérieur01-11-2019.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID33"> + <BinaryDataObject id="ID34"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID34.pdf</Uri> + <MessageDigest algorithm="SHA-512">1c326663ada662ad1a8ade439e6dde0ff02933e2640373aaec1817c5a6e378d4c57e7ab83e6c99469f0101842e78cfa63082eceaa558eafd1c8e85fd343defce</MessageDigest> + <Size>200492</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe PtOJ1 Infos.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID38"> + <BinaryDataObject id="ID39"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID39.pdf</Uri> + <MessageDigest algorithm="SHA-512">da4139be6e1fd9ac2649fc55a05dea421cba951f5404bb691c2af32085862bfdf0182a1121e77b80e8cf136fd19ed5bed394970fca22de2791e8da27dab25bfb</MessageDigest> + <Size>852122</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ConventionFictif.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID41"> + <BinaryDataObject id="ID42"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID42.pdf</Uri> + <MessageDigest algorithm="SHA-512">f3904a6484e1bbf392b68533b53e74464c6da839b76f7bd074dcee857a53e9724053e093102073450ff2de2b875bf2c8c1bc0478b7585f4f4344ba08c90e7507</MessageDigest> + <Size>1325131</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.7 - Portable Document Format</FormatLitteral> + <FormatId>fmt/276</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>PAPtOJ2PRJ3-PlanClasst SAE.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID44"> + <BinaryDataObject id="ID45"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID45.pdf</Uri> + <MessageDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélibPtOJ2SignPlanActions.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID49"> + <BinaryDataObject id="ID50"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID50.pdf</Uri> + <MessageDigest algorithm="SHA-512">3744809ee7b304f78ed3595473ec4fefc666b3bed2e3512d347c18a7afc83573b97ed3c40a2080d832496b386d61e8a2d3be6c1f9eefbd8ccb43f3029dd48307</MessageDigest> + <Size>198204</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ACI.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID52"> + <BinaryDataObject id="ID53"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID53.pdf</Uri> + <MessageDigest algorithm="SHA-512">c58cf5388cae5dd4bb55ac76a541f5f13683524e1c337836b5c75217d186f70fd351680499f344b82ef5b0c739da398ee8094f387c4bc3a425571a6e597349bf</MessageDigest> + <Size>306906</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 1 ACI.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID55"> + <BinaryDataObject id="ID56"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID56.pdf</Uri> + <MessageDigest algorithm="SHA-512">dc9cefa1e03764eccad4b7b3ba5ef6b4f977d373df9febdafd309793c91b6a71f74ed1e2567f6be0821f34dd8b2e0a266d0377e740ba11ebe6977d21381a9e00</MessageDigest> + <Size>307037</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 2 ACI.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID58"> + <BinaryDataObject id="ID59"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID59.pdf</Uri> + <MessageDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélibSignPtOJ3.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID62"> + <BinaryDataObject id="ID63"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID63.pdf</Uri> + <MessageDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélibSignPtOJ4.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID65"> + <BinaryDataObject id="ID66"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID66.pdf</Uri> + <MessageDigest algorithm="SHA-512">919b5cea234c11df0aaf6cc00eed4eca204a29900250c9474af7118b03d96f29133bdd761bb29ddc3e56ef81fc4e662b5fb72a408693daef2e595adfa42df2ba</MessageDigest> + <Size>210276</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 1.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID68"> + <BinaryDataObject id="ID69"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID69.pdf</Uri> + <MessageDigest algorithm="SHA-512">5358f033013102ac7272240a780cc77f9efba5eda6d943c036aae053ac46b443363bf5c5aae62bdee287bde9980b3fd74197726546fe098e29b0a008457106fa</MessageDigest> + <Size>210437</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 2.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID72"> + <BinaryDataObject id="ID73"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID73.pdf</Uri> + <MessageDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélib1SignPtOJ5.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID76"> + <BinaryDataObject id="ID77"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID77.pdf</Uri> + <MessageDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélib1SignPtOJ6College1.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID79"> + <BinaryDataObject id="ID80"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID80.pdf</Uri> + <MessageDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélib2SignPtOJ6College2.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID82"> + <BinaryDataObject id="ID83"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID83.pdf</Uri> + <MessageDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélib3SignPtOJ6College3.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID85"> + <BinaryDataObject id="ID86"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID86.pdf</Uri> + <MessageDigest algorithm="SHA-512">5f6d6348235a7b736dd2430a7369bae7c9371508e9c5c276cc9fb719ac2de46110dc84cf5f5fc3ee295fc7c0babfc3174e8303ad4c1ce4e7184682e51d6a67f5</MessageDigest> + <Size>207968</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 1 Collège 1.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID88"> + <BinaryDataObject id="ID89"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID89.pdf</Uri> + <MessageDigest algorithm="SHA-512">fcf3976b6ee893a1e5bc5215fe3a1873639e2df7adee675258713181403eccf7763becd0ecb668e29ba72988abf12ab86bb1761ecf22003511559eef5eb33376</MessageDigest> + <Size>207968</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 2 Collège 2.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID91"> + <BinaryDataObject id="ID92"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID92.pdf</Uri> + <MessageDigest algorithm="SHA-512">98308790accb1e0285f4e9e13fb10af8f5075962e99dd482a911ccb398daea72068a81549c044404480e15bb9aa59cda42178867870f6c20a9308cfc048cf738</MessageDigest> + <Size>210121</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 3 Collège 3.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID94"> + <BinaryDataObject id="ID95"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID95.pdf</Uri> + <MessageDigest algorithm="SHA-512">f71e44691d70ae7e3961920374cf62fea43e9bcf7976acf580fe8dedc60e3f8cc4471fbbbcc689307dbc451ec142d902a180dc420e1a6ed2583590626a8cd547</MessageDigest> + <Size>205939</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.7 - Portable Document Format</FormatLitteral> + <FormatId>fmt/276</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Procuration1.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID97"> + <BinaryDataObject id="ID98"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID98.pdf</Uri> + <MessageDigest algorithm="SHA-512">56f84353b4b66caed44da4ef5264a337c4d267426b928257b9f3f2a67e1ec714782cddfdda73b0f87fc048ccd4f883c90711534085fd95767f181090010c6800</MessageDigest> + <Size>198621</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Procuration2.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + + <DescriptiveMetadata> + + <ArchiveUnit id="ID10"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Séance CA du 02-12-2019</Title> + <OriginatingSystemId>ID-SI-Prod</OriginatingSystemId> + <Description xml:lang="fra">Ces documents sont archivés dans le but d'une conservation des décisions du conseil d'administration.</Description> + <CustodialHistory> + <CustodialHistoryItem>Ces archives sont transférées à l'initiative de la Direction des affaires juridiques directement vers le SAE externalisé pour conservation et après validation de l'archiviste de l'UPPA</CustodialHistoryItem> + </CustodialHistory> + <Language>fra</Language> + <Tag>Organe délibérant</Tag> + <Tag>Conseil d'administration</Tag> + <CreatedDate>2019-12-02</CreatedDate> + <!--Date de tenue du CA--> + <StartDate>2019-12-02</StartDate> <!--Date de tenue du CA--> + <EndDate>2019-12-02</EndDate> <!--Date de tenue du CA--> + </Content> + + <ArchiveUnit id="ID96"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Procuration1</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Procuration</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID94</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID99"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Procuration2</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Procuration</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID97</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID16"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Convocation-OJ</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom</FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID15</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID14</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID25"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Feuille d'émargement-élus</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID23</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID22"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Feuille d'émargement-membres consultatifs</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID20</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID19"> + <Management> + <AppraisalRule> + <Rule>APP-00015</Rule> + <StartDate>2019-12-31</StartDate> + <FinalAction>Destroy</FinalAction> + </AppraisalRule> + <AccessRule> + <Rule>ACC-00020</Rule> + <StartDate>2019-12-31</StartDate> + </AccessRule> + </Management> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Enregistrement audio</Title> + <OriginatingSystemId>ID-SI-Prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID17</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID102"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Relevé de conclusions</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID100</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID13"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Accusé de réception du rectorat</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID11</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID32"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé1Infos</Title> + <Tag>Point OJ</Tag> + <Tag>Information;E2S</Tag> + <Tag>Point n°1</Tag> + </Content> + + <ArchiveUnit id="ID31"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">PV CA antérieur01-11-2019</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Status>Voté</Status> + <Tag>PV</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID29</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID28"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">PV CA antérieur01-10-2019</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Status>Voté</Status> + <Tag>PV</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID26</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID35"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe PtOJ1 Infos</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID33</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + </ArchiveUnit> + <ArchiveUnit id="ID36"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé2CVTato</Title> + <Tag>Point OJ</Tag> + <Tag>Convention;Tato</Tag> <!-- A quoi correspond cette valeur ? Doit-elle apparaître ainsi ? --> + <Tag>Point n° 2</Tag> + </Content> + <ArchiveUnit id="ID103"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID46"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélibPtOJ2SignPlanActions</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom</FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID45</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID44</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + <ArchiveUnit id="ID37"> + <Management> + <AppraisalRule> + <Rule>APP-00015</Rule> + <StartDate>2019-12-31</StartDate> + <FinalAction>Destroy</FinalAction> + </AppraisalRule> + </Management> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Convention</Title> + <Tag>Convention</Tag> + <Tag>Tato</Tag> + </Content> + <ArchiveUnit id="ID40"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ConventionFictif</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID38</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID43"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">PAPtOJ2PRJ3-PlanClasst SAE</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID41</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + <ArchiveUnit id="ID47"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé3ACITet</Title> + <Tag>Point OJ</Tag> + <Tag>ACI;Tet</Tag> + <Tag>Point n°3</Tag> + </Content> + <ArchiveUnit id="ID106"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID60"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélibSignPtOJ3</Title> + <OriginatingSystemId>ID-Si-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom</FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID59</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID58</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + <ArchiveUnit id="ID48"> + <Management> + <AppraisalRule> + <Rule>APP-00015</Rule> + <StartDate>2019-12-31</StartDate> + <FinalAction>Destroy</FinalAction> + </AppraisalRule> + </Management> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Accord international</Title> + <Tag>ACI</Tag> + <Tag>Tet</Tag> + </Content> + <ArchiveUnit id="ID51"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ACI</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID49</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID54"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 1 ACI</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID52</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID57"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 2 ACI</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID55</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + <ArchiveUnit id="ID61"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé4SsCVScACI</Title> + <Tag>Point OJ</Tag> + <Tag>Point n°4</Tag> + </Content> + <ArchiveUnit id="ID104"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID64"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélibSignPtOJ4</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom</FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID63</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID62</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID67"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 1</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID65</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID70"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 2</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID68</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + <ArchiveUnit id="ID71"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé5PVanterieur</Title> + <Tag>Point OJ</Tag> + <Tag>Point n°5</Tag> + <Tag>PV</Tag> + </Content> + <ArchiveUnit id="ID105"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID74"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélib1SignPtOJ5</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom</FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID73</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID72</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + <ArchiveUnit id="ID75"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé6StatutsColleges</Title> + <Tag>Point OJ</Tag> + <Tag>Point n°6</Tag> + <Tag>Statut;Collège</Tag> + </Content> + <ArchiveUnit id="ID107"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait Collège 1</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID78"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélib1SignPtOJ6College1</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom</FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID77</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID76</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID87"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 1 Collège 1.pdf</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID85</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + <ArchiveUnit id="ID108"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait Collège 2</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID81"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélib2SignPtOJ6College2</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom</FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID80</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID79</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID90"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 2 Collège 2.pdf</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID88</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + <ArchiveUnit id="ID109"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait Collège 3</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID84"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélib3SignPtOJ6College3.pdf</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom</FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID83</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID82</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID93"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 3 Collège 3.pdf</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID91</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + </DescriptiveMetadata> + <ManagementMetadata> + <OriginatingAgencyIdentifier>19640251500270</OriginatingAgencyIdentifier> + <SubmissionAgencyIdentifier>19640251500270</SubmissionAgencyIdentifier> + <AppraisalRule> + <Rule>APP-00015</Rule> <!-- DUA 15 ans --> + <StartDate>2019-12-31</StartDate> + <FinalAction>Keep</FinalAction> + </AppraisalRule> + <AccessRule> + <Rule>ACC-00001</Rule> <!-- Librement communicable --> + <StartDate>2019-12-31</StartDate> + </AccessRule> + </ManagementMetadata> + </DataObjectPackage> + <ArchivalAgency> + <Identifier schemeName="SIRET" schemeAgencyName="INSEE">19341594000017</Identifier> + </ArchivalAgency> + <TransferringAgency> + <Identifier schemeName="SIRET" schemeAgencyName="INSEE">19640251500270</Identifier> + </TransferringAgency> +</ArchiveTransfer> \ No newline at end of file diff --git a/ui/ui-pastis/src/test/resources/manifests/manifestOK.xml b/ui/ui-pastis/src/test/resources/manifests/manifestOK.xml new file mode 100644 index 0000000000000000000000000000000000000000..bffa6dbc072a981784eb29f640e34cb5fa44327b --- /dev/null +++ b/ui/ui-pastis/src/test/resources/manifests/manifestOK.xml @@ -0,0 +1,1052 @@ +<?xml version="1.0" encoding="UTF-8"?> +<ArchiveTransfer xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:pr='info:lc/xmlns/premis-v2' xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> + <Date>2020-06-16T16:04:33.425</Date> + <MessageIdentifier>SIP SEDA UPPA de test</MessageIdentifier> + <ArchivalAgreement>IN-UPPA-0</ArchivalAgreement> + <CodeListVersions></CodeListVersions> + <DataObjectPackage> + <DataObjectGroup id="ID100"> + <BinaryDataObject id="ID101"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID101.pdf</Uri> + <MessageDigest algorithm="SHA-512">e188a8b598dea9064eae4dfe8d3f98ca002feb259ea21ff8b80c7f49d37a2433eb754f0c0d901f29b05b94463fe0553a8d946be90adcebd7008a550157f56f50</MessageDigest> + <Size>210110</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Relevé de conclusions.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID11"> + <BinaryDataObject id="ID12"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID12.pdf</Uri> + <MessageDigest algorithm="SHA-512">7d316982a4cb7416a2ed3d48735f9a0593b33b6f95d04d6f12682e0a5d12085effb2df035862dd70d03b1840edbb8e4bddeeedc68013fdf3068db0489563eed1</MessageDigest> + <Size>205838</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Accusé de réception du rectorat.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID14"> + <BinaryDataObject id="ID15"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID15.pdf</Uri> + <MessageDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Convocation-OJ.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID17"> + <BinaryDataObject id="ID18"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID18.mp3</Uri> + <MessageDigest algorithm="SHA-512">71ff1326d14b7581584e92f7f8b2e195201a214af67fec16854e17f4301a12dbbbc6dc1984bd9bf0dd65736a3b32e59b4d795c331fe766468394f3061950da0e</MessageDigest> + <Size>418442</Size> + <FormatIdentification> + <FormatLitteral>MPEG 1/2 Audio Layer 3</FormatLitteral> + <FormatId>fmt/134</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Enregistrement audio.mp3</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID20"> + <BinaryDataObject id="ID21"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID21.pdf</Uri> + <MessageDigest algorithm="SHA-512">41fcbf12eaec21ba65eeec5214e4376da9890a90e275e6b9dac7d8a9606892cd74ed026d0351ad4e8a2b7d32ce28ea1fd6c1066128e8ac4d86a9709378ffcf08</MessageDigest> + <Size>209935</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Feuille d'émargt- consultatifs.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID23"> + <BinaryDataObject id="ID24"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID24.pdf</Uri> + <MessageDigest algorithm="SHA-512">0718b77db6ac2b1d21729d6d3317aab0c7f70e4f8af3acfbabe1696032b5d89c70ced454369a5156c7094bfd74f83986fa1a0a27fd0538e4d9546a7e8df76442</MessageDigest> + <Size>206456</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Feuille d'émargt-élus.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID26"> + <BinaryDataObject id="ID27"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID27.pdf</Uri> + <MessageDigest algorithm="SHA-512">6cffd624d2d9dba4b66eb8c50d43c5791b8cccdd92675255ba507602323e1cee22d6e467140b2af42ff7d3499413e54547a8b6ad0498d7b2e8e67bda15fc3037</MessageDigest> + <Size>205683</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>PV CA antérieur01-10-2019.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID29"> + <BinaryDataObject id="ID30"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID30.pdf</Uri> + <MessageDigest algorithm="SHA-512">c5e1508e873734406f706a60cf5aec612c50845324655d650b4c16a3de1a2299b2a689028e0967a946369c02076cb82518368abfad628ee1d1217e4cad0fdc7b</MessageDigest> + <Size>203506</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>PV CA antérieur01-11-2019.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID33"> + <BinaryDataObject id="ID34"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID34.pdf</Uri> + <MessageDigest algorithm="SHA-512">1c326663ada662ad1a8ade439e6dde0ff02933e2640373aaec1817c5a6e378d4c57e7ab83e6c99469f0101842e78cfa63082eceaa558eafd1c8e85fd343defce</MessageDigest> + <Size>200492</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe PtOJ1 Infos.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID38"> + <BinaryDataObject id="ID39"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID39.pdf</Uri> + <MessageDigest algorithm="SHA-512">da4139be6e1fd9ac2649fc55a05dea421cba951f5404bb691c2af32085862bfdf0182a1121e77b80e8cf136fd19ed5bed394970fca22de2791e8da27dab25bfb</MessageDigest> + <Size>852122</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ConventionFictif.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID41"> + <BinaryDataObject id="ID42"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID42.pdf</Uri> + <MessageDigest algorithm="SHA-512">f3904a6484e1bbf392b68533b53e74464c6da839b76f7bd074dcee857a53e9724053e093102073450ff2de2b875bf2c8c1bc0478b7585f4f4344ba08c90e7507</MessageDigest> + <Size>1325131</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.7 - Portable Document Format</FormatLitteral> + <FormatId>fmt/276</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>PAPtOJ2PRJ3-PlanClasst SAE.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID44"> + <BinaryDataObject id="ID45"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID45.pdf</Uri> + <MessageDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélibPtOJ2SignPlanActions.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID49"> + <BinaryDataObject id="ID50"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID50.pdf</Uri> + <MessageDigest algorithm="SHA-512">3744809ee7b304f78ed3595473ec4fefc666b3bed2e3512d347c18a7afc83573b97ed3c40a2080d832496b386d61e8a2d3be6c1f9eefbd8ccb43f3029dd48307</MessageDigest> + <Size>198204</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ACI.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID52"> + <BinaryDataObject id="ID53"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID53.pdf</Uri> + <MessageDigest algorithm="SHA-512">c58cf5388cae5dd4bb55ac76a541f5f13683524e1c337836b5c75217d186f70fd351680499f344b82ef5b0c739da398ee8094f387c4bc3a425571a6e597349bf</MessageDigest> + <Size>306906</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 1 ACI.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID55"> + <BinaryDataObject id="ID56"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID56.pdf</Uri> + <MessageDigest algorithm="SHA-512">dc9cefa1e03764eccad4b7b3ba5ef6b4f977d373df9febdafd309793c91b6a71f74ed1e2567f6be0821f34dd8b2e0a266d0377e740ba11ebe6977d21381a9e00</MessageDigest> + <Size>307037</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 2 ACI.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID58"> + <BinaryDataObject id="ID59"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID59.pdf</Uri> + <MessageDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélibSignPtOJ3.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID62"> + <BinaryDataObject id="ID63"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID63.pdf</Uri> + <MessageDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélibSignPtOJ4.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID65"> + <BinaryDataObject id="ID66"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID66.pdf</Uri> + <MessageDigest algorithm="SHA-512">919b5cea234c11df0aaf6cc00eed4eca204a29900250c9474af7118b03d96f29133bdd761bb29ddc3e56ef81fc4e662b5fb72a408693daef2e595adfa42df2ba</MessageDigest> + <Size>210276</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 1.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID68"> + <BinaryDataObject id="ID69"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID69.pdf</Uri> + <MessageDigest algorithm="SHA-512">5358f033013102ac7272240a780cc77f9efba5eda6d943c036aae053ac46b443363bf5c5aae62bdee287bde9980b3fd74197726546fe098e29b0a008457106fa</MessageDigest> + <Size>210437</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 2.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID72"> + <BinaryDataObject id="ID73"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID73.pdf</Uri> + <MessageDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélib1SignPtOJ5.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID76"> + <BinaryDataObject id="ID77"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID77.pdf</Uri> + <MessageDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélib1SignPtOJ6College1.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID79"> + <BinaryDataObject id="ID80"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID80.pdf</Uri> + <MessageDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélib2SignPtOJ6College2.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID82"> + <BinaryDataObject id="ID83"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID83.pdf</Uri> + <MessageDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</MessageDigest> + <Size>501988</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.6 - Portable Document Format</FormatLitteral> + <FormatId>fmt/20</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>ExtraitDélib3SignPtOJ6College3.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID85"> + <BinaryDataObject id="ID86"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID86.pdf</Uri> + <MessageDigest algorithm="SHA-512">5f6d6348235a7b736dd2430a7369bae7c9371508e9c5c276cc9fb719ac2de46110dc84cf5f5fc3ee295fc7c0babfc3174e8303ad4c1ce4e7184682e51d6a67f5</MessageDigest> + <Size>207968</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 1 Collège 1.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID88"> + <BinaryDataObject id="ID89"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID89.pdf</Uri> + <MessageDigest algorithm="SHA-512">fcf3976b6ee893a1e5bc5215fe3a1873639e2df7adee675258713181403eccf7763becd0ecb668e29ba72988abf12ab86bb1761ecf22003511559eef5eb33376</MessageDigest> + <Size>207968</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 2 Collège 2.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID91"> + <BinaryDataObject id="ID92"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID92.pdf</Uri> + <MessageDigest algorithm="SHA-512">98308790accb1e0285f4e9e13fb10af8f5075962e99dd482a911ccb398daea72068a81549c044404480e15bb9aa59cda42178867870f6c20a9308cfc048cf738</MessageDigest> + <Size>210121</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Pièce annexe 3 Collège 3.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID94"> + <BinaryDataObject id="ID95"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID95.pdf</Uri> + <MessageDigest algorithm="SHA-512">f71e44691d70ae7e3961920374cf62fea43e9bcf7976acf580fe8dedc60e3f8cc4471fbbbcc689307dbc451ec142d902a180dc420e1a6ed2583590626a8cd547</MessageDigest> + <Size>205939</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF 1.7 - Portable Document Format</FormatLitteral> + <FormatId>fmt/276</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Procuration1.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + <DataObjectGroup id="ID97"> + <BinaryDataObject id="ID98"> + <DataObjectVersion>BinaryMaster_1</DataObjectVersion> + <Uri>content/ID98.pdf</Uri> + <MessageDigest algorithm="SHA-512">56f84353b4b66caed44da4ef5264a337c4d267426b928257b9f3f2a67e1ec714782cddfdda73b0f87fc048ccd4f883c90711534085fd95767f181090010c6800</MessageDigest> + <Size>198621</Size> + <FormatIdentification> + <FormatLitteral>Acrobat PDF/A - Portable Document Format</FormatLitteral> + <FormatId>fmt/95</FormatId> + </FormatIdentification> + <FileInfo> + <Filename>Procuration2.pdf</Filename> + </FileInfo> + </BinaryDataObject> + </DataObjectGroup> + + <DescriptiveMetadata> + + <ArchiveUnit id="ID10"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Séance CA du 02-12-2019</Title> + <OriginatingSystemId>ID-SI-Prod</OriginatingSystemId> + <Description xml:lang="fra">Ces documents sont archivés dans le but d'une conservation des décisions du conseil d'administration.</Description> + <CustodialHistory> + <CustodialHistoryItem>Ces archives sont transférées à l'initiative de la Direction des affaires juridiques directement vers le SAE externalisé pour conservation et après validation de l'archiviste de l'UPPA</CustodialHistoryItem> + </CustodialHistory> + <Language>fra</Language> + <Tag>Organe délibérant</Tag> + <Tag>Conseil d'administration</Tag> + <CreatedDate>2019-12-02</CreatedDate> + <!--Date de tenue du CA--> + <StartDate>2019-12-02</StartDate> <!--Date de tenue du CA--> + <EndDate>2019-12-02</EndDate> <!--Date de tenue du CA--> + </Content> + + <ArchiveUnit id="ID96"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Procuration1</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Procuration</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID94</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID99"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Procuration2</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Procuration</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID97</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID16"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Convocation-OJ</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom</FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID15</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID14</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID25"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Feuille d'émargement-élus</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID23</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID22"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Feuille d'émargement-membres consultatifs</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID20</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID19"> + <Management> + <AppraisalRule> + <Rule>APP-00015</Rule> + <StartDate>2019-12-31</StartDate> + <FinalAction>Destroy</FinalAction> + </AppraisalRule> + <AccessRule> + <Rule>ACC-00020</Rule> + <StartDate>2019-12-31</StartDate> + </AccessRule> + </Management> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Enregistrement audio</Title> + <OriginatingSystemId>ID-SI-Prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID17</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID102"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Relevé de conclusions</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID100</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID13"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Accusé de réception du rectorat</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID11</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + <ArchiveUnit id="ID32"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé1Infos</Title> + <Tag>Point OJ</Tag> + <Tag>Information;E2S</Tag> + <Tag>Point n°1</Tag> + </Content> + + <ArchiveUnit id="ID31"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">PV CA antérieur01-11-2019</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Status>Voté</Status> + <Tag>PV</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID29</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID28"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">PV CA antérieur01-10-2019</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Status>Voté</Status> + <Tag>PV</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID26</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID35"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe PtOJ1 Infos</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID33</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + + </ArchiveUnit> + <ArchiveUnit id="ID36"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé2CVTato</Title> + <Tag>Point OJ</Tag> + <Tag>Convention;Tato</Tag> <!-- A quoi correspond cette valeur ? Doit-elle apparaître ainsi ? --> + <Tag>Point n° 2</Tag> + </Content> + <ArchiveUnit id="ID103"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID46"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélibPtOJ2SignPlanActions</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom</FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID45</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID44</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + <ArchiveUnit id="ID37"> + <Management> + <AppraisalRule> + <Rule>APP-00015</Rule> + <StartDate>2019-12-31</StartDate> + <FinalAction>Destroy</FinalAction> + </AppraisalRule> + </Management> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Convention</Title> + <Tag>Convention</Tag> + <Tag>Tato</Tag> + </Content> + <ArchiveUnit id="ID40"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ConventionFictif</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID38</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID43"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">PAPtOJ2PRJ3-PlanClasst SAE</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID41</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + <ArchiveUnit id="ID47"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé3ACITet</Title> + <Tag>Point OJ</Tag> + <Tag>ACI;Tet</Tag> + <Tag>Point n°3</Tag> + </Content> + <ArchiveUnit id="ID106"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID60"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélibSignPtOJ3</Title> + <OriginatingSystemId>ID-Si-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom</FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID59</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID58</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + <ArchiveUnit id="ID48"> + <Management> + <AppraisalRule> + <Rule>APP-00015</Rule> + <StartDate>2019-12-31</StartDate> + <FinalAction>Destroy</FinalAction> + </AppraisalRule> + </Management> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Accord international</Title> + <Tag>ACI</Tag> + <Tag>Tet</Tag> + </Content> + <ArchiveUnit id="ID51"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ACI</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID49</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID54"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 1 ACI</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID52</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID57"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 2 ACI</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID55</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + <ArchiveUnit id="ID61"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé4SsCVScACI</Title> + <Tag>Point OJ</Tag> + <Tag>Point n°4</Tag> + </Content> + <ArchiveUnit id="ID104"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID64"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélibSignPtOJ4</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom</FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID63</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID62</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID67"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 1</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID65</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID70"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 2</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID68</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + <ArchiveUnit id="ID71"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé5PVanterieur</Title> + <Tag>Point OJ</Tag> + <Tag>Point n°5</Tag> + <Tag>PV</Tag> + </Content> + <ArchiveUnit id="ID105"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID74"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélib1SignPtOJ5</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom</FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID73</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID72</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + <ArchiveUnit id="ID75"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">PointsOJLibellé6StatutsColleges</Title> + <Tag>Point OJ</Tag> + <Tag>Point n°6</Tag> + <Tag>Statut;Collège</Tag> + </Content> + <ArchiveUnit id="ID107"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait Collège 1</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID78"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélib1SignPtOJ6College1</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom</FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID77</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID76</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID87"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 1 Collège 1.pdf</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID85</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + <ArchiveUnit id="ID108"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait Collège 2</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID81"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélib2SignPtOJ6College2</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom</FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID80</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID79</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID90"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 2 Collège 2.pdf</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID88</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + <ArchiveUnit id="ID109"> + <Content> + <DescriptionLevel>File</DescriptionLevel> + <Title xml:lang="fra">Extrait Collège 3</Title> + <Tag>Extrait de délibération</Tag> + </Content> + <ArchiveUnit id="ID84"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">ExtraitDélib3SignPtOJ6College3.pdf</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Signature> + <Signer> + <FullName>JEAN-MICHEL BAUDEQUIN</FullName> + <SigningTime>2020-02-24T12:25:58</SigningTime> + <Function>Fonction de la personne ou de l'entité</Function> + </Signer> + <Validator> + <FullName>NOM Prénom</FullName> <!-- Le validateur de la signature est-il une personne ou une institution ? --> + <ValidationTime>2019-12-26T10:00:00</ValidationTime> + <Function>Fonction de l'entité</Function> + </Validator> + <ReferencedObject> + <SignedObjectId>ID83</SignedObjectId> + <SignedObjectDigest algorithm="SHA-512">6e7a10c3b8f4d37d9e23dc63adbdd5f71ab74ae31df16d0552527f58e8000272640e521a19a3c89cf9509bc8fefa1a37b8bf52ba4e20df733cb2a88315f8aef7</SignedObjectDigest> + </ReferencedObject> + </Signature> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID82</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + <ArchiveUnit id="ID93"> + <Content> + <DescriptionLevel>Item</DescriptionLevel> + <Title xml:lang="fra">Pièce annexe 3 Collège 3.pdf</Title> + <OriginatingSystemId>ID-SI-prod</OriginatingSystemId> + <Tag>Pièce annexe</Tag> + </Content> + <DataObjectReference> + <DataObjectGroupReferenceId>ID91</DataObjectGroupReferenceId> + </DataObjectReference> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + </ArchiveUnit> + + </DescriptiveMetadata> + <ManagementMetadata> + <ArchivalProfile>PR-000001</ArchivalProfile> + <OriginatingAgencyIdentifier>19640251500270</OriginatingAgencyIdentifier> + <SubmissionAgencyIdentifier>19640251500270</SubmissionAgencyIdentifier> + <AppraisalRule> + <Rule>APP-00015</Rule> <!-- DUA 15 ans --> + <StartDate>2019-12-31</StartDate> + <FinalAction>Keep</FinalAction> + </AppraisalRule> + <AccessRule> + <Rule>ACC-00001</Rule> <!-- Librement communicable --> + <StartDate>2019-12-31</StartDate> + </AccessRule> + </ManagementMetadata> + </DataObjectPackage> + <ArchivalAgency> + <Identifier schemeName="SIRET" schemeAgencyName="INSEE">19341594000017</Identifier> + </ArchivalAgency> + <TransferringAgency> + <Identifier schemeName="SIRET" schemeAgencyName="INSEE">19640251500270</Identifier> + </TransferringAgency> +</ArchiveTransfer> \ No newline at end of file diff --git a/ui/ui-pastis/src/test/resources/manifests/rngProfile.rng b/ui/ui-pastis/src/test/resources/manifests/rngProfile.rng new file mode 100644 index 0000000000000000000000000000000000000000..7a9185e6e67a25578d69d084d8d2f2844fa5fb5a --- /dev/null +++ b/ui/ui-pastis/src/test/resources/manifests/rngProfile.rng @@ -0,0 +1,846 @@ +<?xml version="1.0" encoding="UTF-8" standalone="yes"?> +<rng:grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" + ns="fr:gouv:culture:archivesdefrance:seda:v2.1" + xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" + xmlns:xsd="http://www.w3.org/2001/XMLSchema" + xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" + xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1" + xmlns:rng="http://relaxng.org/ns/structure/1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink"> + <rng:start> + <rng:element name="ArchiveTransfer"> + <rng:element name="Date"> + <rng:data type="dateTime"/> + </rng:element> + <rng:element name="MessageIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ArchivalAgreement"> + <rng:value type="token">IN-UPPA-0</rng:value> + </rng:element> + <rng:element name="CodeListVersions"> + <rng:data type="token"/> + </rng:element> + <rng:element name="DataObjectPackage"> + <rng:oneOrMore> + <rng:element name="DataObjectGroup"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:zeroOrMore> + <rng:element name="BinaryDataObject"> + <rng:element name="DataObjectVersion"> + <xsd:annotation> + <xsd:documentation>BinaryMaster par défaut</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + <rng:element name="MessageDigest"> + <rng:data type="base64Binary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + <rng:element name="Size"> + <rng:data type="token"/> + </rng:element> + <rng:element name="FormatIdentification"> + <rng:optional> + <rng:element name="FormatLitteral"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="FormatId"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="FileInfo"> + <rng:element name="Filename"> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:element> + </rng:zeroOrMore> + </rng:element> + </rng:oneOrMore> + <rng:element name="DescriptiveMetadata"> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Séance du conseil d'administration</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">File</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="string"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Description"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:value type="token">Ces documents sont archivés dans le but d'une conservation des décisions du conseil d'administration.</rng:value> + </rng:element> + <rng:optional> + <rng:element name="CustodialHistory"> + <rng:element name="CustodialHistoryItem"> + <rng:value type="token">Ces archives sont transférées à l'initiative de la Direction des affaires juridiques directement vers le SAE externalisé pour conservation et après validation de l'archiviste de l'UPPA</rng:value> + </rng:element> + </rng:element> + </rng:optional> + <rng:element name="Language"> + <rng:value type="token">fra</rng:value> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Organe délibérant</rng:value> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Conseil d'administration</rng:value> + </rng:element> + <rng:element name="CreatedDate"> + <xsd:annotation> + <xsd:documentation>Date de tenue du CA</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <xsd:annotation> + <xsd:documentation>Date de tenue du CA</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="EndDate"> + <xsd:annotation> + <xsd:documentation>Date de tenue du CA</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Procurations</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="string"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Procuration</rng:value> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Convocation-OJ</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + <rng:value type="string">Convocation-OJ</rng:value> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Signature"> + <rng:oneOrMore> + <rng:element name="Signer"> + <rng:element name="FullName"> + <rng:data type="string"/> + </rng:element> + <rng:element name="SigningTime"> + <rng:data type="dateTime"/> + </rng:element> + <rng:optional> + <rng:element name="Function"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:oneOrMore> + <rng:element name="Validator"> + <rng:element name="FullName"> + <rng:data type="string"/> + </rng:element> + <rng:element name="ValidationTime"> + <rng:data type="dateTime"/> + </rng:element> + <rng:optional> + <rng:element name="Function"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="ReferencedObject"> + <rng:element name="SignedObjectId"> + <rng:data type="token"/> + </rng:element> + <rng:element name="SignedObjectDigest"> + <rng:data type="token"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Feuille d'émargement-élus</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + <rng:value type="string">Feuille d'émargement-élus</rng:value> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Feuille d'émargement-membres consultatifs</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + <rng:value type="string">Feuille d'émargement-membres consultatifs</rng:value> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Enregistrement audio</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="Management"> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <xsd:annotation> + <xsd:documentation>DUA 15 ans</xsd:documentation> + </xsd:annotation> + <rng:value type="token">APP-00015</rng:value> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="token"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:value type="token">Destroy</rng:value> + </rng:element> + </rng:element> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:value type="token">ACC-00020</rng:value> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:optional> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + <rng:value type="string">Enregistrement audio</rng:value> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:optional> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Relevé de conclusions</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + <rng:value type="string">Relevé de conclusions</rng:value> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Accusé de réception du rectorat</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + <rng:value type="string">Accusé de réception du rectorat</rng:value> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:oneOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Point OJ</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">File</rng:value> + </rng:element> + <rng:element name="Title"> + <xsd:annotation> + <xsd:documentation>Intitulé du point à l'OJ</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Point OJ</rng:value> + </rng:element> + <rng:element name="Tag"> + <xsd:annotation> + <xsd:documentation>Point n°</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:zeroOrMore> + <rng:element name="Tag"> + <xsd:annotation> + <xsd:documentation>Mot-clés ordre du jour</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>PV CA antérieur</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Status"> + <xsd:annotation> + <xsd:documentation>"Voté" ou "Non voté"</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">PV</rng:value> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Extrait</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">File</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Extrait de délibération</rng:value> + </rng:element> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Extrait</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Signature"> + <rng:oneOrMore> + <rng:element name="Signer"> + <rng:element name="FullName"> + <rng:data type="string"/> + </rng:element> + <rng:element name="SigningTime"> + <rng:data type="dateTime"/> + </rng:element> + <rng:optional> + <rng:element name="Function"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:oneOrMore> + <rng:element name="Validator"> + <rng:element name="FullName"> + <rng:data type="string"/> + </rng:element> + <rng:element name="ValidationTime"> + <rng:data type="dateTime"/> + </rng:element> + <rng:optional> + <rng:element name="Function"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="ReferencedObject"> + <rng:element name="SignedObjectId"> + <rng:data type="token"/> + </rng:element> + <rng:element name="SignedObjectDigest"> + <rng:data type="token"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Pièces annexes</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Pièce annexe</rng:value> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:zeroOrMore> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Pièces annexes</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Pièce annexe</rng:value> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Convention ou Accord international</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Management"> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:value type="token">APP-00015</rng:value> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="token"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:value type="token">Destroy</rng:value> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">File</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:optional> + <rng:element name="Tag"> + <rng:value type="token">ACI</rng:value> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Tag"> + <rng:value type="token">Convention</rng:value> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Convention ou ACI</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <xsd:annotation> + <xsd:documentation>Pièces annexes</xsd:documentation> + </xsd:annotation> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:value type="token">Item</rng:value> + </rng:element> + <rng:element name="Title"> + <rng:data type="token"/> + <rng:attribute name="xml:lang"> + <rng:value type="language">fra</rng:value> + </rng:attribute> + </rng:element> + <rng:element name="OriginatingSystemId"> + <xsd:annotation> + <xsd:documentation>ID-SI-prod</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="Tag"> + <rng:value type="token">Pièce annexe</rng:value> + </rng:element> + </rng:element> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:zeroOrMore> + </rng:element> + </rng:zeroOrMore> + </rng:element> + </rng:oneOrMore> + </rng:element> + </rng:element> + <rng:element name="ManagementMetadata"> + <rng:element name="ArchivalProfile"> + <rng:data type="token"/> + </rng:element> + <rng:element name="OriginatingAgencyIdentifier"> + <rng:value type="token">19640251500270</rng:value> + </rng:element> + <rng:element name="SubmissionAgencyIdentifier"> + <rng:value type="token">19640251500270</rng:value> + </rng:element> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <xsd:annotation> + <xsd:documentation>DUA 15 ans</xsd:documentation> + </xsd:annotation> + <rng:value type="token">APP-00015</rng:value> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:value type="token">Keep</rng:value> + </rng:element> + </rng:element> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <xsd:annotation> + <xsd:documentation>Librement communicable</xsd:documentation> + </xsd:annotation> + <rng:value type="token">ACC-00001</rng:value> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:element> + </rng:element> + <rng:element name="ArchivalAgency"> + <rng:element name="Identifier"> + <rng:attribute name="schemeName"> + <rng:value type="token">SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value type="token">INSEE</rng:value> + </rng:attribute> + <rng:value type="token">19341594000017</rng:value> + </rng:element> + </rng:element> + <rng:element name="TransferringAgency"> + <rng:element name="Identifier"> + <rng:attribute name="schemeName"> + <rng:value type="token">SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value type="token">INSEE</rng:value> + </rng:attribute> + <rng:value type="token">19640251500270</rng:value> + </rng:element> + </rng:element> + </rng:element> + </rng:start> +</rng:grammar> diff --git a/ui/ui-pastis/src/test/resources/profiles/profile_nok.rng b/ui/ui-pastis/src/test/resources/profiles/profile_nok.rng new file mode 100644 index 0000000000000000000000000000000000000000..031dee8565c3c071600ec980d4cae0f70b84bb9e --- /dev/null +++ b/ui/ui-pastis/src/test/resources/profiles/profile_nok.rng @@ -0,0 +1,861 @@ +<?xml version='1.0' encoding='utf-8' standalone='no'?> +<rng:grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" +ns="fr:gouv:culture:archivesdefrance:seda:v2.1" xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" +xmlns:xsd="http://www.w3.org/2001/XMLSchema" +xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" +xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1" +xmlns:rng="http://relaxng.org/ns/structure/1.0" +xmlns:xs="http://www.w3.org/2001/XMLSchema" +xmlns:xlink="http://www.w3.org/1999/xlink"> + <!-- Profil RNG avec 1 objet numérique déclaré (en O-N), et 1 AU racine (en O-n) qui déclare un AU fille (en O-N)--> + <rng:start> + <rng:element name="ArchiveTransfer"> + <rng:optional> + <rng:element name="Comment"> + </rng:element> + </rng:optional> + <rng:element name="Date"> + <rng:data type="dateTime"/> + </rng:element> + <rng:element name="MessageIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ArchivalAgreement"> + <xsd:annotation> + <xsd:documentation>Déclaration du contrat d'entrée</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="CodeListVersions"> + <rng:data type="token"/> + </rng:element> + <rng:element name="DataObjectPackage"> + <rng:attribute name="xml:id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="DataObjectGroup"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:zeroOrMore> + <rng:element name="BinaryDataObject"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="DataObjectGroupId"> + <xsd:annotation> + <xsd:documentation>Sert à lier un fichier à l'ArchiveUnit auquel il correspond. + Exemple: ID7</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:element name="DataObjectVersion"> + <rng:data type="token"/> + <xsd:annotation> + <xsd:documentation>BinaryMaster par défaut</xsd:documentation> + </xsd:annotation> + </rng:element> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + <rng:element name="MessageDigest"> + <rng:data type="base64Binary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + <rng:element name="Size"> + <rng:data type="positiveInteger"/> + </rng:element> + <rng:element name="FormatIdentification"> + <rng:element name="FormatLitteral"> + <rng:data type="string"/> + </rng:element> + <rng:optional> + <rng:element name="MimeType"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="FormatId"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Encoding"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="FileInfo"> + <rng:element name="Filename"> + <xsd:annotation> + <xsd:documentation>Nom du fichier. Exemple: + 22100005200011_20091118_144251_1.pdf</xsd:documentation> + </xsd:annotation> + <rng:data type="string"/> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="Metadata"> + <rng:optional> + <rng:element name="Video"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Audio"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="DescriptiveMetadata"> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="ArchiveUnitProfile"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Management"> + <rng:optional> + <rng:element name="UpdateOperation"> + <rng:element name="ArchiveUnitIdentifierKey"> + <rng:element name="MetadataName"> + <rng:data type="token"/> + </rng:element> + <rng:element name="MetadataValue"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + <rng:oneOrMore> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="FilePlanPosition"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="OriginatingAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="TransferringAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Description"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="CustodialHistory"> + <rng:oneOrMore> + <rng:element name="CustodialHistoryItem"> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Type"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:oneOrMore> + <rng:element name="Language"> + <xsd:annotation> + <xsd:documentation>Langue du contenu du sous-ensemble de l'archive + exprimée au format ISO 639-3</xsd:documentation> + </xsd:annotation> + <rng:data type="language"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="DescriptionLanguage"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="Keyword"> + <rng:element name="KeywordContent"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="OriginatingAgency"> + <xsd:annotation> + <xsd:documentation>Service producteur</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="SubmissionAgency"> + <xsd:annotation> + <xsd:documentation>Service versant</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RelatedObjectReference"> + <rng:zeroOrMore> + <rng:element name="IsVersionOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="Replaces"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="IsPartOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="References"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="StartDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus ancien dans + l'ArchiveUnit</xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + <rng:element name="EndDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus récent dans + l'ArchiveUnit.</xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="ArchiveUnitProfile"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Management"> + <rng:optional> + <rng:element name="UpdateOperation"> + <rng:element name="ArchiveUnitIdentifierKey"> + <rng:element name="MetadataName"> + <rng:data type="token"/> + </rng:element> + <rng:element name="MetadataValue"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + <rng:oneOrMore> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="FilePlanPosition"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="OriginatingAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="TransferringAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Description"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="CustodialHistory"> + <rng:oneOrMore> + <rng:element name="CustodialHistoryItem"> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Type"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:oneOrMore> + <rng:element name="Language"> + <xsd:annotation> + <xsd:documentation>Langue du contenu du sous-ensemble de l'archive + exprimée au format ISO 639-3</xsd:documentation> + </xsd:annotation> + <rng:data type="language"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="DescriptionLanguage"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="Keyword"> + <rng:element name="KeywordContent"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="OriginatingAgency"> + <xsd:annotation> + <xsd:documentation>Service producteur</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="SubmissionAgency"> + <xsd:annotation> + <xsd:documentation>Service versant</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RelatedObjectReference"> + <rng:zeroOrMore> + <rng:element name="IsVersionOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="Replaces"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="IsPartOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="References"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="StartDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus ancien dans + l'ArchiveUnit</xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + <rng:element name="EndDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus récent dans + l'ArchiveUnit.</xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="ManagementMetadata"> + <rng:element name="ArchivalProfile"> + <rng:data type="token"/> + </rng:element> + <rng:element name="OriginatingAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="SubmissionAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + <rng:element name="ArchivalAgency"> + <rng:element name="Identifier"> + <rng:value>19341594000017</rng:value> + <rng:attribute name="schemeName"> + <rng:value>SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value>INSEE</rng:value> + </rng:attribute> + </rng:element> + </rng:element> + <rng:element name="TransferringAgency"> + <xsd:annotation> + <xsd:documentation> Doit permettre d'identifier l'opérateur technique réalisant le + versement de manière unique et non équivoque</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="token"/> + <rng:attribute name="schemeName"> + <rng:value>SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value>INSEE</rng:value> + </rng:attribute> + </rng:element> + </rng:element> + </rng:element> + </rng:start> +</rng:grammar> diff --git a/ui/ui-pastis/src/test/resources/profiles/profile_ok.rng b/ui/ui-pastis/src/test/resources/profiles/profile_ok.rng new file mode 100644 index 0000000000000000000000000000000000000000..494c6b9ae90b4ce5c9fcddec6f55acab585f28bd --- /dev/null +++ b/ui/ui-pastis/src/test/resources/profiles/profile_ok.rng @@ -0,0 +1,870 @@ +<?xml version='1.0' encoding='utf-8' standalone='no'?> +<rng:grammar datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes" +ns="fr:gouv:culture:archivesdefrance:seda:v2.1" xmlns="fr:gouv:culture:archivesdefrance:seda:v2.1" +xmlns:xsd="http://www.w3.org/2001/XMLSchema" +xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" +xmlns:seda="fr:gouv:culture:archivesdefrance:seda:v2.1" +xmlns:rng="http://relaxng.org/ns/structure/1.0" +xmlns:xs="http://www.w3.org/2001/XMLSchema" +xmlns:xlink="http://www.w3.org/1999/xlink"> + <!-- Profil RNG avec 1 objet numérique déclaré (en O-N), et 1 AU racine (en O-n) qui déclare un AU fille (en O-N)--> + <rng:start> + <rng:element name="ArchiveTransfer"> + <rng:optional> + <rng:attribute name="xml:id"> + <rng:data type="ID"/> + </rng:attribute> + </rng:optional> + <rng:optional> + <rng:element name="Comment"> + <xsd:annotation> + <xsd:documentation>Commentaire sur le versement</xsd:documentation> + </xsd:annotation> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:element name="Date"> + <rng:data type="dateTime"/> + </rng:element> + <rng:element name="MessageIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="ArchivalAgreement"> + <xsd:annotation> + <xsd:documentation>Déclaration du contrat d'entrée</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + <rng:element name="CodeListVersions"> + <rng:data type="token"/> + </rng:element> + <rng:element name="DataObjectPackage"> + <rng:attribute name="xml:id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:element name="DataObjectGroup"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:zeroOrMore> + <rng:element name="BinaryDataObject"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="DataObjectGroupId"> + <xsd:annotation> + <xsd:documentation>Sert à lier un fichier à l'ArchiveUnit auquel il correspond. + Exemple: ID7</xsd:documentation> + </xsd:annotation> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:element name="DataObjectVersion"> + <rng:data type="token"/> + <xsd:annotation> + <xsd:documentation>BinaryMaster par défaut</xsd:documentation> + </xsd:annotation> + </rng:element> + <rng:element name="Uri"> + <rng:data type="anyURI"/> + </rng:element> + <rng:element name="MessageDigest"> + <rng:data type="base64Binary"/> + <rng:attribute name="algorithm"> + <rng:data type="token"/> + </rng:attribute> + </rng:element> + <rng:element name="Size"> + <rng:data type="positiveInteger"/> + </rng:element> + <rng:element name="FormatIdentification"> + <rng:element name="FormatLitteral"> + <rng:data type="string"/> + </rng:element> + <rng:optional> + <rng:element name="MimeType"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="FormatId"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Encoding"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + <rng:element name="FileInfo"> + <rng:element name="Filename"> + <xsd:annotation> + <xsd:documentation>Nom du fichier. Exemple: + 22100005200011_20091118_144251_1.pdf</xsd:documentation> + </xsd:annotation> + <rng:data type="string"/> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="Metadata"> + <rng:optional> + <rng:element name="Video"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Audio"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="DescriptiveMetadata"> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="ArchiveUnitProfile"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Management"> + <rng:optional> + <rng:element name="UpdateOperation"> + <rng:element name="ArchiveUnitIdentifierKey"> + <rng:element name="MetadataName"> + <rng:data type="token"/> + </rng:element> + <rng:element name="MetadataValue"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + <rng:oneOrMore> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="FilePlanPosition"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="OriginatingAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="TransferringAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Description"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="CustodialHistory"> + <rng:oneOrMore> + <rng:element name="CustodialHistoryItem"> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Type"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:oneOrMore> + <rng:element name="Language"> + <xsd:annotation> + <xsd:documentation>Langue du contenu du sous-ensemble de l'archive + exprimée au format ISO 639-3</xsd:documentation> + </xsd:annotation> + <rng:data type="language"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="DescriptionLanguage"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="Keyword"> + <rng:element name="KeywordContent"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="OriginatingAgency"> + <xsd:annotation> + <xsd:documentation>Service producteur</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="SubmissionAgency"> + <xsd:annotation> + <xsd:documentation>Service versant</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RelatedObjectReference"> + <rng:zeroOrMore> + <rng:element name="IsVersionOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="Replaces"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="IsPartOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="References"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="StartDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus ancien dans + l'ArchiveUnit</xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + <rng:element name="EndDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus récent dans + l'ArchiveUnit.</xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + </rng:element> + <rng:zeroOrMore> + <rng:element name="ArchiveUnit"> + <rng:attribute name="id"> + <rng:data type="ID"/> + </rng:attribute> + <rng:optional> + <rng:element name="ArchiveUnitProfile"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Management"> + <rng:optional> + <rng:element name="UpdateOperation"> + <rng:element name="ArchiveUnitIdentifierKey"> + <rng:element name="MetadataName"> + <rng:data type="token"/> + </rng:element> + <rng:element name="MetadataValue"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="Content"> + <rng:element name="DescriptionLevel"> + <rng:data type="token"/> + </rng:element> + <rng:oneOrMore> + <rng:element name="Title"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="FilePlanPosition"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="OriginatingAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="TransferringAgencyArchiveUnitIdentifier"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Description"> + <rng:attribute name="xml:lang"> + <rng:data type="language"/> + </rng:attribute> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="CustodialHistory"> + <rng:oneOrMore> + <rng:element name="CustodialHistoryItem"> + <rng:data type="string"/> + </rng:element> + </rng:oneOrMore> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="Type"> + <rng:data type="string"/> + </rng:element> + </rng:optional> + <rng:oneOrMore> + <rng:element name="Language"> + <xsd:annotation> + <xsd:documentation>Langue du contenu du sous-ensemble de l'archive + exprimée au format ISO 639-3</xsd:documentation> + </xsd:annotation> + <rng:data type="language"/> + </rng:element> + </rng:oneOrMore> + <rng:optional> + <rng:element name="DescriptionLanguage"> + <rng:data type="language"/> + </rng:element> + </rng:optional> + <rng:zeroOrMore> + <rng:element name="Tag"> + <rng:data type="token"/> + </rng:element> + </rng:zeroOrMore> + <rng:zeroOrMore> + <rng:element name="Keyword"> + <rng:element name="KeywordContent"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="OriginatingAgency"> + <xsd:annotation> + <xsd:documentation>Service producteur</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="SubmissionAgency"> + <xsd:annotation> + <xsd:documentation>Service versant</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="string"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RelatedObjectReference"> + <rng:zeroOrMore> + <rng:element name="IsVersionOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="Replaces"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="IsPartOf"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="References"> + <rng:optional> + <rng:element name="ArchiveUnitRefId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:optional> + <rng:element name="DataObjectReferenceId" a:defaultValue="id76745"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryArchiveUnitPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="RepositoryObjectPID"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="ExternalReference"> + <rng:data type="token"/> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + </rng:element> + </rng:optional> + <rng:element name="StartDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus ancien dans + l'ArchiveUnit</xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + <rng:element name="EndDate"> + <xsd:annotation> + <xsd:documentation>Date du document le plus récent dans + l'ArchiveUnit.</xsd:documentation> + </xsd:annotation> + <rng:data type="date"/> + </rng:element> + </rng:element> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + <rng:optional> + <rng:element name="DataObjectReference"> + <rng:element name="DataObjectGroupReferenceId"> + <rng:data type="NCName"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:zeroOrMore> + </rng:element> + <rng:element name="ManagementMetadata"> + <rng:element name="ArchivalProfile"> + <rng:data type="token"/> + </rng:element> + <rng:element name="OriginatingAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:element name="SubmissionAgencyIdentifier"> + <rng:data type="token"/> + </rng:element> + <rng:optional> + <rng:element name="AppraisalRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + <rng:element name="FinalAction"> + <rng:data type="token"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="AccessRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + <rng:optional> + <rng:element name="DisseminationRule"> + <rng:element name="Rule"> + <rng:data type="token"/> + </rng:element> + <rng:element name="StartDate"> + <rng:data type="date"/> + </rng:element> + </rng:element> + </rng:optional> + </rng:element> + </rng:element> + <rng:element name="ArchivalAgency"> + <rng:element name="Identifier"> + <rng:value>19341594000017</rng:value> + <rng:attribute name="schemeName"> + <rng:value>SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value>INSEE</rng:value> + </rng:attribute> + </rng:element> + </rng:element> + <rng:element name="TransferringAgency"> + <xsd:annotation> + <xsd:documentation> Doit permettre d'identifier l'opérateur technique réalisant le + versement de manière unique et non équivoque</xsd:documentation> + </xsd:annotation> + <rng:element name="Identifier"> + <rng:data type="token"/> + <rng:attribute name="schemeName"> + <rng:value>SIRET</rng:value> + </rng:attribute> + <rng:attribute name="schemeAgencyName"> + <rng:value>INSEE</rng:value> + </rng:attribute> + </rng:element> + </rng:element> + </rng:element> + </rng:start> +</rng:grammar>